У меня есть две установки Archlinux в системе EFI, настроенной с помощью gummiboot. Один коренится в /dev /sda2, другой - в /dev /sdb1. Оба используют /dev /sda1, системный раздел EFI, в качестве своего /boot раздела, но размещают свои образы ядра в разных местах:
/boot/loader/entries/arch.conf:
title Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options root=/dev/sda2 rw
/boot/loader/entries/arch-here.conf:
title HERE Arch Linux
linux /here-img/vmlinuz-linux
initrd /here-img/intel-ucode.img
initrd /here-img/initramfs-linux.img
options cryptdevice=/dev/sdb1:cryptroot root=/dev/mapper/cryptroot rw
Это было нормально, пока я не обновил ядро с 4.8.13 до 4.9 на sdb
. В следующий раз, когда я загрузился в sda
, это не удалось с
Warning: /lib/modules/4.8.13-1-ARCH/modules.devname not found
...
ERROR: device '/dev/sda2 not found. Skipping fsck.
...
Я загрузился обратно в sdb
, переустановил ядро 4.8.13 и обнаружил, что могу снова загрузиться в sda
. Однако теперь я больше не мог загружаться в sdb
, так как он не смог загрузить зашифрованный хук, необходимый для открытия /dev /sdb1.
Я решил эту проблему с помощью chroot в /dev /sdb1 из sda
и снова установив 4.9. Это позволило мне загрузиться в sdb
но не sda
.
Теперь я застрял в цикле, где мне нужно перестраивать свой образ ядра каждый раз, когда я хочу переключиться между установками. Кажется, что два ядра как-то мешают.
Вот шаги, которые я выполняю при установке sda
каждый раз, когда я хочу загрузиться в sdb
:
sudo cryptsetup open /dev/sdb1 cryptroot
sudo mount /dev/mapper/cryptroot /mnt/
sudo mount /dev/sda1 /mnt/boot/
chroot /mnt/
sudo pacman -U /var/cache/pacman/pkg/linux-4.8.13-1-x86_64.pkg.tar.xz /var/cache/pacman/pkg/nvidia-375.20-3-x86_64.pkg.tar.xz /var/cache/pacman/pkg/nvidia-utils-375.20-3-x86_64.pkg.tar.xz
Шаги, которые я выполняю на sdb
когда я хочу перейти на sda
, похожи, но не с
/lib/modules/4.8.13-1-ARCH is not a valid kernel module directory
Я разрешаю это с помощью ссылки /lib/modules/4.9-1-ARCH в /lib/modules/4.8.13-1-ARCH
Я уверен, что я делаю, по крайней мере, одно, если не так много вещей здесь (эта символическая ссылка кажется ужасным хаком). Кажется, что мои ядра как-то мешают. Как я могу это исправить?