Як вручну виправити таблицю розділів?


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, але записування його до таблиці розділів не має ніякої різниці.

Чи є простий спосіб це виправити?

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


1
Ви вмієте бігати gparted /dev/sda6? Чи можете ви запустити редактор розділів на Live CD? Інакше посібник може бути дорогою ...
Rasman

Те саме відбувається при використанні Live CD. Я спробую gparted /dev/sda6сьогодні ввечері.
jwaddell

Відповіді:


11

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


1
Проблема виявилася розширеним розділом, але fdiskдобре працювала, щоб відтворити його та логічні розділи всередині нього. gpartedтепер відкривається правильно.
jwaddell

Чи не призведе це до втрати даних? Попередження, можливо ...
ADTC

@ADTC, ні; вся справа в тому, щоб відновити дані.
psusi

1
@ADTC, новий не буде порожнім, оскільки видалення та відновлення розділу не торкаються даних у розділі; він встановлює лише межі в таблиці розділів. Видаляючи та відтворюючи розділ з тим же початком, але іншим кінцем, ви ефективно фіксуєте розмір розділу.
psusi

1
Так, важливо зрозуміти, що таке розділ - це просто трохи даних на жорсткому диску, на яких написано: "Почніть тут, закінчіть тут, назвіть це число 4". Таблиця розділів - це лише трохи даних, що містять усі ці маленькі відображення. Дані все ще є, потрібно просто повідомити операційній системі, де дані.
Джон Хант

1

Завантажте та встановіть Boot Repair - автоматизований інструмент відновлення, який зазвичай вирішує подібні проблеми.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.