Как управлять двумя разделами EFI для двух разных установок Ubuntu?

Как управлять двумя разделами EFI для двух разных установок Ubuntu?

Недавно мой жесткий диск дал мне несколько плохих секторов. Буквально несколько дней назад произошло повреждение данных. Так что, похоже, мой жесткий диск подходит к концу своей жизни.

Так что одним из вариантов было купить новый жесткий диск, но я заменю ноутбук где-то через 5-6 месяцев, поэтому я не хотел добавлять расходы. Поэтому я установил Ubuntu на внешний жесткий диск. Когда я его установил, внешний Ubuntu изменил раздел EFI внутреннего жесткого диска. Теперь мне нужно подключить внешний жесткий диск для загрузки.

Я хочу разделить оба раздела EFI. Мне нужен раздел EFI, который может открыть внутренний жесткий диск Ubuntu без внешнего диска, а также я хочу загрузиться с внешнего, если внутренний выйдет из строя. Поэтому мне нужны два разных EFI: один на внутреннем и один на внешнем.

Я попробовал запустить update-grub из внутреннего ubuntu. Он показал мне, что может обнаружить windows из внутреннего, а также ubuntu из внешнего. Но он не изменяет раздел EFI. Кроме того, как мне настроить отдельный раздел EFI на внешний диск? Я уже создал 200 МБ раздела EFI fat32 на внешнем диске. Я скопировал весь EFI с внутреннего на внешний. Я проверил, загружается он или нет, из пользовательской записи, которую я создал в bios. Так что теперь я хочу узнать, как загрузить внутренний grub с внутреннего жесткого диска и какие изменения, кроме пути EFI в /etc/default/grub, мне нужно внести во внешний, чтобы все заработало.

решение1

Ошибка Launchpad № 1396379 (во время установки пользовательский ввод местоположения загрузчика игнорируется, и используется первый найденный EFI) является причиной таких проблем. Добавьте себя в раздел "Это касается меня?" об ошибке, если вы когда-либо будете устанавливать на второй диск. За пределами установщика grub работает нормально и может использоваться с соответствующими параметрами для указания места установки.

Результатом установки на второй диск является то, что EFI первого диска обновляется и по-прежнему загружает grub, но теперь дополнительные файлы grub находятся на втором диске. Это работает, пока подключен второй диск. Без подключения второго диска grub не может найти файлы, необходимые для продолжения загрузки. Копирование файла EFI первого диска в EFI второго диска приведет к рабочей загрузке второго диска. Выберите/поместите диск в качестве первого в порядке загрузки для загрузки.

Исправление для первого EFI заключается в редактировании файла EFI/ubuntu/grub.cfg (он состоит всего из нескольких строк), чтобы изменить ссылки на диски/разделы обратно на первый диск и использовать UUID (предоставленный запуском sudo blkid в терминале) для Ubuntu на первом диске. Это изменение позволяет grub загружаться с первого диска. Единственное другое изменение, которое вам (может) понадобиться, — это восстановить загрузчик Windows по умолчанию для устройства. Файл /EFI/Boot/bootx64.efi изначально был загрузчиком Windows, но, вероятно, был переименован в /EFI/Boot/bckbootx64.efi (или, может быть, bootx64.efi.bup). Проверьте размер загрузчика Windows в /EFI/Microsoft/Boot/bootmgfw.efi, чтобы убедиться, что bckbootloader.efi действительно является загрузчиком Windows. Затем просто скопируйте его (или /EFI/Microsoft/Boot/bootmgfw.efi) обратно в /EFI/Boot/bootx64.efi. Поставьте устройство или /EFI/Microsoft/Boot/bootmgfw.efi вторым в порядке загрузки, так что если второй диск не подключен, он загрузит вторую запись.

Связанный контент