Из соображений безопасности я хотел бы установить вторичную абсолютно независимую операционную систему на единственном жестком диске использующий компьютеры UEFI. Обе установки должны смочь с помощью другого LUKS crypto разделы как корневое устройство (LVM сверху crypto) и должны смочь использовать свои собственные ядра.
Наличие двойной загрузки с двумя различными операционными системами не является грандиозным предприятием. Ubuntu и Fedora не вмешаются и могут совместно использовать системный раздел EFI, но две установки Ubuntu будут бороться друг с другом, потому что они хотят оба, устанавливают их экземпляр Личинки на том же местоположении EFI.
Есть ли способ изменить Ubuntu для установки Личинки на другом местоположении, чем /boot/efi/EFI/ubuntu
во время установки? Мне нужен персистентный путь, так, чтобы обновления пакета и обновления ядра/личинки все еще установили в том пути. Точно так же, как, как Личинка Fedora установила бы в /boot/efi/EFI/fedora
. Я не могу найти тот параметр конфигурации в Личинке. Если бы я мог, мое меню начальной загрузки Dell UEFI позволить мне выбирать который ОС загрузиться. Возможно, я пропускаю немного связующего звена между efibootmgr и личинкой-efi здесь.
С другой стороны, было бы возможно использовать единственную установку Личинки от одной из двух установок Ubuntu и иметь его, автоматически обнаруживают правильные настройки начальной загрузки? Я имею в виду, я знаю os-prober
найдет другой /boot
раздел с ядрами, но как это может знать правильные параметры начальной загрузки для того, что ОС (например, объем LVM внутри заблокировал crypto объем как корневую файловую систему)? Я могу понять, что это может с незашифрованными установками единственного раздела, но это не может соответствовать a /boot
с его соответствующей корневой файловой системой, правильно? И это абсолютно невозможно, если зашифровано. Таким образом, это потребовало бы большой ручной тонкой настройки конфигурационных файлов личинки. Мне также не нравится эта опция единственной общей конфигурации загрузчика, делая эти две операционных системы менее изолированными в некоторой степени.
Все хорошо с сервером основанная на тексте профессиональная установка, между прочим. Также некоторая пользовательская конфигурация, пока я не должен повторять шаги для каждого обновления ядра/Личинки.
Чтобы постараться не сохранять две установки GRUB, которые борются один против другого, Вы могли установить GRUB на одной трети, отдельном разделе. Принятый ответ Создание специализированного раздела личинки прежде, чем установить человечность (который должен работать после установки Ubuntu также) должен описать достаточно хорошо эту возможность.
Я использую следующий подход с единственным ESP:
Я создал дополнительные загрузчики для каждой ОС с
sudo grub-install --bootloader-id=ID
использование другого ID
для каждой операционной системы.
Пример:
Мне установили Ubuntu 16.04 и Ubuntu 18.04. Я загружаюсь в Ubuntu 16.04 и работаю
sudo grub-install --bootloader-id=Ubuntu1604
Затем от загруженного в Ubuntu 18.04 я работаю
sudo grub-install --bootloader-id=Ubuntu1804
В UEFI-настройках я вижу новые записи загрузки с именами Ubuntu1604
и Ubuntu1804
и перестройте порядок загрузки для установки одной из новых записей в первое место.
Я могу также видеть, что папки с этим называют в ESP.
Когда обновление системы будет поставляться с новой версией личинки, оно переустановит новый экземпляр личинки к ubuntu
- папка на ESP, это не будет влиять на загрузчики, которые я создал сам, но я должен перестроить порядок загрузки снова как ubuntu
- запись будет продвинута к первому месту в порядке загрузки.
Это что efibootmgr -v
шоу в моей конфигурации:
~$ efibootmgr -v BootCurrent: 0001 Timeout: 0 seconds BootOrder: 0001,0002,0004,0000,0003,0005 Boot0000* ubuntu HD(1,GPT,249ac0f6-d3e4-4b91-91d5-6e8d63c093c3,0x800,0x9a000)/File(\EFI\ubuntu\shimx64.efi) Boot0001* US1804 HD(1,GPT,249ac0f6-d3e4-4b91-91d5-6e8d63c093c3,0x800,0x9a000)/File(\EFI\US1804\grubx64.efi) Boot0002* US1604 HD(1,GPT,249ac0f6-d3e4-4b91-91d5-6e8d63c093c3,0x800,0x9a000)/File(\EFI\US1604\grubx64.efi) Boot0003* UEFI OS HD(1,GPT,249ac0f6-d3e4-4b91-91d5-6e8d63c093c3,0x800,0x9a000)/File(\EFI\BOOT\BOOTX64.EFI) Boot0004* US1904 HD(1,GPT,249ac0f6-d3e4-4b91-91d5-6e8d63c093c3,0x800,0x9a000)/File(\EFI\US1904\shimx64.efi) Boot0005* ubuntu HD(1,GPT,249ac0f6-d3e4-4b91-91d5-6e8d63c093c3,0x800,0x9a000)/File(EFI\Ubuntu\grubx64.efi)
У меня есть два предложения...
Под EFI, загрузчик находится на Системный раздел EFI (ESP). я поместил слово в кавычки, потому что нет никакого правила, в котором говорится, что Вы ограничены одним ESP. При создании двух ESPs на жестком диске можно использовать одного из них для первой установки и второго ESP для второй установки. Это должно работать довольно беспрепятственно, хотя необходимо будет создать разделы вручную (использующий опцию "Something Else" во время установки), по крайней мере, для второй установки Ubuntu.
Одна проблема с этим подходом состоит в том, что, хотя спецификация EFI явно указывает, что можно создать как много ESPs как Вам угодно, некоторое программное обеспечение могло бы стать перепутанным им. Одним видным примером этого является установщик Windows, по крайней мере, через Windows 7 (я не знаю о Windows 8 или позже); когда установщик Windows 7 видит диск с двумя ESP, он выключается и делает странные вещи. IIRC, это не завершает свою собственную установку правильно. Возможно, что инструменты восстановления Windows пострадали бы от той же проблемы. Если Вы не загружаете Windows в этой системе, это не должно быть грандиозным предприятием. Если Вы начальная загрузка с Windows, необходимо просто знать о проблеме, потому что можно легко преодолеть его путем временного изменения кода типа ESP не-Windows при столкновении с проблемами. Обратите внимание, что Windows загрузится очень хорошо на диске с несколькими ESPs; это - просто установщик, который дросселирует на таких дисках.
Другая проблема - то, как Вы переключились бы между своими двумя дистрибутивами. Вы, возможно, должны были бы настроить один или обе из установок GRUB Ваших установок с помощью инструмента как GRUB Customizer. Другой (но весьма совместимый) опция состояла бы в том, чтобы использовать собственный диспетчер начальной загрузки Вашего встроенного микропрограммного обеспечения, чтобы переключиться между Вашими двумя установками GRUB и использовать каждого для начальной загрузки просто его собственной версии Ubuntu.
проблема с GRUB для Вашей ситуации состоит в том, что у Вас есть две установки, и инструменты обслуживания GRUB, вероятно, станут перепутанными той конфигурацией. Это наблюдение приводит к очевидному решению, что Вы не должны просто использовать те инструменты. Существуют несколько других загрузчиков EFI для Linux, , большинство которых легче вручную поддержать, чем GRUB. Вы могли настроить ELILO, SYSLINUX, исправленное Наследие GRUB Fedora, gummiboot, или повторно найти и управлять обеими Вашими установками вручную. На самом деле, потому что повторно находят, обнаруживает ядра каждый раз, когда это загружается, перенаходка должна быть близко к без обслуживаний, как только это настраивается. С другой стороны, но в том же духе, Вы могли ручное редактирование Ваш grub.cfg
файл, чтобы сделать то, что Вы хотите, вместо того, чтобы полагаться на сценарии установки GRUB.
Кроме перенаходки, все эти инструменты потребуют, чтобы Вы сделали изменения конфигурации каждый раз, когда Вы обновляете ядро, которое будет перетаскиванием. Существует также вопрос того, когда и как установить дополнительную программу начальной загрузки. Я, вероятно, отложил его до окончания Вашей второй установки Ubuntu, так как каждая установка зарегистрирует свою собственную копию GRUB как загрузчик по умолчанию, и Вы хотите переопределить то значение по умолчанию.
Примечание также, что ни один из этих инструментов не может считать ядро из зашифрованной файловой системы или из LVM, таким образом, у Вас должно будет быть отдельное, незашифрованное /boot
раздел для каждой из Ваших установок Ubuntu. Это - путь большинство инструкций, которые я видел, говорят для установки зашифрованной установки Ubuntu во всяком случае, таким образом, это - вероятно, не грандиозное предприятие, если Вы не хотите играть на "новейшем" из шифрования диска.
Некоторые загрузчики EFI имеют дополнительное определенное разделение или требования файловой системы. Прежде всего, ELILO, SYSLINUX и gummiboot все требуют, чтобы ядро находилось на разделе FAT и работах ESP лучше всего для этого. Можно сделать это путем монтирования ESP в /boot
, но это - сомнительное решение в Ubuntu, потому что некоторые обновления пакета требуют символьных ссылок. Вы также испытали бы затруднения при выполнении этого с двумя отдельными установками Ubuntu, потому что они оба попытаются требовать тех же файлов. (В этом случае, "ESP" действительно означает "раздел, от которого загрузчик работал", таким образом, у Вас может быть всего один ESP в этом случае.) Наследие GRUB и перенаходка более гибки об этом.
Лично, которую я использовал бы, повторно находит для этого - но поскольку я поддерживаю, повторно находят, я не являюсь точно несмещенным. На самом деле у меня есть компьютер, который мультизагружается между тремя установками Ubuntu, и повторно найдите переключатели между ними очень хорошо. Эта конкретная система не использует шифрование, но я сомневаюсь, вызовет ли это какие-либо новые проблемы с точки зрения rEFInd.
Однако отдельный ESPs должен хорошо работать также с протестом, что Вы, возможно, должны были бы использовать GRUB Customizer для тонкой настройки настроек по крайней мере одной из тех копий GRUB.
Вот шаги, я привык для двойной загрузки с зашифрованными системами Ubuntu двух LUKS на единственном жестком диске с UEFI использование опции № 2, рекомендуемой Rod Smith ранее. Это было конкретно с Ubuntu, с 18.04.1 рабочими столами. Шифрование корневого каталога больше не дается как опция во время установки, поскольку существуют проблемы надежности и обслуживание eCryptfs. Рекомендуется использовать LUKS вместо этого, таким образом, я думаю, наилучший вариант иметь многочисленных пользователей с зашифрованными домашними разделами.