Удалить GPT - по умолчанию вернуться к MBR

33

Я продолжаю получать эту ошибку:

Предупреждение!! Обнаружен неподдерживаемый GPT (таблица разделов GUID). Использовать GNU Parted

Я хочу вернуться к нормальной MBR. Я нашел здесь несколько советов и сделал:

parted /dev/sda
mklabel msdos
quit

Но когда я добираюсь до mklabelопции, она выдает предупреждение, что я потеряю все данные /dev/sda. Есть ли способ вернуть нормальную MBR без форматирования диска?

sayth
источник
2
По какой причине вы хотите переключиться? Какую реальную проблему вы пытаетесь решить?
Иордания
1
Если вы форматируете диск, попробуйте это: blog.gnub.net/2009/03/die-gpt-die.html (извините, у вас нет репутации, чтобы добавить ответ!)
Лестер Чунг

Ответы:

28

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

Однако, согласно странице руководства, gdiskкоторая используется для преобразования MBR -> GPT, также есть опция в меню «восстановление и преобразование» (нажмите, rчтобы получить это) для преобразования GPT -> MBR; gключ будет:

Конвертировать GPT в MBR и выйти. Эта опция преобразует как можно больше разделов в форму MBR, уничтожает структуры данных GPT, сохраняет новую MBR и завершает работу. Используйте эту опцию, если вы попробовали GPT и обнаружили, что MBR работает лучше для вас. Обратите внимание, что эта функция создает до четырех основных разделов MBR или трех основных разделов и столько логических разделов, сколько может быть сгенерировано. Каждому логическому разделу требуется как минимум один нераспределенный блок непосредственно перед его первым блоком.

Я бы попробовал это первым.

лютик золотистый
источник
Легко да, но это все еще рискованно.
Иордания
@jordanm: Я сам этого не делал (именно поэтому я признаю, что «google подразумевает»), но, поскольку gdisk явно имеет явные средства, почему вы считаете, что это рискованно? Страница man gdisk для опции r-> gвообще не содержит никаких предостережений ...
goldilocks
Было бы лучше, если бы вы включили в свой ответ необходимый шаг gdisk. Особенно с тем, насколько короткий шаг. Никогда не знаешь, когда ссылка может перестать работать, оставляя ответ бесполезным.
Дероберт
@derobert: Да, оригинал был скорее комментарием. gdiskВместо этого я использовал материал со страницы руководства .
Златовласка
1
Чтобы полностью стереть, вы должны записать ZAP в gdisk
Сергей Павлович ака лазурь
16

Большинство предыдущих респондентов правы , когда они говорят , что вы можете , как правило , делать то , что вам нужно с макетом таблицы GPT раздела, но так как там есть веские причины для желающих использовать MBR, я думаю , что я просто ответить на ваш вопрос , вместо того , предполагается , что вы неправильно спрашивать

Чтобы избавиться от GPT, вы должны помнить, что в этом формате есть таблица разделов, записанная в конец диска, где она останется, если вы просто попытаетесь удалить ее с помощью fdisk или файловой системы, не поддерживающей GPT. орудие труда. То, что вы сделали с parted, не затрагивало эту таблицу разделов.

Чтобы стереть GPT, вам нужно использовать что-то вроде gdisk. Введите gdiskв командной строке от имени пользователя root, а затем скажите gdisk, какое устройство вы хотите посмотреть (например, / dev / sd ??). Используйте gdisk, чтобы записать защитную MBR на диск, чтобы убедиться, что у вас есть доступ к некоторой структуре данных MBR. Затем вы можете перейти к разделу параметров эксперта (нажмите ?на различные подсказки программы, чтобы увидеть опции, доступные вам в разное время) и найти параметр, который говорит: «Запретить (уничтожить) структуры данных GPT и выйти». Программа запросит подтверждение, а затем спросит вас, хотите ли вы сохранить структуру MBR. Сохраняйте это.

После этого это должно быть так же просто, как перезагрузить компьютер (потому что ядро ​​все еще будет использовать старую таблицу разделов, и для его обновления требуется перезагрузка), а затем запустить fdisk и удалить остаток раздела GPT. Вы по-прежнему увидите то же предупреждение об использовании GNU Parted, которое вы видели ранее, но вы можете проигнорировать его на этот раз, так как оно исчезнет при удалении раздела.

Это даст вам систему таблиц разделов MBR на чистом диске, на который вы сможете переустановить ОС. Если вы пытаетесь сделать это с существующими разделами, это немного сложнее, а в некоторых случаях даже невозможно, поэтому я бы порекомендовал вам просто сделать резервную копию ваших данных и сделать это таким образом.

Татьяна МакГарри
источник
1
«Я думаю, что просто отвечу на ваш вопрос вместо того, чтобы предположить, что вы не правы». - это просто сумасшествие, чтобы работать!
Майкл Мрозек
6

использование gdisk /dev/sda

Примечание: /dev/sda относится к человеку, который задал этот вопрос, но измените его на имя вашего диска.

Как только вы попали внутрь с использованием gdisk:

x   extra functionality (experts only)

затем, когда вы наберете, pчтобы увидеть все варианты, вы увидите это:

Expert command (? for help): ?
a   set attributes
c   change partition GUID
d   display the sector alignment value
e   relocate backup data structures to the end of the disk
g   change disk GUID
h   recompute CHS values in protective/hybrid MBR
i   show detailed information on a partition
l   set the sector alignment value
m   return to main menu
n   create a new protective MBR
o   print protective MBR data
p   print the partition table
q   quit without saving changes
r   recovery and transformation options (experts only)
s   resize partition table
t   transpose two partition table entries
u   Replicate partition table on new device
v   verify disk
w   write table to disk and exit
z   zap (destroy) GPT data structures and exit
?   print this menu

использование z

Expert command (? for help): z
About to wipe out GPT on /dev/xvdf. Proceed? (Y/N): Y
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
Blank out MBR? (Y/N): Y
Vato
источник
2
Только этот ответ работал для меня, спасибо, что поделились.
Александар
1

Это должно работать в большинстве случаев. Вы знаете, что не можете использовать MBR, если у вас есть разделы размером более 2 ТБ или более 15 разделов.

  • Используйте parted для проверки размеров раздела (т.е. все они меньше 2 ТБ?), parted /dev/sdX p
  • Если есть большие разделы, уменьшите размер файловой системы и все остальное, что необходимо сделать. (Подробнее об этом в конце этой публикации.)
  • Сбросьте все точные размеры разделов parted /dev/sdX u B p(покажите размеры в байтах), чтобы вы знали, как в конечном итоге можно воссоздать макет раздела. Используйте свой телефон, чтобы сделать фотографию с обоих partedвыходов.
  • Помните, что вы можете иметь только четыре основных раздела с MBR из-за его внутренней структуры. Поэтому, если у вас есть больше разделов, вам нужно свободное место где-нибудь на вашем диске (ofc, вам нужно знать, где это может быть!), Чтобы создать логический раздел, в который можно поместить VBR, чтобы вы могли «выделить» другой 4-й / 5-й / 6-й раздел, существовавший ранее.
  • Используйте, gdiskчтобы убить GPT.
  • Создать новую MBR.
  • Воссоздайте свои разделы, 1-й / 2-й / 3-й как основные разделы, затем на некотором свободном пространстве (ГДЕ НЕ БЫЛО РАСПОЛОЖЕНЫ ДАННЫЕ !!!) создайте логический раздел, а затем создайте остальные.
  • Сохранить, выйти.
  • Молиться.
  • Перезагружать.

Вы должны использовать liveisk, как grmlдля всего этого. Если вы сделали что-то не так, перезагрузите компьютер и повторите попытку.

Пока вы не записываете данные на диск, ничего не теряется. Помните, что на вашем телефоне все еще есть макет вашего раздела, так что вы можете восстановить исходный GPT, если это действительно необходимо.

Если вы действительно что-то испортили и не сделали фотографии, попробуйте testdiskопределить границы раздела. Но не ставьте на это деньги, как только ваш макет станет чем-то необычным.


Что касается изменения размеров для уменьшения размера перегородок, то с высоты птичьего полета:

  • Сначала вы всегда должны сжать файловую систему. Легко для ext4 ( resize2fs -M dev/sdX), но невозможно для XFS, поскольку его нельзя сжать. Знайте, что вы используете, и Google, прежде чем пытаться такие трюки.
  • Если у вас есть LVM, уменьшите логический том дальше. ( lvreduce -L 20G /dev/mapper/<VG>-<LV>)
  • Следующим шагом LVM является уменьшение физического объема. pvresize --setphysicalvolumesize 25G /dev/sdXэто путь
  • Затем используйте инструмент разбиения по выбору, удалите раздел, на котором установлен ваш lvm, и создайте его заново.

Размеры для всех упомянутых элементов, упомянутых здесь, выглядят следующим образом: Файловая система <LV <PV <раздел, если это не так после следующей перезагрузки, вы увидите, что вам нужно выполнить проверку FS. Не делайте этого, просто перезагрузитесь в liveisk снова и внесите свои коррективы. Если вы там все исправите, ваша система снова загрузится, обещаю.

Чтобы иметь возможность сделать все это, если у вас есть PARTITION + LUKS + LVM + FILESYSTEM, вот несколько советов, как это сделать из оболочки:

  • df -h ваш друг, который показывает размер файловой системы при монтировании раздела
  • lsblkи lsblk -fваши друзья для показа разделов
  • Если вы используете LUKS, откройте крипто-контейнер через cryptsetup open /dev/sdX asdf, введите свой пароль, и он должен стать доступным до конца /dev/mapper/asdf. Криптоконтейнеры не нуждаются в изменении размера. (Пропустите это, если у вас нет зашифрованного раздела, конечно.)
  • vgchange -aay активировать все логические тома, чтобы вы могли работать с ними.
  • mkdir asdf; mount /dev/mapper<VG>-<LV> asdfа затем df -hпроверить размер вашей файловой системы перед изменением размера.
  • umount asdf так что он снова размонтирован.
  • resize2fs -M /dev/mapper/<VG>-<LV>,
  • mount /dev/mapper/<VG>-<LV> asdf; df -h чтобы проверить насколько велика ваша файловая система.
  • Сделайте LV на 1 ГБ больше, чем файловая система. Скорее всего, этого будет недостаточно. Сделайте его еще больше, если вы можете перенести его, иначе linux сообщит вам после перезагрузки, что он не будет работать. НЕ выполняйте проверку FS при появлении запроса, перезагрузите систему и начните снова, в этом случае данные не будут потеряны.
  • Сделайте PV на 1 ГБ больше, чем LV.
  • Сделайте раздел на 1 ГБ больше, чем PV. 100M тоже должно быть достаточно, так как LVM создает экстенты размером 4M (это похоже на блоки на жестком диске напрямую, но для LVM), и вы только хотите, чтобы последний экстент не опускался, делая раздел слишком маленьким. Но, как я уже сказал, должен . Не все просчитывайте, просто поправляйте и исправляйте, если они сломаются. В конце концов, это Linux, это позволяет вам сделать это.

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

Чтобы легко распознать , что это то , что с помощью LVM, всегда использовать имя хоста как имя для VG и точки монтирования ( root, swap, var...) для ЛВ при создании настройки LVM, если вы уже не сделать. Это общий совет, а не то, что вы должны сделать для выполнения любого из вышеуказанных шагов.

sjas
источник
1

GParted сделал эту работу за меня (протестировано на Kali Linux USB Live v2.1), выполнив:

Device --> Create Partition Tablet --> Type MSDOS

Сначала удалите все разделы.

Сопалахо де Арриерес
источник