ext3 文件系统错误
来源:互联网 发布:淘宝网店卖商品收费吗 编辑:程序博客网 时间:2024/06/05 05:18
悲剧发生了, 一个硬盘上的两个分区同时坏掉了, mount挂载不上。 估计是我每次都不关机,直接待机,待机后电源又经常忽然拔掉。最后整个分区的superblock都出现问题了。这些麻烦了,一年半的资料和工程都要丢了。赶紧google一些怎么修复的。
1. google search
打开/var/log/messages 找到和磁盘 /dev/sdb1 /dev/sdb2 有关的log.
Jul 26 09:35:50 gwj-laptop kernel: [13722.459996] sd 0:0:1:0: [sdb] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK Jul 26 09:35:50 gwj-laptop kernel: [13722.460018] sd 0:0:1:0: [sdb] CDB: Read(10): 28 00 00 e8 5f ef 00 00 08 00 Jul 26 09:35:50 gwj-laptop kernel: [13722.460166] sd 0:0:1:0: [sdb] Unhandled error code Jul 26 09:35:50 gwj-laptop kernel: [13722.460169] sd 0:0:1:0: [sdb] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK Jul 26 09:35:50 gwj-laptop kernel: [13722.460174] sd 0:0:1:0: [sdb] CDB: Write(10): 2a 00 00 00 00 3f 00 00 08 00
原理4天以前磁盘就已经有问题了,还不知道那。 CDB
Jul 29 14:22:48 gwj-laptop pulseaudio[1908]: ratelimit.c: 161 events suppressed Jul 29 14:22:51 gwj-laptop kernel: [81109.810812] attempt to access beyond end of device Jul 29 14:22:51 gwj-laptop kernel: [81109.810821] sdb1: rw=0, want=174423728, limit=72292437 Jul 29 14:22:51 gwj-laptop kernel: [81109.811115] attempt to access beyond end of device Jul 29 14:22:51 gwj-laptop kernel: [81109.811120] sdb1: rw=0, want=174423576, limit=72292437 Jul 29 14:26:15 gwj-laptop kernel: [81313.687949] attempt to access beyond end of device Jul 29 14:26:15 gwj-laptop kernel: [81313.687959] sdb1: rw=0, want=174423576, limit=7229243这里29号,磁盘superblock已经坏掉了。
2. 初步修复
fsck.ext3 /de/sdb1 提示文件系统无法识别出来, 直接退出。
3. 找到一篇类似问题的博客,讲的挺详细的,动手用 备份Superblock 来修复磁盘。
dumpe2fs 仍然提示找不到备份superblock的位置,看来坏的比较彻底,不过如果备份可以找得到开机的时候运行磁盘修复工具就能过了。
想了很久,觉得应该指定一个默认的备份位置或许可以试试。
以下是从 参考[1] 复制出来可以参考的命令:
# dumpe2fs /dev/sdb1 | grep -i superblock# fsck.ext3 -b 32768 /dev/mapper/VolGroup_ID_17253-LogVol3# fsck.ext3 -b 98304 /dev/VolGroup_ID_17253/LogVol3# fsck.ext3 -y -b 98304 /dev/VolGroup_ID_17253/LogVol3fsck.ext3 -B 1024 -b 32768 fsck.ext3 -b 98304 /dev/VolGr
错误提示:
dumpe2fs 1.41.11 (14-Mar-2010)dumpe2fs: Filesystem revision too high while trying to open /dev/sdb2Couldn't find valid filesystem superblock.
sdb2 已经无法识别出fs信息了, 连文件系统分区类型都找不到了。
dump一个正确的分区信息
sudo dumpe2fs /dev/sda1 | grep Backdumpe2fs 1.41.11 (14-Mar-2010) Backup superblock at 32768, Group descriptors at 32769-32769 Backup superblock at 98304, Group descriptors at 98305-98305 Backup superblock at 163840, Group descriptors at 163841-163841 Backup superblock at 229376, Group descriptors at 229377-229377 Backup superblock at 294912, Group descriptors at 294913-294913 Backup superblock at 819200, Group descriptors at 819201-819201 Backup superblock at 884736, Group descriptors at 884737-884737 Backup superblock at 1605632, Group descriptors at 1605633-1605633 Backup superblock at 2654208, Group descriptors at 2654209-2654209
32768 , 98304 都是 superblock备份的地方,我可以直接使用这个位置试试
fsck -y -b 32768 /dev/sdb1
:) 这个命令实在是神奇了。
最后的结果是大部分文件都恢复过来了,可是ext3 文件系统识别成了ext2的了。
以后还是直接关机不搞睡眠了, 睡眠竟然也会破坏superblock。
4. 备份出来数据后把磁盘格式化成ext4的信息。 注意了一下打印信息:
mkfs.ext4 /dev/sdb1mke2fs 1.41.11 (14-Mar-2010)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks2260992 inodes, 9036554 blocks451827 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=0276 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624Writing inode tables: done Creating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 35 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.
这里创建磁盘分区的时候已经就指定了备份superblock的位置,
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624
276个块group, 每个group 32768个块和分段
refer:
http://www.cnblogs.com/dancefire/archive/2011/03/09/fix-bad-superblock-in-linux.html
- ext3 文件系统错误
- Ext3 文件系统错误 Journal has aborted
- ext3,第三扩展文件系统
- Ext3文件系统介绍
- ext3 文件系统优化
- ext3日志文件系统理解
- ext3文件系统目录组织
- ext2和ext3文件系统
- ext3文件系统基础
- 制作ext3文件系统
- 文件系统三ext3
- linux日志文件系统-ext3
- exit2/ext3文件系统介绍
- ext3日志模式---文件系统
- Linux ext2/ext3文件系统
- Linux文件系统:ext2/ext3
- 下面有关Ext2和ext3文件系统的描述,错误的是?
- 下面有关Ext2和ext3文件系统的描述,错误的是?
- android JAVA 层API GPS 研究总结
- 《设计模式之禅》学习之代理模式
- VC++ 中IP Address 控件的使用
- JDK中有关23个经典设计模式的示例
- asp.net中Roles和User的异常处理机制的思考
- ext3 文件系统错误
- 适于android初学者入门的资料集
- java 7 正式发布了
- oracle的NULL和0
- Linux下共享库(SO)有关的几个环境变量
- 处理XML的一般方法
- ndis6.0 NetBufferSend相关函数与数据结构
- validatabox 验证表单改中文
- iptables添加删除规则