Как вручную исправить таблицу разделов?

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 cylinders, но sda6заканчивается на cylinder 30402; по-видимому, вот в чем проблема.

Когда я запускаю testdisk, он имеет 6-й раздел, оканчивающийся на cylinder 30401, но запись его в таблицу разделов не имеет никакого значения.

Есть ли простой способ это исправить?

Я читал в другом месте, что я мог бы исправить это, отредактировав таблицу разделов вручную, но я хотел бы получить действительно конкретные инструкции, поскольку я не очень много знаю об этой области!

jwaddell
источник
1
Ты можешь бежать gparted /dev/sda6? Можете ли вы запустить редактор разделов с Live CD? В противном случае руководство может быть путь ...
Расман
То же самое происходит при использовании Live CD. Я попробую gparted /dev/sda6сегодня вечером.
jwaddell

Ответы:

11

Используйте fdisk. Переведите его в секторный режим с помощью uкоманды, затем pраспечатайте таблицу, dудалите раздел и nзаново создайте его. Когда вы воссоздаете его, используйте тот же начальный сектор, но конечный сектор, который фактически помещается на диске. Когда вы закончите и дважды проверьте ( pснова), сохраните и выйдите с помощью w.

psusi
источник
1
Это оказалось расширенным разделом, который был проблемой, но fdiskработал хорошо, чтобы воссоздать его и логические разделы внутри него. gpartedтеперь открывается правильно.
jwaddell
Не приведет ли это к потере данных? Предупреждение, возможно ...
ADTC
@ ADTC, нет; Все дело в том, чтобы восстановить данные.
psusi
1
@ADTC, новый не будет пустым, потому что удаление и воссоздание раздела не затрагивает данные в разделе; он только устанавливает границы в таблице разделов. Удаляя и воссоздавая раздел с тем же началом, но с другим концом, вы эффективно устанавливаете размер раздела.
psusi
1
Да, важно понимать, что такое раздел - это просто часть данных на жестком диске, на которых написано: «начинай здесь, заканчивай здесь, называй это номер 4 ...». Таблица разделов - это просто часть данных, содержащих все эти небольшие отображения. Данные все еще там, вам просто нужно сообщить операционной системе, где эти данные.
Джон Хант
1

Загрузите и установите Boot Repair , инструмент для автоматического восстановления, который обычно решает подобные проблемы.

Жюльен Чау
источник