嵌入式开发中格式化usb设备为ext3/4文件格式及文件系统掉电修复
来源:互联网 发布:ubuntu 14.04 32位iso 编辑:程序博客网 时间:2024/06/07 17:50
问题一:开发板中格式化文件系统为ext3/4
1. 首先移植e2fsprogs1.41.4源码,new一个文件夹build或者release,在该目录下进行交叉编译。
2.在misc目录下会生成可执行文件blkid, fsck, mke2fs,tune2fs等,编译image时将需要用到的可执行文件cp到开发板根文件系统的/sbin或者usr/sbin等目录下。
完成上面两步之后,启动板子,在shell控制台输入mke2fs会有使用说明,
mke2fs /dev/sda1 会将usb设备格式化为ext2文件系统格式;
mke2fs -j /dev/sda1 会将usb设备格式化为ext3文件系统格式,或者mke2fs -T ext4 -j /dev/sda1 格式化为ext4文件系统,带日志功能,但是会出现以下失败打印信息:
ext2fs_check_if_mount: No such file or directory while determining whether /dev/ide/host0/bus0/target0/lun0/part1 is mounted.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
4889248 inodes, 9767512 blocks
488375 blocks (5.00%) reserved for the super user
First data block=0
299 block groups
32768 blocks per group, 32768 fragments per group
16352 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Writing inode tables: done
Creating journal (32768 blocks): mkfs.ext3: No such file or directory
while trying to create journal
3.上述格式化为ext3失败的解决方法:
一般是在根文件系统/etc目录下加入空文件mtab和mke2fs.conf(该文件内容可直接拷贝fedora系统)就可以解决上述问题。
附:在e2fsprogs中只能看到mke2fs命令,而通常在fedora或ubuntu中看到的是mkfs.ext3, mkfs.ext4, mkfs.vfat之类的命令,其实很多是通过ln命令做了一个对mke2fs或其他工具的链接。
问题二:linux下文件系统掉电损坏修复
1.linux开发板中对文件系统(fat格式)进行写入操作时,开发板突然掉电导致文件系统损坏,且自动变为read-only,网上有很多的针对各类文件系统的修复工具,拿到windows上进行修复比较容易,但是如果只能在linux系统上进行修复,在fedora上试过很常见的两种工具,dosfsck(dosfstools)和testdisk,效果都不理想,大批损坏的文件依然存在,无法访问,也不能删除。
2.将文件系统格式化为ntfs,在linux下也不能修复,大批损坏文件访问时都会出现乱码。
3.将文件系统格式化为ext3/4格式,不需要手动修复,重新mount时就会根据日志功能自动修复,而且效果比较好,基本所有的文件都能正常访问或删除,个别文件无法访问(可能该文件确实无法修复)。
4.通过命令mount -t ext3 -o data=journal /dev/sda1 /mnt/media/sda1/来实现第3步,必须加上 -o data=journal 设置日志模式为提供完整数据和元数据日志记录方式。
- 嵌入式开发中格式化usb设备为ext3/4文件格式及文件系统掉电修复
- linux中ext3/4文件系统探索
- 嵌入式设备FLASH及常见文件系统介绍
- ext3文件系统超级块损坏修复
- ext3文件系统超级块损坏修复
- 嵌入式linux文件系统修复
- 在嵌入式开发平台中实现USB设备的自动挂载
- Arm嵌入式开发之USB主机与设备驱动
- Arm嵌入式开发之USB主机与设备驱动
- 嵌入式linux FAT文件系统格式化
- 硬盘分区的ext3文件系统被格式化,剩余空间不变?
- 如何在嵌入式设备中使用cramfs文件系统
- 制作嵌入式文件系统 mkfs.ext2 mkfs.ext3 mkfs.ext4
- Linux ext2, ext3, ext4 文件系统解读[4]
- linux开发之嵌入式根文件系统的定制及移植
- 将ext3转换为ext2 && 查询分区文件系统类型 [转]
- WDF开发USB设备驱动教程(4)
- USB设备开发
- 冒烟测试
- django1.6 admin site设置(一)
- SIPp简单使用手册
- 题目1506:求1+2+3+...+n -九度
- 编写代码时出现无法保存,GBK问题
- 嵌入式开发中格式化usb设备为ext3/4文件格式及文件系统掉电修复
- sqlldr导入
- 软件工程研究生在读一年总结
- 免费/1元钱MySQL数据库
- 强制日志归档
- Android 多线程网络下载图片
- [LINUX常用命令]查看自己哪个目录占用空间多
- 另类看设计模式[来自酷壳网]
- POJ 3083.Children of the Candy Corn