Перезаписать таблицу разделов загрузочного диска с помощью gdisk; как восстановить?

сегодня я установил новый жесткий диск на своем домашнем сервере, пошел форматировать его в gdisk (больше 2 ТБ), установил изменения и написал их. Тогда я заметил, что я выбрал неправильный диск, на самом деле я просто overwrote таблицу разделов на моем загрузочном диске вместо этого.

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

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

у меня есть вывод 'p' из gdisk, прежде чем я переписал таблицу:

Command (? for help): p
Disk /dev/sdh: 125045424 sectors, 59.6 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): D0127C61-1349-42D1-A03F-46F604F3DD6C
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 125045390
Partitions will be aligned on 2048-sector boundaries
Total free space is 4717 sectors (2.3 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048       119883775   57.2 GiB    8300  Linux filesystem
   5       119885824       125044735   2.5 GiB     8200  Linux swap

некоторые осложнения:

  • диск ранее был разбит на разделы в MBR, и - не проверяя наверняка-я не думаю, что этот конкретный ПК поддерживает UEFI/загрузку с GPT.

  • Я не уверен, что эта распечатка включает в себя все информация, необходимая для восстановления таблицы разделов. Возможно, что некоторые разделы скрыты здесь? Или что другая важная информация будет отсутствовать? Я знаю, например, что, поскольку gdisk / GPT не имеет "загрузочного" флага, эта распечатка не включает его.

  • Я уже пробовал писать эти разделы обратно с помощью fdisk, но не могу понять, как заставить fdisk создать раздел с номером '5'. Я предполагаю, что, если бы мой раздел подкачки "переместился" из sdh5 в sdh2, это не просто волшебно работать.

Я нашел похожую проблему,восстановить таблицу разделов все еще присутствует в работающей системе по поводу перезаписи таблицы разделов с помощью dd. Но в моем случае, поскольку я использовал gdisk (+ fdisk) для написания новой таблицы, я не уверен, что информация в /sys/block полностью точна.

13
задан Community
09.11.2022 1:13 Количество просмотров материала 2461
Распечатать страницу

1 ответ

у меня, наконец, был шанс сегодня хорошо ударить по этой проблеме, и, к счастью, решение было (в основном) более простым, чем я беспокоился.

что мне помогло, так это немного больше узнать о том, как мой дистрибутив (Debian) настраивает разделы диска в управляемой установке (http://www.linuxbsdos.com/2011/02/15/debian-6-installation-and-disk-partitioning-guide/), а также о том, как создаются и указываются логические разделы на диске (http://tldp.org/HOWTO/Partition/fdisk_partitioning.html#mixed).

прочитав там заметки и перепроверив, я вернулся в fdisk и:

  • переписал MBR (o), чтобы начать все сначала.
  • создать (n) a primary раздел '1' с секторами "sdh1", отмеченными на выходе gdisk (2048 - 119883775).
  • создать (n) an extended раздел '2', начиная с первого доступного сектор и остальная часть диска (119883776 - ...).
  • создать (n) a logical раздел '5' с секторами "sdh5", отмеченными на выходе gdisk (119885824 - 125044735).
  • изменить тип (t) на разделе '5' поменять местами (введите код '82').
  • включить флага (a) на "sdh1".
  • написал мои изменения (w) и вышла.

я перезагрузился, чтобы проверить эту таблицу разделов, и система не загрузилась. Поэтому отсюда мне пришлось отключить диск и установить его на другой компьютер. Но, к счастью, все, что я забыл сделать:

  • переустановите grub в MBR (теперь отформатированный). После того, как диск был установлен в моем другом компьютере, я использовал grub-install --root-directory=/path/to/mount/point /dev/sdX (где sdX был файлом устройства для смонтированного диска на моем другом компьютере).
    • если бы я сделал это перед перезагрузкой машины, я полагаю, что это было бы grub-install --root-directory=/ /dev/sdh.

жратву конфигурация на диске была все еще в порядке, поэтому переустановка grub была всем, что было необходимо. После подключения диска обратно и запуска, все, кажется, работает отлично до сих пор.

один важный урок, который я взял из этого, заключался в том, что данные /sys/block для расширенных разделов немного вводят в заблуждение. Каталоге /sys/блок/.../ size info Для "sdh2" заявлено только 2 блока, что исключает реальный размер раздела, необходимый для размещения "sdh5" (мой логический/раздел подкачки) внутри она.

редактировать для хорошей меры, ток fdisk -l вывод на моем диске (который после перезагрузки теперь обозначил себя " sdi "вместо " sdh", как раньше):

Disk /dev/sdi: 64.0 GB, 64023257088 bytes
255 heads, 63 sectors/track, 7783 cylinders, total 125045424 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: <...>

   Device Boot      Start         End      Blocks   Id  System
/dev/sdi1   *        2048   119883775    59940864   83  Linux
/dev/sdi2       119883776   125045423     2580824    5  Extended
/dev/sdi5       119885824   125044735     2579456   82  Linux swap / Solaris
0
отвечен user206468 2022-11-10 09:01

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

fdisk
gdisk
linux
partition-recovery
partitioning
Вверх