У меня есть два предложения ...
Вариант № 1: Отдельные ESP
В EFI загрузчик находится на системном разделе EFI (ESP). Я поставил слово «the» в кавычки, потому что нет правила, согласно которому вы ограничены одним ESP. Если вы создали два ESP на жестком диске, вы можете использовать один из них для первой установки и второй ESP для второй установки. Это должно работать без проблем, хотя вам придется создавать разделы вручную (используя опцию «Something Else» во время установки), по крайней мере, для второй установки Ubuntu.
Одна из проблем этого подхода заключается в том, что, хотя в спецификации EFI прямо указано, что вы можете создать столько ESP, сколько захотите, некоторые программы могут запутаться из-за этого. Одним из ярких примеров этого является установщик Windows, по крайней мере, через Windows 7 (я не знаю о Windows 8 или более поздней версии); когда установщик Windows 7 видит диск с двумя ESP, он вылетает и делает странные вещи. IIRC, он не завершает свою собственную установку должным образом. Возможно, что инструменты восстановления Windows пострадают от той же проблемы. Если вы не загружаете Windows в этой системе, это не должно иметь большого значения. Если вы находитесьзагружаясь с Windows, вы должны просто знать о проблеме, потому что вы можете легко преодолеть ее, временно изменив код типа не-Windows ESP, если у вас возникнут проблемы. Обратите внимание, что Windows будет нормально загружаться на диск с несколькими ESP; это просто установщик, который душит такие диски.
Другая проблема заключается в том, как вы будете переключаться между двумя дистрибутивами. Возможно, вам придется настроить одну или обе настройки GRUB в вашей установке с помощью такого инструмента, как GRUB Customizer. Другой (но не несовместимый) вариант - использовать собственный менеджер загрузки вашей прошивки для переключения между вашими двумя установками GRUB и использовать каждую из них для загрузки только своей собственной версии Ubuntu.
Вариант № 2: отказаться от GRUB (или, по крайней мере, инструментов Ubuntu GRUB)
Проблема с GRUB для вашей ситуации заключается в том, что у вас есть две установки, и инструменты обслуживания GRUB могут быть сбиты с толку этой конфигурацией. Это наблюдение приводит к очевидному решению, что вы просто не должны использовать эти инструменты. Существует несколько других загрузчиков EFI для Linux, большинство из которых легче поддерживать вручную, чем GRUB. Вы можете настроить ELILO, SYSLINUX, исправленную Fedora GRUB Legacy, gummiboot или rEFInd и управлять обеими установками вручную. Фактически, поскольку rEFInd обнаруживает ядра при каждой загрузке, rEFInd должен быть близок к отсутствию обслуживания, как только он настроен. В качестве альтернативы, но в том же духе, вы можете вручную отредактировать grub.cfg
файл, чтобы сделать то, что вы хотите, а не полагаться на сценарии установки GRUB.
Помимо rEFInd, все эти инструменты потребуют от вас вносить изменения в конфигурацию всякий раз, когда вы обновляете ядро, что будет перетаскивать. Там также вопрос, когда и как установить дополнительную загрузочную программу. Я бы, вероятно, отложил его до окончания вашей второй установки Ubuntu, поскольку каждая установка будет регистрировать свою собственную копию GRUB в качестве загрузчика по умолчанию, и вы хотите переопределить эту настройку по умолчанию.
Также обратите внимание, что ни один из этих инструментов не может считывать ядро из зашифрованной файловой системы или из LVM, поэтому вам потребуется отдельный незашифрованный /boot
раздел для каждой из ваших установок Ubuntu. Именно так большинство инструкций, которые я видел, говорят о настройке зашифрованной установки Ubuntu в любом случае, так что, вероятно, это не имеет большого значения, если вы не хотите играть на «переднем крае» шифрования диска.
Некоторые загрузчики EFI имеют дополнительные специфические требования к разделам или файловой системе. В частности, ELILO, SYSLINUX и gummiboot требуют, чтобы ядро находилось в разделе FAT, и ESP лучше всего подходит для этого. Вы можете сделать это, смонтировав ESP в /boot
, но это сомнительное решение в Ubuntu, потому что некоторые обновления пакетов требуют символических ссылок. У вас также могут возникнуть проблемы с двумя отдельными установками Ubuntu, поскольку они оба будут пытаться получить одинаковые файлы. (В данном случае «ESP» на самом деле означает «раздел, с которого запускался загрузчик», поэтому в этом случае вы можете иметь только один ESP.) GRUB Legacy и rEFInd более гибки в этом.
Моя рекомендация
Лично я бы использовал rEFInd для этого - но, поскольку я поддерживаю REFInd, я не совсем объективен. На самом деле, у меня есть компьютер, который загружается между тремя установками Ubuntu, и rEFInd переключается между ними просто отлично. Эта конкретная система не использует шифрование, но я сомневаюсь, что это вызовет какие-либо новые проблемы с точки зрения REFInd.
Тем не менее, отдельные ESP также должны работать нормально с оговоркой, что вам может понадобиться использовать GRUB Customizer для настройки параметров как минимум одной из этих копий GRUB.
Вот шаги, которые я использовал для двойной загрузки с двумя зашифрованными LUKS системами Ubuntu на одном жестком диске с UEFI, используя вариант № 2, рекомендованный ранее Родом Смитом. Это было специально с Ubuntu 18.04.1-desktop. Шифрование домашнего каталога больше не предоставляется в качестве опции во время установки, поскольку существуют проблемы с надежностью и обслуживанием eCryptfs. Вместо этого рекомендуется использовать LUKS, поэтому я думаю, что это лучший вариант для нескольких пользователей с зашифрованными домашними разделами.
источник
Я использую следующий подход с одним ESP:
Я создал дополнительные загрузчики для каждой ОС с
используя разные
ID
для каждой операционной системы.Пример:
У меня установлена Ubuntu 16.04 и Ubuntu 18.04. Я загружаюсь в Ubuntu 16.04 и запускаю
Затем из загруженного в Ubuntu 18.04 я бегу
В настройках UEFI я вижу новые загрузочные записи с именами
Ubuntu1604
иUbuntu1804
переставляю порядок загрузки, чтобы установить одну из новых записей на первое место.Я также могу видеть папки с этими именами в ESP.
Когда обновление системы поставляется с новой версией grub, она переустанавливает свежий экземпляр grub на
ubuntu
папку -floder на ESP, это не повлияет на загрузчики, которые я создал сам, но мне нужно снова изменить порядок загрузки посколькуubuntu
-entry будет перемещен на первое место в порядке загрузки.Это что
efibootmgr -v
показано в моей конфигурации:источник
GRUB_DISTRIBUTOR="Bionic_18_04"
и переустановка grub использует его в качестве идентификатора UEFI по умолчанию. Но каждый раз он использует /EFI/ubuntu/grub.cfg в качестве места по умолчанию для загрузки из не моего нового /EFI/bionic_18_04/grub.cfg.efibootmgr -v
который я добавил к своему ответу. Оно работает. У вас могут быть дополнительные изменения, которые мешают вам сделать это. То, что я описал, - единственное, что я делаю, чтобы заставить его работать.