«GPT обнаружен. Пожалуйста, создайте раздел BIOS-Boot »при использовании boot-repair

12

Поскольку я обновил Windows до 8.1, мое меню Grub исчезло. Я запустил Ubuntu с помощью Live USB, я использовал Boot-Repair, но что-то пошло не так. Если я нажимаю на Рекомендованный ремонт, я получаю эту ошибку:

GPT обнаружен. Пожалуйста, создайте раздел BIOS-Boot (> 1 МБ, неформатированная файловая система, флаг bios_grub). Это может быть выполнено с помощью таких инструментов, как Gparted. Тогда попробуйте еще раз. Кроме того, вы можете повторить попытку после активации опции [Separate / boot / efi partition:].

Поэтому я попытался установить свой sda9 (я думаю, что это системный раздел Ubuntu, поскольку он ext4) с флагом bios_grub, а затем снова запустить Boot-Repair. Это не сработало.

Я не знаю что делать Мой Grub работал нормально (используя UEFI) до того, как я обновил Windows.

Я удалил флаг bios_grub. Тогда я использовал, fsckи он не нашел никакой ошибки. Поэтому я попытался снова с Boot-Repair, но он всегда выдает ошибку «Обнаружен GPT». Моя загрузка в режиме UEFI, безопасная загрузка выключена.

Когда я загружаю свой компьютер с отключенной SecureBoot, я могу получить доступ к меню GRUB. Но он пустой (единственный голос - «Настройка системы»).

Я смонтировал системный диск Ubuntu:

sudo mount /dev/sda9 /mnt

и другие вещи:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

Я вошел в систему с chroot:

sudo chroot /mnt

Я заново установил grub:

grub-install /dev/sda
update-grub2

Но это все еще не работает.

Курт Бурбаки
источник
Для будущих читателей этот ответ исправил это для меня (загрузите реальный раздел, а затем запустите grub-install): askubuntu.com/questions/546582/surface-pro-3-no-grub-menu/…
CornSmith

Ответы:

11

Во-первых, bios_grubфлаг partedили GParted - это способ определения загрузочного раздела BIOS. GRUB 2 использует этот раздел для хранения части своего загрузочного кода, когда компьютер загружается в режиме BIOS. Обычно он составляет около 1 МБ, хотя в некоторых случаях он может быть меньше. Наиболее важно, если Boot Repair повторно запустил установщик GRUB после того, как вы установили bios_grubфлаг в своем /разделе root ( ) Linux , возможно, вы разрушили этот раздел. Таким образом, прежде чем делать что-либо еще, я рекомендую вам:

  1. Удалите bios_grubфлаг из вашего корневого /раздела Linux ( ).
  2. Протестируйте свой /раздел Linux ( ) с fsck(или эквивалентной функциональностью в GParted или других инструментах с графическим интерфейсом). Если в разделе есть ошибки, исправьте их или восстановите систему из резервной копии. Только после того, как вы убедитесь, что можете смонтировать раздел и использовать его как обычно, вам следует продолжить.

Во-вторых, у вас возникла эта проблема, потому что вы загрузили аварийный диск в режиме BIOS / CSM / legacy, а не в режиме EFI. Вам нужно научиться контролировать режим загрузки вашего компьютера. Обычно это можно сделать с помощью менеджера загрузки, доступ к которому осуществляется нажатием клавиши Esc или функциональной клавиши в начале процесса загрузки (до появления GRUB); но нет никакой стандартизации того, как получить доступ к этому менеджеру загрузки или какие опции он предоставляет. Таким образом, вам может потребоваться экспериментировать, чтобы понять это.

В-третьих, если вы можете выяснить, как загрузить ваш live CD в режиме EFI, Boot Repair должно решить проблему. В качестве альтернативы, вы можете использовать версию моего менеджера загрузки rEFInd для загрузки с CD-R или USB-накопителя для загрузки Linux. После запуска Linux вы сможете использовать efibootmgrGRUB для восстановления загрузчика по умолчанию, но детали зависят от того, как он настроен сейчас. Вкратце, вы должны использовать -oопцию, чтобы efibootmgrустановить запись GRUB в качестве первой. Этот вопрос и ответы освещают проблему под другим углом. Вместо восстановления GRUB, вы можете также установить rEFInd на свой жесткий диск.


РЕДАКТИРОВАТЬ: попробуйте использовать мой менеджер загрузки rEFInd: используйте флэш-накопитель USB или образ CD-R, чтобы создать подходящий носитель и загрузиться с него. Это должно дать вам возможность для Windows и по крайней мере один вариант для Linux. Если вы можете загружать как Windows, так и Linux, установите пакет Debian rEFInd в Linux. Это должно переключить компьютер для использования rEFInd по умолчанию, и вы сможете нормально загружать все.

Род Смит
источник
Я удалил флаг bios_grub. Тогда я использовал fsck, и он не нашел никакой ошибки. Поэтому я попытался снова с Boot-Repair, но он всегда выдает ошибку «Обнаружен GPT». Моя загрузка в режиме UEFI, безопасная загрузка выключена. Если я включил Secure Boot, это выдает ошибку политики безопасности. Как я могу решить ошибку GPT?
Курт Бурбаки
PS Когда я загружаю свой компьютер с отключенной SecureBoot, я могу получить доступ к меню GRUB. Но он пустой (единственный голос - «Настройка системы»).
Курт Бурбаки
Пожалуйста, попробуйте использовать rEFInd, как предложено в моем редактировании.
Род Смит
Я использовал rEFInd, но результат тот же. Это показывает мне интерфейс с 3 вариантами выбора; когда я выбираю Windows или Ubuntu, он снова возвращает меня в меню GRUB, как будто система перезагружается. Это как если бы система не могла найти нужные файлы для загрузки (я пытаюсь угадать). На самом деле, даже если я выбираю Ubuntu или Windows из системной загрузки, это продолжает приводить меня в меню GRUB.
Курт Бурбаки
1
Boot Repair иногда заменяет загрузчик Windows другой копией GRUB, создавая резервную копию оригинала в другом файле. В меню Boot Repair Advanced есть возможность восстановить такие резервные копии, так что вы можете попробовать запустить их, а затем использовать rEFInd. Также возможно, что оригинал был утерян, и в этом случае может потребоваться восстановление его из резервной копии или использование диска восстановления Windows. Если при выборе vmlinuz*опции rEFInd вызывает GRUB , значит, что-то не так с вашей системой. Какой марки компьютер / материнская плата у вас есть?
Род Смит
2

Вы можете решить эту проблему следующим образом:

  1. Начните Gparted.

  2. Определите загрузочный раздел. Мой первый 16,00MiB на моем системном диске.

  3. Удалить раздел (вы не захотите удалить не тот раздел и потерять все данные на нем! Прекратите, если вы не знаете, что делаете!).

  4. Создайте новый раздел (не форматируйте его для какой-либо файловой системы), примените настройки.

  5. Пометить новый раздел как bios_grub, используя опцию Manage Flags.

Теперь попробуйте восстановить загрузчик снова.

янь
источник
Я сделал только это, и boot-repair все еще не видит раздел bios_grub ... что теперь?
Magix