Grub не загружается после преобразования таблицы разделов MBR в GPT

CIRCLE-TOGGLE SINKS.

Скрипт Gaco с еще одной строкой для переключения между доступными приемниками.

#!/bin/bash 

new_sink=$(pacmd list-sinks | grep index | tee /dev/stdout | grep -m1 -A1 "* index" | tail -1 | cut -c12-)

echo "Setting default sink to: $new_sink";
pacmd set-default-sink $new_sink
pacmd list-sink-inputs | grep index | while read line
do
echo "Moving input: ";
echo $line | cut -f2 -d' ';
echo "to sink: $new_sink";
pacmd move-sink-input `echo $line | cut -f2 -d' '` $new_sink

done
2
задан 10 August 2017 в 13:52

4 ответа

Короткий ответ:

grub i386-pc нужен «загрузочный раздел BIOS» (т. е. тип ef02 в gdisk). Итак, вам нужно создать его после преобразования, прежде чем снова запустить grub-install.

Объяснение:

Естественно, что grub не будет работать, когда вы конвертируете таблицу разделов MBR / msdos к таблице разделов GUID.

Причина в том, что grub использует «промежуток после MBR», то есть промежуток между MBR и первым разделом, для встраивания части его загрузочного кода ( aka core.img). Когда вы конвертируете таблицу разделов в GPT, часть пробела перезаписывается основным GPT, поскольку она лежит на LBA 1-33 (где MBR лежит на LBA 0).

Кроме того, BIOS grub ( aka grub i386-pc) на GPT больше не используют пост-MBR или промежуток после GPT для внедрения core.img. Вместо этого ему нужен «загрузочный раздел BIOS» (т. Е. Тип ef02 в gdisk). Поэтому вам нужно создать его после преобразования, прежде чем снова запустить grub-install.

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

4
ответ дан 18 July 2018 в 08:44

Ответ Тома Яна хороший, и после этого совета, скорее всего, приведет к решению; однако я хочу немного отступить и попросить несколько других, что может привести к одинаково хорошим (и, возможно, лучшим) альтернативам:

Почему преобразование MBR-to-GPT? Преобразование из MBR в GPT имеет решающее значение в некоторых редких случаях, полезно в нескольких случаях и бессмысленном риске в большинстве ситуаций. Если была реальная причина для преобразования (скажем, если диск был более 2 TiB и поэтому недостаточно использовался MBR), то сохранение его в форме GPT важно. Если нет, то преобразование его обратно в форму MBR может быть разумным вариантом - хотя это не приведет к восстановлению загрузчика BIOS-режима; это все равно необходимо будет переустановить. OTOH, обратное преобразование будет иметь несколько преимуществ - в основном только тот факт, что вам не нужно будет создавать загрузочный раздел BIOS. У небольшого числа компьютеров есть проблемы с загрузкой в ​​режиме BIOS с дисков GPT. Если вы хотите преобразовать GPT-MBR, см. Этот раздел документации GPT fdisk. Поддерживает ли компьютер загрузку режима EFI? Если компьютер (или материнская плата) является моделью, представленной после конца 2011 года, скорее всего, это основанная на EFI. Если это так, преобразование в загрузку в режиме EFI, а не в режиме BIOS, имеет смысл. Для этого необходимо установить загрузчик EFI. Я описываю варианты на этой странице. Самый простой в установке, вероятно, будет GRUB 2 (который вы можете установить с помощью Boot Repair) и мой собственный rEFInd (который вы можете установить с помощью флэш-накопителя rEFInd USB или CD-R для загрузки, а затем установки пакета rEFInd PPA или Debian в Ubuntu). Обратите внимание, что для перехода на загрузку в режиме EFI потребуется создать системный раздел EFI (ESP), который больше, чем загрузочный раздел BIOS (я рекомендую 550 MiB для ESP). Какие ОС (ОС), кроме Ubuntu, установлены на компьютере? Если компьютер не загружает ничего, кроме Ubuntu, вам нужно иметь дело только с повторной загрузкой одной ОС. Однако, если вы загружаете что-то еще, вы должны учитывать возможности ОС и загрузчик. Windows, в частности, может быть очень ограниченным. В Windows привязаны тип загрузки и тип таблицы разделов, поэтому, если вы сохраняете конфигурацию GPT, вы должны преобразовать ее в загрузку в режиме EFI. Это, скорее всего, будет больше работы, чем возврат к MBR. Этот новый инструмент Microsoft может выполнить преобразование, но он разработан с таблицей разделов MBR в качестве отправной точки, и я понятия не имею, как он будет реагировать на двойную загрузку или систему с таблицей разделов, уже преобразованной в GPT. Раньше были сайты с пошаговыми инструкциями для ручных преобразований, но сайты, о которых я знаю с этой информацией, исчезли, поэтому у меня больше нет указателей.

Загрузка EFI-режима имеет некоторые преимущества по сравнению с загрузкой BIOS-режима, включая несколько более быстрое время загрузки (обычно), управление операцией загрузки в ОС, доступ к некоторым сведениям о загрузке и прошивке от ОС, повышение безопасности (в виде Secure Boot, если он поддерживается на вашем оборудовании), более гибкое управление загрузчиком и более легкое управление загрузчиком (как только вы поймете, как, кривая обучения, по общему признанию, немного крутая). OTOH, переключение на загрузку EFI-режима, даже если это возможно, может легко привести к новым проблемам, особенно если вы не знаете, что делаете. Таким образом, установка загрузочного загрузчика в режиме BIOS с изменением или без преобразование MBR-to-GPT, скорее всего, будет более безопасным подходом в краткосрочной перспективе. Если система многозагружена с другой ОС, ситуация становится намного сложнее, и почти наверняка будет проще всего вернуться к MBR. Не зная ответов на три вопроса о пулевой точке, я не могу дать твердый совет о том, следует ли попробовать такое преобразование.

2
ответ дан 18 July 2018 в 08:44

Короткий ответ:

grub i386-pc нужен «загрузочный раздел BIOS» (т. е. тип ef02 в gdisk). Итак, вам нужно создать его после преобразования, прежде чем снова запустить grub-install.

Объяснение:

Естественно, что grub не будет работать, когда вы конвертируете таблицу разделов MBR / msdos к таблице разделов GUID.

Причина в том, что grub использует «промежуток после MBR», то есть промежуток между MBR и первым разделом, для встраивания части его загрузочного кода ( aka core.img). Когда вы конвертируете таблицу разделов в GPT, часть пробела перезаписывается основным GPT, поскольку она лежит на LBA 1-33 (где MBR лежит на LBA 0).

Кроме того, BIOS grub ( aka grub i386-pc) на GPT больше не используют пост-MBR или промежуток после GPT для внедрения core.img. Вместо этого ему нужен «загрузочный раздел BIOS» (т. Е. Тип ef02 в gdisk). Поэтому вам нужно создать его после преобразования, прежде чем снова запустить grub-install.

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

4
ответ дан 24 July 2018 в 19:10
  • 1
    @CharlesGreen в третьем абзаце представлено решение, которое создает раздел загрузки BIOS и повторно запускает grub-install. Я признаю, что не сделал конкретных шагов для этого. Причиной этого является отсутствие подробных разделов разделов или, таким образом, предоставляется в OP. Подробные шаги могут быть разными. Возможно создать один из них, переопределив настройку выравнивания разделов в gdisk и использовать разрыв после GPT. Менее безобразный подход может сжимать один из разделов и использовать исправленное пространство. Я не думаю, что было бы целесообразно предоставить «руководство» / «учебное пособие», для этого. – Tom Yan 10 August 2017 в 16:45
  • 2
    @CharlesGreen Я считаю, что предполагаемый ответ находится в абзаце, начинающемся со слова «Более того». – Elder Geek 10 August 2017 в 16:56

Ответ Тома Яна хороший, и после этого совета, скорее всего, приведет к решению; однако я хочу немного отступить и попросить несколько других, что может привести к одинаково хорошим (и, возможно, лучшим) альтернативам:

Почему преобразование MBR-to-GPT? Преобразование из MBR в GPT имеет решающее значение в некоторых редких случаях, полезно в нескольких случаях и бессмысленном риске в большинстве ситуаций. Если была реальная причина для преобразования (скажем, если диск был более 2 TiB и поэтому недостаточно использовался MBR), то сохранение его в форме GPT важно. Если нет, то преобразование его обратно в форму MBR может быть разумным вариантом - хотя это не приведет к восстановлению загрузчика BIOS-режима; это все равно необходимо будет переустановить. OTOH, обратное преобразование будет иметь несколько преимуществ - в основном только тот факт, что вам не нужно будет создавать загрузочный раздел BIOS. У небольшого числа компьютеров есть проблемы с загрузкой в ​​режиме BIOS с дисков GPT. Если вы хотите преобразовать GPT-MBR, см. Этот раздел документации GPT fdisk. Поддерживает ли компьютер загрузку режима EFI? Если компьютер (или материнская плата) является моделью, представленной после конца 2011 года, скорее всего, это основанная на EFI. Если это так, преобразование в загрузку в режиме EFI, а не в режиме BIOS, имеет смысл. Для этого необходимо установить загрузчик EFI. Я описываю варианты на этой странице. Самый простой в установке, вероятно, будет GRUB 2 (который вы можете установить с помощью Boot Repair) и мой собственный rEFInd (который вы можете установить с помощью флэш-накопителя rEFInd USB или CD-R для загрузки, а затем установки пакета rEFInd PPA или Debian в Ubuntu). Обратите внимание, что для перехода на загрузку в режиме EFI потребуется создать системный раздел EFI (ESP), который больше, чем загрузочный раздел BIOS (я рекомендую 550 MiB для ESP). Какие ОС (ОС), кроме Ubuntu, установлены на компьютере? Если компьютер не загружает ничего, кроме Ubuntu, вам нужно иметь дело только с повторной загрузкой одной ОС. Однако, если вы загружаете что-то еще, вы должны учитывать возможности ОС и загрузчик. Windows, в частности, может быть очень ограниченным. В Windows привязаны тип загрузки и тип таблицы разделов, поэтому, если вы сохраняете конфигурацию GPT, вы должны преобразовать ее в загрузку в режиме EFI. Это, скорее всего, будет больше работы, чем возврат к MBR. Этот новый инструмент Microsoft может выполнить преобразование, но он разработан с таблицей разделов MBR в качестве отправной точки, и я понятия не имею, как он будет реагировать на двойную загрузку или систему с таблицей разделов, уже преобразованной в GPT. Раньше были сайты с пошаговыми инструкциями для ручных преобразований, но сайты, о которых я знаю с этой информацией, исчезли, поэтому у меня больше нет указателей.

Загрузка EFI-режима имеет некоторые преимущества по сравнению с загрузкой BIOS-режима, включая несколько более быстрое время загрузки (обычно), управление операцией загрузки в ОС, доступ к некоторым сведениям о загрузке и прошивке от ОС, повышение безопасности (в виде Secure Boot, если он поддерживается на вашем оборудовании), более гибкое управление загрузчиком и более легкое управление загрузчиком (как только вы поймете, как, кривая обучения, по общему признанию, немного крутая). OTOH, переключение на загрузку EFI-режима, даже если это возможно, может легко привести к новым проблемам, особенно если вы не знаете, что делаете. Таким образом, установка загрузочного загрузчика в режиме BIOS с изменением или без преобразование MBR-to-GPT, скорее всего, будет более безопасным подходом в краткосрочной перспективе. Если система многозагружена с другой ОС, ситуация становится намного сложнее, и почти наверняка будет проще всего вернуться к MBR. Не зная ответов на три вопроса о пулевой точке, я не могу дать твердый совет о том, следует ли попробовать такое преобразование.

2
ответ дан 24 July 2018 в 19:10

Другие вопросы по тегам:

Похожие вопросы: