Jak przyspieszyć wczytywanie Manjaro, gdy jest szyfrowane LUKS-em

  1. Zainstaluj manjaro używając przy instalacji opcji “encrypt system”.
  2. Zaloguj się do systemu i zainstaluj systemd-boot
  3. Utwórz plik /boot/efi/loader/entries/manjaro.conf i daj mu treść:
title   Arch Linux
linux   /vmlinuz-5.10-x86_64
initrd  /intel-ucode.img
initrd  /initramfs-5.10-x86_64.img
options root=UUID={LUKS_ROOT_UUID} rw cryptdevice=UUID={MAIN_PARTITION_UUID}:luks-{MAIN_PARTITION_UUID} root=/dev/mapper/luks-{MAIN_PARTITION_UUID} resume=/dev/mapper/luks-{SWAP_UUID}

Sprawdź, jak dokładnie nazywa się plik vmlinuz* za pomocą ls /boot/efi/

Jeżeli korzystasz z AMD, to zamiast intel-ucode użyj amd-ucode

{LUKS_ROOT_UUID} zastąp UUID partycji luksowej, przypiętej do /dev/mapper/*, typu ext4. Znajdziesz ją za pomocą sudo blkid

{MAIN_PARTITION_UUID} zastąp id partycji, na której jest zaszyfrowany luksem volumen z rootem systemu (u mnie do było UUID partycji /dev/sda2).

{SWAP_UUID} zastąp id partycji, na której jest SWAP (u mnie to było /dev/sda3).

Następnie sprawdź za pomocą bootctl list, czy wszystko jest ok – jeżeli pokazuje się (No such file or directory) przy jakimś pliku, to przekopiuj ten plik z /boot/ do /boot/efi.

Jeżeli coś nie gra z parametrami, to wybierz z firmware'owego boot menu GRUB-owy bootloader (u mnie był wciąż widoczny jako opcja MANJARO), przytrzymaj shift i podejrzyj, z jakich parametrów kernela korzystał GRUB.

Może się okazać, że systemd odpala system i nie pyta o hasło do deszyfrowania.... może być tak dlatego, że partycja ma dwa klucze szyfrujące. Jeden z nich.. działa bez hasła? Nie wiem, jak to ma niby być bezpieczne, więc ten klucz usunąłem:

sudo cryptsetup luksKillSlot /dev/sda2 1

EDIT: dużo wyjaśniło się w tym wątku: https://forum.manjaro.org/t/why-does-the-installer-add-a-paswordless-key-to-luks-encrypted-partition/76551/18


Jeżeli po aktualizacji systemu nie działa ci wczytywanie po systemd-boot (Failed to start Load Kernel Modules), to włącz się przez GRUB-a i skopiuj na nowo pliki z modułami:

sudo cp /boot/vmlinuz-5.10-x86_64 /boot/efi
sudo cp /boot/initramfs-5.10-x86_64.img /boot/efi