崩溃后如何修复数据驱动器的安装?

崩溃后如何修复数据驱动器的安装?

崩溃后,我无法安装数据驱动器。操作系统位于不同的驱动器上。如何恢复/恢复对数据驱动器的访问?我认为驱动器在物理上完好无损。

我之前使用的是 Ubuntu 12.04。从 USB 启动了 Xubuntu 13.04。

我收到此错误信息:

Error mounting /dev/sda1 at /media/xubuntu/e16422c3-7c60-4b9e-a135-ec96a6f7c4c6: Command-line
  `mount -t "ext4" -o "uhelper=udisks2,nodev,nosuid" "/dev/sda1" "/media/xubuntu/e16422c3-7c60-4b9e-a135-ec96a6f7c4c6"'
      exited with non-zero exit status 32:
       mount: wrong fs type, bad option, bad superblock on /dev/sda1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try dmesg | tail

Matty,谢谢你的建议。这个建议没有奏效。可能是因为我一度偏离了主题。

fdisk -l 显示:

Disk /dev/sda: 3000.6 GB, 3000592982016 bytes
255 heads, 63 sectors/track, 364801 cylinders, total 5860533168 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: 0xbd45990e
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  4294967295  2147483647+  ee  GPT

fsck.ext4 显示:

xubuntu@xubuntu:~$ sudo fsck.ext4 -v /dev/sda1
e2fsck 1.42.5 (29-Jul-2012)
ext2fs_check_desc: Corrupt group descriptor: bad block for block bitmap
fsck.ext4: Group descriptors look bad... trying backup blocks...
fsck.ext4: Bad magic number in super-block while using the backup blocksfsck.ext4: going back to original superblock
Superblock has an invalid journal (inode 8).
Clear<y>? yes

到这里我有点跑题了,我按了“Y”。结果:

ext3 journal has been deleted - filesystem is now ext2 only 
One or more block group descriptor checksums are invalid.  Fix<y>? yes
Group descriptor 832 checksum is 0x0000, should be 0xd27b.  FIXED.
Group descriptor 833 checksum is 0x0000, should be 0x3f7a.  FIXED.
Group descriptor 834 checksum is 0x0000, should be 0x487a.  FIXED.
Group descriptor 835 checksum is 0x0000, should be 0xa57b.  FIXED.
Group descriptor 836 checksum is 0x0000, should be 0xa67a.  FIXED.
Group descriptor 837 checksum is 0x0000, should be 0x4b7b.  FIXED.
Group descriptor 838 checksum is 0x0000, should be 0x3c7b.  FIXED.
Group descriptor 839 checksum is 0x0000, should be 0xd17a.  FIXED.
Group descriptor 840 checksum is 0x0000, should be 0x3a79.  FIXED.
Group descriptor 841 checksum is 0x0000, should be 0xd778.  FIXED.
Group descriptor 842 checksum is 0x0000, should be 0xa078.  FIXED.
Group descriptor 843 checksum is 0x0000, should be 0x4d79.  FIXED.
Group descriptor 844 checksum is 0x0000, should be 0x4e78.  FIXED.
Group descriptor 845 checksum is 0x0000, should be 0xa379.  FIXED.
Group descriptor 846 checksum is 0x0000, should be 0xd479.  FIXED.
Group descriptor 847 checksum is 0x0000, should be 0x3978.  FIXED.
Group descriptor 848 checksum is 0x0000, should be 0x427c.  FIXED.
Group descriptor 849 checksum is 0x0000, should be 0xaf7d.  FIXED.
Group descriptor 850 checksum is 0x0000, should be 0xd87d.  FIXED.
Group descriptor 851 checksum is 0x0000, should be 0x357c.  FIXED.
Group descriptor 852 checksum is 0x0000, should be 0x367d.  FIXED.
Group descriptor 853 checksum is 0x0000, should be 0xdb7c.  FIXED.
Group descriptor 854 checksum is 0x0000, should be 0xac7c.  FIXED.
Group descriptor 855 checksum is 0x0000, should be 0x417d.  FIXED.
Group descriptor 856 checksum is 0x0000, should be 0xaa7e.  FIXED.
Group descriptor 857 checksum is 0x0000, should be 0x477f.  FIXED.
Group descriptor 858 checksum is 0x0000, should be 0x307f.  FIXED.
Group descriptor 859 checksum is 0x0000, should be 0xdd7e.  FIXED.
Group descriptor 860 checksum is 0x0000, should be 0xde7f.  FIXED.
Group descriptor 861 checksum is 0x0000, should be 0x337e.  FIXED.
Group descriptor 862 checksum is 0x0000, should be 0x447e.  FIXED.
Group descriptor 863 checksum is 0x0000, should be 0xa97f.  FIXED.
Note: if several inode or block bitmap blocks or part
of the inode table require relocation, you may wish to try
running e2fsck with the '-b 32768' option first.  The problem
may lie only with the primary block group descriptors, and
the backup block group descriptors may be OK.

Inode bitmap for group 864 is not in group.  (block 732566272)
Relocate<y>? yes
Group descriptor 864 checksum is 0x0000, should be 0x32fb.  FIXED.
Group descriptor 865 checksum is 0x0000, should be 0xf1b1.  FIXED.
Block bitmap for group 866 is not in group.  (block 1353979985)
Relocate<y>? yes
Group descriptor 866 checksum is 0x0000, should be 0x3179.  FIXED.
Group descriptor 867 checksum is 0x6f4d, should be 0x9550.  FIXED.
Block bitmap for group 868 is not in group.  (block 1936025974)
Relocate<y>? yes
Group descriptor 868 checksum is 0x0000, should be 0xc677.  FIXED.
Group descriptor 869 checksum is 0x0000, should be 0x2b76.  FIXED.
Group descriptor 870 checksum is 0x0000, should be 0xf1c8.  FIXED.
Group descriptor 871 checksum is 0x0000, should be 0xbc94.  FIXED.
Inode table for group 872 is not in group.  (block 1352676045)
WARNING: SEVERE DATA LOSS POSSIBLE.
Relocate<y>? cancelled!
Group descriptor 872 checksum is 0x0000, should be 0x3bf2.  FIXED.

/dev/sda1: ***** FILE SYSTEM WAS MODIFIED *****

/dev/sda1: ********** WARNING: Filesystem still has errors **********

mke2fs 生成了以下内容:

xubuntu@xubuntu:~$ sudo mke2fs -n /dev/sda1
mke2fs 1.42.5 (29-Jul-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
183017472 inodes, 732044433 blocks
36602221 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
22341 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
    102400000, 214990848, 512000000, 550731776, 644972544

然后我尝试了每一个块号......

root@xubuntu:/home/xubuntu# e2fsck -b 8193 /dev/sda1
root@xubuntu:/home/xubuntu# e2fsck -b 98304 /dev/sda1
root@xubuntu:/home/xubuntu# e2fsck -b 8193 /dev/sda --suggested in err msg
root@xubuntu:/home/xubuntu# e2fsck -b 163840 /dev/sda1
root@xubuntu:/home/xubuntu# e2fsck -b 229376 /dev/sda1
...
...

Each with the same result:

e2fsck 1.42.5 (29-Jul-2012)
e2fsck: Bad magic number in super-block while trying to open /dev/sda1

The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>

现在回想起来,我可能犯了一个严重的错误。

我再次运行“fsck.ext4 -v /dev/sda1”,并用“Y”回答提示 20 或 30 次,希望 fsck.ext4 可以解决问题。

我该放弃吗,还是还有其他方法可以尝试?

答案1

首先,我建议制作磁盘映像。也就是说,看起来你可能有一个坏的超级块。尝试运行

fsck.ext4 -v /dev/sda1

您可能会在结果输出中看到“糟糕的魔法数字”。如果是这样,请运行:

mke2fs -n /dev/sda1

这将转储数字超级块备份位置的列表。尝试第一个超级块备份,如下所示:

e2fsck -b SUPERBLOCK_NUMBER_HERE /dev/sda1

尝试安装驱动器。如果失败,请尝试下一个超级块备份。希望这能有所帮助。祝你好运,先生!

相关内容