升级失败后如何修复损坏的硬盘?

升级失败后如何修复损坏的硬盘?

问题出在我试图修复这个问题事情变得非常糟糕,我最终遇到了一个全新的问题。我做的最后一件事就是跑

sudo apt-get install

这导致我的系统冻结。我重启了电脑,但无法从硬盘启动。我从我的闪存驱动器运行了一份 Ubuntu 12.10 副本,然后运行 ​​gparted 以查看我的分区是否全部存在。它返回了以下消息:

Invalid partition table on /dev/sda -- wrong signature 5208.

该驱动器显示为一个 2TiB 未分配驱动器,并且存在错误。该驱动器之前有 4 个分区(加上随机未分配空间)。有一个 fat32 分区、一个包含 ubuntu 13.04/13.10 的 ext4 分区(我现在甚至不知道是哪一个)、一个包含我的 ubuntu 分区的交换分区的扩展分区(我本来打算将该 ubuntu 分区移动到扩展分区,但一直没来得及),还有另一个分区(我不记得我是如何格式化它的)。我还应该提到这是一个 1TB 硬盘。

简而言之,我从主硬盘启动时发现分区表已损坏,我该如何修复它?


我尝试使用

sudo mount /dev/sda1 /media/ubuntu

然后我将目录更改为所述文件夹并尝试列出文件,然后发生了以下可怕的事情:

$ ls
ls: cannot access ��w�j^�.: Input/output error
ls: cannot access �?(�
                      �x?.|: Input/output error
ls: cannot access 6W_@�)?._??: Input/output error
ls: cannot access HB0v???.A}�: Input/output error
ls: cannot access ???.�X: Input/output error
ls: cannot access t)�.+�l: Input/output error
ls: cannot access ?h@   
�.@ : Input/output error
ls: cannot access >?    @�?.���: Input/output error
ls: cannot access m???.?�: Input/output error
ls: cannot access @ if�?a?: Input/output error
ls: cannot access ?M!vN$�.??n: Input/output error
ls: cannot access ?o�
�?.Bm`: Input/output error
ls: cannot access ?:I???
M.
: Input/output error
ls: cannot access W??.??: Input/output error
ls: cannot access �: Input/output error
ls: cannot access ?W�s??: Input/output error
ls: cannot access ?v?k?.???: Input/output error
ls: cannot access 5?$<N��: Input/output error
.x����.??i: Input/output error
ls: cannot access je?���.j?1: Input/output error
XjD?.���: Input/output error
ls: cannot access W??n�??.?: Input/output error
ls: cannot access �^x.$"�: Input/output error
ls: cannot access !�?*!?�j.�?: Input/output error
ls: cannot access '-�?k?^�.?��: Input/output error
ls: cannot access b�w?w?b.\??: Input/output error
ls: cannot access o�??�"z.?�B: Input/output error
ls: cannot access ��b�h.?3-: Input/output error
ls: cannot access �?.$7: Input/output error
ls: cannot access )??K.bk: Input/output error
ls: cannot access s?�z?.?(�: Input/output error
ls: cannot access �F@?0?.@�: Input/output error
.�D: Input/output error
.?�: Input/output error
ls: cannot access?�??�.
                        @: Input/output error
ls: cannot access ?/?�
                        ?.��: No such file or directory
ls: cannot access rk?p4q(�.�k: Input/output error

这看起来很有希望。这是 fdisk -l 的输出

$ sudo fdisk -l /dev/sda
Warning: ignoring extra data in partition table 5
Warning: ignoring extra data in partition table 5
Warning: ignoring extra data in partition table 5
Warning: invalid flag 0x5208 of partition table 5 will be corrected by w(rite)

Disk /dev/sda: 2199.0 GB, 2199023132672 bytes
255 heads, 63 sectors/track, 267349 cylinders, total 4294967056 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: 0x44fdfe06

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1       113305600   894715903   390705152    c  W95 FAT32 (LBA)
/dev/sda2       894715904  1489307647   297295872   83  Linux
/dev/sda3      1489309694  1497307135     3998721    5  Extended
/dev/sda4      1497309184  1953523711   228107264    7  HPFS/NTFS/exFAT
/dev/sda5   ?  3013257822  3688738171   337740175   aa  Unknown

答案1

好吧,我不确定我到底做了什么来修复它,所以我只列出我做过的一些可能已经修复它的事情。首先,我使用 4 GB 的 U 盘启动 Ubuntu 12.10。驱动器上的空间有限,只能通过卸载其他实用程序(如 Thunderbird)来安装新实用程序。我遇到的一个实用程序叫做固定零件。我不相信有包含 fixparts 的 ppa,所以我不得不下载 .deb 并使用 Ubuntu 软件中心进行安装。在线文档/教程建议使用 fdisk 首先备份 MBR 数据,这样如果 fixparts 进一步损坏它,就可以恢复它。我这样做了(假设我们要修复的驱动器是 sda),

sudo fdisk -d /dev/sda > parts.txt

并恢复数据

sudo fdisk -f /dev/sda < parts.txt

要使用 fixparts,你只需要向它提供你想要处理的驱动器

sudo fixparts /dev/sda

从那里,您可以使用界面。它会首先告诉您它找到的主分区。它不会列出扩展分区。然后,您可以发出要执行的操作的命令。如果您想要命令列表,只需使用?查看上述链接中的在线文档以获取更多详细信息。Fixparts 并没有真正为我解决问题,但它让我入门了。我使用前面提到的命令和 fdisk 恢复了原始分区表,然后使用 fdisk 使我的 Linux 分区可启动。只需启动不带参数的 fdisk,或者在其后使用驱动器,您就可以使用类似于 fixparts 的界面。所以我运行了

sudo fdisk /dev/sda

并将第二个分区设置为可启动。启动后,我能够像平常一样运行 Ubuntu 13.04 并访问所有分区。

如果有人了解修复此问题的技术原因,请随意重写这个混乱的答案,我会将其选为最佳答案。

相关内容