Ada*_*dam 20 filesystem ext4 fsck
我的文件系统出了点问题,Ubuntu 将其设置为只读,现在在 Ubuntu Live Disc 下,fsck 无法修复它。
我正在运行 13.04,它无法启动 - 在启动时,它只显示 grub 救援提示。
这是一个直接的设置,在 /dev/sda1 上只有一个硬盘,但它甚至不会挂载。
安装程序可以看到分区,它是ext4,它是引导分区。
但是,似乎我无法通过使用 Ubuntu 实时磁盘进行 Ubuntu 安装来挽救文件系统,因为它没有表明它是否即将覆盖整个文件系统,所以我不想冒险。
我有一个使用backuppc 的备份,但我很愚蠢地丢失了我的救援磁盘。我宁愿避免完全安装,然后再进行恢复,而我没有执行经验。
问题的关键是 fsck 说它修复了所有问题,但实际上并没有,所以下次我运行它时,我得到完全相同的错误消息和修复。
这是输出:
ubuntu@ubuntu:~$ sudo fsck.ext4 -vy /dev/sda1
e2fsck 1.42.8 (20-Jun-2013)
ext2fs_check_desc: Corrupt group descriptor: bad block for block bitmap
fsck.ext4: Group descriptors look bad... trying backup blocks...
Block bitmap for group 0 is not in group. (block 2553887680)
Relocate? yes
Inode table for group 0 is not in group. (block 2440124416)
WARNING: SEVERE DATA LOSS POSSIBLE.
Relocate? yes
One or more block group descriptor checksums are invalid. Fix? yes
Group descriptor 0 checksum is 0x761e, should be 0xcf25. FIXED.
Block bitmap for group 4352 is not in group. (block 2553887680)
Relocate? yes
Inode table for group 4352 is not in group. (block 3731970048)
WARNING: SEVERE DATA LOSS POSSIBLE.
Relocate? yes
Group descriptor 4352 checksum is 0x5eda, should be 0x3da3. FIXED.
Inode bitmap for group 4353 is not in group. (block 2785042439)
Relocate? yes
Group descriptor 4353 checksum is 0xd8b1, should be 0xedfb. FIXED.
Inode bitmap for group 4354 is not in group. (block 838860807)
Relocate? yes
Group descriptor 4354 checksum is 0x1718, should be 0x0438. FIXED.
Inode bitmap for group 4355 is not in group. (block 771751943)
Relocate? yes
Group descriptor 4355 checksum is 0x0bc8, should be 0x4170. FIXED.
fsck.ext4: e2fsck_read_bitmaps: illegal bitmap block(s) for /dev/sda1
/dev/sda1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sda1: ********** WARNING: Filesystem still has errors **********
ubuntu@ubuntu:~$
Run Code Online (Sandbox Code Playgroud)
这与之前的 10 次完全相同,我确定接下来的 10 次我都会尝试 - 完全相同的校验和和块 ID。很高兴收到任何帮助!
谢谢。
编辑:基本上我想问题是:这个文件系统现在是否可以就地修复,或者来自 fsck 的信息是否意味着我的磁盘已经死了?如果它没有死,除了我对 fsck 所做的之外,我还能做什么?
编辑:使用 tune2fs 来识别超级块并运行 e2fsck -b 01234 /dev/sda1 作为 fsck 的替代...没有效果。
编辑:尝试 testdisk 告诉我分区是坏的。... OK testdisk 似乎没有提供太多。
Ada*_*dam 17
终于找到了这个链接,其中文件系统类型 ext4 受到了抨击,但在提供了我已经尝试过的所有技巧之后,它最终说这样做:
Run Code Online (Sandbox Code Playgroud)sudo mkfs.ext4 -S /dev/sda1这将用正确的数据替换所有超级块,假设块大小被正确猜测(大多数系统的默认值是正确的)。如果您需要使用它,请先阅读-S 上的手册页。别怪我!
但前提是你觉得很幸运。
它修复了分区,所以我可以再次阅读它。但是,我不得不运行fsck以修复仍然存在的错误,这会将 /etc 的内容和许多其他内容转储到 /lost+found 中,因此我将不得不重新安装并从中恢复备份以使其再次运行。
第一:如果该磁盘上有重要数据,那么这将是进行备份的好时机(实际上是不好的时机)。请参阅数据恢复:对损坏的设备、文件系统或驱动器进行映像。也许你的硬盘快要死了。
第二:看看这个:如何修复崩溃后安装我的数据驱动器?
第三:使用Smartmontools检查您的硬盘并最终检查坏块:(sudo badblocks -vsn /dev/sda这可能需要一些时间,如果您有 SSD,请不要这样做)