4

Я выполнил установку CEntOS 6.5 по умолчанию на своей машине пару месяцев назад и с тех пор добавил программы и файлы, от которых я не хочу избавляться. Я хотел бы выполнить двойную загрузку Ubuntu 14.x и мне интересно, что делать с разделом /boot. Жесткий диск в настоящее время разделен следующим образом:

sda: 256 ГБ SSD

  • sda1: /boot 500 МБ
  • sda2: /LVM физический том ~ 237 ГБ
    • / корень
    • /Главная
    • своп

Мой вопрос: можно ли разделить /boot раздел между дистрибутивами? или мне нужен отдельный раздел /boot для Ubuntu? Если да, то нужно ли помещать раздел /boot в начало диска?

3 ответа3

1

Я понимаю, что это немного поздно для вечеринки, но я просто взял это на себя, чтобы сохранить три одновременных установки и один раздел /boot :

  • арка линукс
  • Убунту 14.04
  • Ubuntu 16.04

Я годами использовал arch, но был совершенно незнаком с ubuntu и не знал, как помешать ему установить загрузчик, поэтому просто позволил. Для arch я использовал syslinux , а не grub поэтому я гораздо лучше с ним знаком. Хотя это немного рано в моем эксперименте, вот моя процедура:

  • определить потенциально конфликтующие файлы. После того, как мы обратили внимание на соглашения об именах ubuntu и arch, это сводилось к 14.04 и 16.04 vmlinuz и ininrd.img , которые называются одинаково (возможно, кроме номера версии, если они обновляются в разное время). Насколько я знаю, они совместимы, но я решил относиться к ним как к нет.
  • настройте syslinux как обычно, создавая записи для каждого дистрибутива (показано ниже)
  • при обновлении любого из потенциально конфликтующих дистрибутивов реализуйте стратегию именования, чтобы избежать проблем
  • иметь резервный план

Если Ubuntu обновляет ядро, я получаю два ключевых файла:

  • /boot/initrd.img-x.x.x-xx-generic
  • /boot/vmlinuz-x.x.x-xx-generic

Для каждого из вышеперечисленного я просто добавляю _distro в конец, а также заменяю вариант с статическим именем, чтобы не изменять мой syslinux.cfg каждом обновлении (подробнее показано ниже). Процесс будет выглядеть так, используя 14.04/Trusty в качестве примера и показывая только интересующие вас файлы.

$ cd /boot
$ sudo mv ./initrd.img-4.4.0-62-generic ./initrd.img-4.4.0-62-generic_trusty
$ sudo cp ./initrd.img-4.4.0-62-generic_trusty ./initrd-trusty.img
$ sudo mv ./vmlinuz-4.4.0-62-generic ./vmlinuz-4.4.0-62-generic_trusty
$ sudo cp ./vmlinuz-4.4.0-62-generic_trusty vmlinuz-trusty

Поскольку соглашение об именах в arch никогда не конфликтует, это означает, что я получаю 2 файла резервной копии с точно именованными файлами initrd и vmlinuz а также два, которые я могу использовать, чтобы не менять мой syslinux.cfg постоянно. Ключевые файлы выглядят так (с добавленными комментариями):

$ ls /boot/

initramfs-linux.img                 ## arch main initramfs
initramfs-linux-fallback.img        ## arch fallback initramfs
initrd.img-4.4.0-62-generic_trusty  ## named recent 14.04 initrd
initrd.img-4.4.0-62-generic_xenial  ## same for xenial (16.04)
initrd-trusty.img                   ## statically named initrd
initrd-xenial.img
vmlinuz-4.4.0-62-generic_trusty     ## named vmlinuz
vmlinuz-4.4.0-62-generic_xenial
vmlinuz-linux                       ## arch's vmlinuz
vmlinuz-trusty                      ## statically named vmlinuz
vmlinuz-xenial

Для загрузки вот мои записи syslinux :

LABEL arch
  MENU LABEL arch
  LINUX ../vmlinuz-linux
  APPEND luks-options-here rootflags=compress=lzo,discard,ssd,subvol=arch rw
  INITRD ../intel-ucode.img,../initramfs-linux.img

LABEL xenial
  MENU LABEL xenial
  LINUX ../vmlinuz-xenial
  APPEND luks-options-here ro rootflags=compress=lzo,discard,ssd,subvol=xenial quiet splash $vt_handoff
  INITRD ../initrd-xenial.img

LABEL trusty
  MENU LABEL trusty
  LINUX ../vmlinuz-trusty
  APPEND luks-options-here ro rootflags=compress=lzo,discard,ssd,subvol=trusty quiet $vt_handoff
  INITRD ../initrd-trusty.img

До сих пор я оставлял grub на убунту, и он жалуется на каждое обновление, но ничего не пошло не так. Мой план резервного копирования должен был mbr.bin к /boot/ (обычно он находится в /usr/lib/syslinux... на арке) , так что , если grub решает переписать свой загрузчик , что я могу по крайней мере , dd в syslinux загрузчиком обратно. Я на 95% уверен, что моя установка с использованием архива никогда не будет прервана (по крайней мере, до загрузки), поэтому я почти всегда буду в состоянии загружаться и исправлять убунт, если я скопировал / назвал что-то неправильно. Вероятно, я сохраню одну прежнюю версию каждого initrd/vmlinuz чтобы я мог изменить, какая из них загружается при загрузке, на случай, если что-то пойдет не так с процессом initramfs .

Надеюсь, это относительно ясно, что происходит. Возможно, я мог бы использовать ссылки, какой-то сценарий после обновления и т.д. Для автоматизации, но пока не добрался.

Принятый ответ показывает, что что-то может пойти не так, но, поскольку я гуглил примеры других, делающих это, и нашел только ответы, подобные этому (в основном, «возможно, но нет»), я решил добавить осязаемый пример как можно настроить что-то подобное.

Лично я очень рад этому. У меня есть один загрузочный раздел и, как вы могли заметить, три соседних дистрибутива на одном разделе btrfs . Не нужно предварительно выделять размеры, не беспокоиться о неприязни к одной установке и выбрасывать ее (оставляя неиспользуемый раздел без изменений) и не нужно кучу логических томов только для загрузки раздела Linux, когда у меня уже есть загрузчик!

Надеюсь, это кому-нибудь поможет.

1

Можно, но это не очень хорошая идея.

В GRUB вы должны указать разные файлы ядра и initrd для каждого дистрибутива, установленного в системе.

Однако конфигурация загрузки для одного дистрибутива может конфликтовать с конфигурацией для другого дистрибутива (ов), в зависимости от того, как каждый дистрибутив устанавливает свою конфигурацию загрузки и называет свои файлы в /boot . Это может привести к неправильной конфигурации и может привести к тому, что один или несколько дистрибутивов не будут загружаться. Особую осторожность следует соблюдать при обновлении ядра или изменении настроек загрузки в любом из дистрибутивов. Однако при отсутствии конфликтов вы сможете загрузить обе операционные системы без проблем.

0

Вы можете иметь другие системные каталоги на разных разделах.

Ответить на ваш вопрос как можно лучше. Вы можете поделиться / загрузить, но это не рекомендуется. Лично я не думаю, что это стоит головной боли в конце дня.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .