Get*_*ree 6 linux partition ext3 mount data-recovery
我的一台服务器出现某种驱动器故障,导致操作系统(CentOS 5)崩溃并停止工作(它拒绝启动)。
因此,我们放置了另一个具有工作操作系统的驱动器,然后我们尝试在旧驱动器中安装分区。
大多数分区都安装得很好,除了一个:/var
我的 MySQL 表所在的分区。
当我尝试安装那个时,我看到以下错误dmesg
:
sd 0:0:1:0:未处理的检测代码
sd 0:0:1:0:SCSI 错误:返回代码 = 0x08100002
结果:hostbyte=invalid driverbyte=DRIVER_SENSE,SUGGEST_OK
sdb:当前:sense key:中错误
添加。意义:未恢复的读取错误信息 fld=0x4a47e JBD
:无法读取偏移量 9863 处的块JBD
:恢复失败
EXT3-fs:错误加载日志。
有没有办法恢复那个分区中的数据?
编辑:
根据要求,输出tune2fs -l /dev/sdb2
为:
tune2fs 1.39 (29-May-2006)
Filesystem volume name: /var1
Last mounted on: <not available>
Filesystem UUID: d84f5181-24f3-40ce-9eaa-601ae5ae33bd
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 26214400
Block count: 26214063
Reserved block count: 1310703
Free blocks: 25127226
Free inodes: 26213665
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 1017
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 32768
Inode blocks per group: 1024
Filesystem created: Thu May 13 18:14:28 2010
Last mount time: Thu Nov 29 12:52:00 2012
Last write time: Wed Mar 27 20:29:28 2013
Mount count: 15
Maximum mount count: -1
Last checked: Thu May 13 18:14:28 2010
Check interval: 0 (<none>)
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal inode: 8
Default directory hash: tea
Directory Hash Seed: 35f38c48-3933-4c99-bde2-63b0eccf200d
Journal backup: inode blocks
Run Code Online (Sandbox Code Playgroud)
编辑 2:
正如@Hartmut 所建议的,我运行fsck.ext3 /dev/sdb2
的结果如下:
e2fsck 1.39 (29-May-2006)
/var1: recovering journal
/var1: Attempt to read block from filesystem resulted in short read while reading block 11931
JBD: Failed to read block at offset 9863
fsck.ext3: No such device or address while trying to re-open /var1
e2fsck: io manager magic bad!
Run Code Online (Sandbox Code Playgroud)
您的硬盘驱动器似乎发生了物理故障,并且影响了包含 ext3 日志的块。
您将需要第二个空白硬盘驱动器,至少与故障驱动器分区一样大,以对该磁盘执行任何类型的恢复。您还需要一个目标来将恢复的文件复制到其中,因此我们将其称为第三个空白硬盘驱动器、网络文件共享等。
一般的恢复过程将是:
使用dd conv=noerror
或更好的方法将失败的分区复制到新驱动器dd_rescue
。这可能要花点时间。
执行我假设你复制的拷贝这里,所有进一步的操作/dev/sdb2
来/dev/sdc2
和你将文件恢复到/dev/sdd2
。
由于日志已损坏,我们将其删除:
tune2fs -O ^has_journal /dev/sdc2
Run Code Online (Sandbox Code Playgroud)现在完成设备的 fsck。这可能要花点时间。
e2fsck /dev/sdc2
Run Code Online (Sandbox Code Playgroud)以只读方式挂载文件系统并尝试恢复文件。
mount -o ro /dev/sdc2 /mnt/baddrive
mount /dev/sdd2 /mnt/recoveredfiles
cp -av /mnt/baddrive/* /mnt/recoveredfiles
Run Code Online (Sandbox Code Playgroud)在任何情况下,您都不应再次使用原始磁盘。更换它(在保修期内,如果它仍在保修期内)。
小智 2
您是否尝试将其安装为 ext2 文件系统mount -t ext2 ...
?ext3 向后兼容 ext2,因此它应该忽略似乎已损坏的日志。这不是一个理想的解决方案,但如果幸运的话,它可能会让您访问一些数据!
归档时间: |
|
查看次数: |
35615 次 |
最近记录: |