ext4 文件系统因写入不当而损坏

Sat*_*t93 5 partitioning mount ext4 external-hdd data-recovery

事情是这样的,

我插入了我的 (重要的)外部硬盘驱动器插入 RedHat 6 机器,完成我的任务,通过 Nautilus 卸载驱动器,并将驱动器从机器上物理分离 (现在我意识到,当 Nautilus(RHEL6)正在写一些东西时,我匆忙地分离了驱动器到磁盘)。

这hardisk有3个分区,100GB的ext450GB EXT4和剩余的约148GB NTFS

后来我又把它连接到我的 Ubuntu 14.04 机器上,现在驱动器的两个ext4分区都没有挂载。

这是 Gparted 所说的,

在此处输入图片说明

和,

在此处输入图片说明

此外,这是sudo fdisk -l命令的输出,

Disk /dev/sdb: 320.1 GB, 320072932352 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142446 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf909bf11

Device Boot Start End Blocks Id System
/dev/sdb1 2048 209717247 104857600 83 Linux
/dev/sdb2 209717248 314574847 52428800 83 Linux
/dev/sdb3 314574848 625141759 155283456 7 HPFS/NTFS/exFAT

我不是那么熟悉fsckfsck.ext4命令,请给我一个方向。

old*_*red 1

为 sdb1 和 sdb2 运行此命令。如果外部驱动器并且您确定所有内容都已卸载,您可以从正在运行的 Ubuntu 内部运行。其他人可能需要使用实时安装程序。

从 liveDVD/Flash 中卸载所有内容,必要时进行交换,将分区 sdb1 显示的示例更改为您的分区

e2fsck 用于检查 ext2/ext3/ext4 系列文件系统。-p 尝试修复不需要响应的地方

sudo e2fsck -C0 -p -f -v /dev/sdb1
Run Code Online (Sandbox Code Playgroud)

如果出现错误:-y 自动回答“是”以修复需要响应的问题

sudo e2fsck -f -y -v /dev/sdb1
Run Code Online (Sandbox Code Playgroud)

另请参阅:

man e2fsck
Run Code Online (Sandbox Code Playgroud)


Vir*_*boy 0

需要考虑的四件事!

首先,您应该尝试将其安装回上次使用的原始设备上。如果是这种情况,您可以从那里备份数据,然后彻底擦除驱动器。

其次,分区可能没有安装,因为您正在写东西,Windows 会以同样的方式延迟,当 CD 被取出时,所有用户交互都会被提示放入 CD 或其他。因此,只需将硬盘重新插入即可,但前提是机器仍在运行。然而,在某些情况下,可以恢复上次所做的更改。

第三,您的分区表文件(我记不起名字了)很可能已被破坏和损坏。

第四,您永远、永远、永远、永远都不应该在驱动器正在使用时将其移除。

如果前三个方法无法解决您的问题,请备份您可以恢复的数据,并请专业人士恢复您无法恢复的“丢失”数据。遗憾的是,硬盘问题大多是不可逆转的和永久性的,在不进一步破坏驱动器或其内容的情况下无法解决。这就是为什么每个人都多余地告诉你备份你的内容。