Как я могу реорганизовать таблицу разделов, не удаляя разделы?

1159
Leonid Shevtsov

У меня есть макет раздела, как это:

ext: linux root linux swap pri: windows pri: storage pri: storage 

Я хотел бы изменить этот макет на:

pri: linux root pri: linux swap pri: windows ext: storage storage 

Смотрите, разделы не перемещаются, изменяется только таблица разделов.

Есть ли простой (и быстрый) способ сделать это, не перемещая файлы и не удаляя разделы? Я застрял в преобразовании хранилища в один расширенный раздел с двумя логическими внутри.

Я ожидаю только ответа «да / нет» и инструмента, который я могу использовать man. :)

1
Таким образом, он должен принадлежать суперпользователю, потому что я не могу представить, чтобы кто-то хотел сделать что-то подобное на сервере ... Zoredache 14 лет назад 2
я могу представить, что кто-то * хочет * сделать это на сервере ... я просто не могу себе представить * избежать ареста * впоследствии ... quack quixote 14 лет назад 1

3 ответа на вопрос

1
womble

Да. Вы можете сделать это с помощью fdisk, хотя я ни за что не попробую.

Вы имеете в виду удаление всех разделов, а затем воссоздание правильного макета вручную? 14 лет назад 0
Ну да, в том смысле, что создание другого макета раздела требует, по определению, удаления предыдущих разделов. 14 лет назад 0
0
adric

Любой из sfdisk, GNU parted или gpart должен сделать это за вас, если вы действительно осторожны. И действительно, любая утилита fdisk может сделать это, хотя это будет немного сложнее.

Хитрость в том, что таблица разделов - это просто структура данных в вашей MBR. Вы можете изменить все, что вы хотите, не затрагивая фактические разделы (срезы и т. Д.), Которые находятся на диске. Но! всякий раз, когда существует несоответствие между тем, что ОС читает в таблице разделов, и тем, что она видит, когда читает диск, вы, вероятно, не сможете загрузиться или возникнут другие проблемы.

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

dd if=/dev/sda of=old_bootsector bs=512 count=1 
вы, вероятно, захотите сделать резервную копию гораздо большего, чем просто MBR - по крайней мере, получите VBR (загрузочная запись тома, первый сектор каждого раздела) и расширенную таблицу разделов, где бы они ни находились quack quixote 14 лет назад 0
0
Leonid Shevtsov

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