如何手动修复分区表?


10

我最近在笔记本电脑上遇到了MBR /分区表的问题。我设法使用testdisk重建了分区表,并安装了GRUB以使其再次正常启动(我在Windows 7中使用双重启动)。但是,由于出现错误,我无法再正常运行gparted Can't have a partition outside the disk!

fdisk -l 输出看起来像这样:

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x188f12a9

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         154     1228800    7  HPFS/NTFS/exFAT
/dev/sda2             154       13446   106775171    7  HPFS/NTFS/exFAT
/dev/sda3           13447       28745   122880000   83  Linux
/dev/sda4           28745       30402    13317664+   f  W95 Ext'd (LBA)
/dev/sda5           28745       29127     3069944   82  Linux swap / Solaris
/dev/sda6           29127       30402    10240000    7  HPFS/NTFS/exFAT

因此磁盘具有30401 cylinderssda6终止于cylinder 30402; 大概就是问题所在。

当我运行testdisk时,它的第6个分区以结尾cylinder 30401,但是将其写入分区表没有任何区别。

有简单的方法可以解决此问题吗?

我在其他地方读过,可以通过手动编辑分区表来解决此问题,但是我想提供具体的说明,因为我对这一领域并不了解!


1
你可以跑步gparted /dev/sda6吗?您可以使用Live CD运行分区编辑器吗?否则,可能要走手册了...
Rasman

使用Live CD时也会发生相同的情况。我gparted /dev/sda6今晚会尝试。
jwaddell 2011年

Answers:


11

使用fdisk。使用u命令将其置于扇区模式,然后p打印表,d删除分区,然后n重新创建它。重新创建它时,请使用相同的起始扇区,但实际上要适合磁盘的终止扇区。完成并p再次确认后,请保存并退出w


1
原来是问题所在的扩展分区,但fdisk在重新创建它以及其中的逻辑分区方面做得很好。gparted现在可以正确打开。
jwaddell 2011年

这会不会导致数据丢失?可能是个警告……
ADTC '17年

@ADTC,不;重点是恢复数据。
psusi

1
@ADTC,新的将不会为空,因为删除和重新创建分区不会影响该分区中的数据;它仅在分区表中设置边界。通过删除并重新创建具有相同开始但不同结束的分区,可以有效地固定分区的大小。
psusi '17

1
是的,了解分区是什么很重要-硬盘上的一些数据只是说“从此处开始,从此处结束,将其称为4 ..”。分区表只是保存所有这些小的映射的一点数据。数据仍然存在,您只需要告诉操作系统数据在哪里
约翰·亨特

1

下载并安装Boot Repair,这是一种自动恢复工具,通常可以解决此类问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.