разделы chainloader и efi boot

разделы chainloader и efi boot

Моя недавняя попытка установить многозагрузочную систему на мой двухдисковый риг провалилась, хотя я успешно установил Ubuntu, Linux Mint и Peppermint на диск 1, обновив grub впоследствии. Когда я попытался установить CentOS, openSUSE и Fedora на диск 2, я столкнулся с многочисленными проблемами.

  1. Недостаточно свободного места. Хотя я использовал GParted для форматирования обоих дисков для установки без LVM, плюс на диске 2 не было ОС.
  2. Не вижу других дистрибутивов в установщике.
  3. Точки монтирования не принимаются.
  4. Требовался раздел /boot/efi и запрашивалась таблица разделов GPT.
  5. Попытка изменить разделы через установщик привела к его сбою.
  6. Попробовал LMDE 2 (у Debian проблемы с моим процессором?), хотя он увидел все установленные дистрибутивы (включая переустановленный CentOS 6.6, чтобы проверить, не я ли это сделал), он потребовал раздел /boot/efi.

Действия.

Так как у меня были проблемы с более новыми дистрибутивами RPM, я решил сначала установить CentoS 7, хотя CentOS 6.6 ранее прекрасно сосуществовал с моими старыми настройками BIOS и sudo update-grub. Особенно openSUSE, есть ли какие-нибудь подсказки, чтобы повысить мои шансы на чистую установку. Я думаю, что я разобрался с причудами CentOS и Fedora.

  1. Удалить все. Для новой установки.
  2. Переформатируйте оба диска с помощью GPT, создав два раздела fat32 /boot/efi с флагом для каждого диска. Это излишество или необходимость?
  3. Затем создал разделы /, /home с ext4 и раздел linux-swap для моей новой ручной установки без LVM.
  4. Проверьте BIOS и измените настройки с Legacy на UEFI.
  5. Установите CentOS 7, преодолев его недостатки, связанные с нехваткой места и особенностями точек монтирования, которые были такими: /boot/efi, затем /home, а затем / и swap.
  6. Выполните команду [ -d /sys/firmware/efi ] && echo "Установлено в режиме UEFI" || echo "Установлено в режиме Legacy" = Установлено в режиме UEFI.

Поскольку Ubuntu и дистрибутивы на основе Ubuntu в основном используют Debian в качестве своей базы, в настоящее время еще не реализуя systemd, весьма вероятно, что они последуют этому примеру в ближайшем будущем, и мне нужно адаптироваться уже сейчас.

Цепной погрузчик.

Не то, с чем у меня было много опыта, в последний раз, когда я пробовал это, sudo update-grub удалил это. Так что позже, в веб-сафари, я нашел некоторые ощутимые отправные точки и вызвал правильные термины (новые) для CentOS 7, с grub2-mkconfig -o /boot/grub2/grub.cfg, похожим на sudo update-grub. Затем "etc/grub.d/40_custom", чтобы открыть файл gedit, или так я думал, что это произойдет, чтобы отредактировать пункт меню #40.

Терминал.

В терминале мне вводить мой цепной загрузчик после #...? Я не уверен в сценарии, приведенном ниже, и был бы признателен опытному мнению по этому поводу.

[root@localhost tony]# /etc/grub.d/40_custom
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
[root@localhost tony]#

#DISK 1
#
# for CentOS-7
menuentry "My custom boot entry" {
set root= '(hd0,2)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
# for openSUSE
"openSUSE-13.2" {
set root='(hd0,5)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
# for Fedora
"Fedora-22" {
set root='(hd0,8)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
#DISK 2
#
# for Ubuntu
"Ubuntu-14.04.2" {
set root='(hd1,2)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
# for Linux Mint
"Linuxmint-17.1" {
set root='(hd1,5)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
# for Peppermint
"Peppermint-Five" {
set root='(hd1,8)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}

Краткое содержание.

Изменил режим с Legacy на UEFI, использовал таблицы разделов GPT, создал два раздела /boot/efi для обоих дисков, это необходимо. Chainloader, неуверенный в себе, требуется руководство, чтобы, надеюсь, сделать безболезненную установку других дистрибутивов, которые живут в гармонии друг с другом.

Заранее благодарю за столь необходимую помощь по этой теме.

решение1

Некоторые из ваших проблем, например, когда установщики не принимают указанные вами точки монтирования, явно специфичны для конкретного дистрибутива и должны рассматриваться как отдельные вопросы, связанные с ними, возможно, на форумах, посвященных конкретному дистрибутиву.

На общий вопрос о том, как настроить менеджер загрузки для вашей сложной многооперационной системы, я сначала посоветую вам не создавать такую ​​сложную систему. Если возможно, вам следует выполнить однократную загрузку и использовать виртуализацию (VMWare, VirtualBox, KVM/QEMU и т. д.) для работы с несколькими ОС. Этот подходмногоменьше проблем, чем пытаться управлять полудюжиной различных ОС на одном компьютере.

Если выдолженмультизагрузочный так много ОС, IMHO GRUB - ужасное решение. Он требует сложной логики определения ОС в скриптах установки. Скрипты установки любого дистрибутива будут работать с этим дистрибутивом довольно хорошо, но будут гораздо более сомнительными с другими дистрибутивами. Вместо этого вам следует рассмотреть возможность использования другого менеджера загрузки EFI. Доступно несколько, как подробно описано наэта страницамоего. Большинство требуют ручной настройки, но эта настройка будет намного проще, чем настройки, необходимые для работы GRUB. Мой собственныйпересмотретьвероятно, будет самым простым в настройке для вас, так как он сканирует загрузчики и ядра Linux при каждой загрузке. Вам может понадобиться файл /boot/refind_linux.confдля большинства ваших установок, и вам может потребоваться уделить особое внимание файловой системе(ам), на которых вы храните свои ядра, и убедиться, что вы установили для них драйверы файловой системы EFI, но rEFInd, вероятно, загрузит большинство или все ваши дистрибутивы с небольшими усилиями, и вам не нужно будет настраивать конфигурацию всякий раз, когда вы меняете свое ядро ​​в любом данном дистрибутиве.

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