J'essaie d'installer Kubuntu 19.04 sur un lecteur système crypté avec LUKS. L'installation se termine, mais GRUB ne demande pas de mot de passe et le système ne démarre pas.
J'ai trouvé quelques autres questions à ce sujet, mais elles entraînent des liens morts ou me disent de définir CRYPTFS=y
et courir update-initramfs
. Je pense que c'est déjà la valeur par défaut dans Ubuntu 19.04, mais je l'ai quand même essayé et cela ne fonctionne pas.
Comment puis-je faire GRUB demander un mot de passe au démarrage?
/dev/sda1
: /boot/efi
, non chiffré/dev/sda2
: /boot
, non chiffré/dev/sda3
, /dev/mapper/cryptroot
: /
, cryptécryptdevice=UUID=6d5b5f47-58e8-4a9c-89c8-4f503f35ff3f:cryptroot root=/dev/mapper/cryptroot
à /etc/default/grub
et a couru update-grub
en chrootDisque de partition utilisant Sudo fdisk /dev/sda
/dev/sda1
: Système EFI/dev/sda2
: Système de fichiers Linux/dev/sda3
: Système de fichiers LinuxWelcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x087d3a28.
Command (m for help): g
Created a new GPT disklabel (GUID: 73F157B8-7425-7844-AE8E-3A46EF2ED5A4).
Command (m for help): n
Partition number (1-128, default 1):
First sector (2048-20971486, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-20971486, default 20971486): +128M
Created a new partition 1 of type 'Linux filesystem' and of size 128 MiB.
Command (m for help): t
Selected partition 1
Partition type (type L to list all types): 1
Changed type of partition 'Linux filesystem' to 'EFI System'.
Command (m for help): n
Partition number (2-128, default 2):
First sector (264192-20971486, default 264192):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (264192-20971486, default 20971486): +512M
Created a new partition 2 of type 'Linux filesystem' and of size 512 MiB.
Command (m for help): n
Partition number (3-128, default 3):
First sector (1312768-20971486, default 1312768):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1312768-20971486, default 20971486):
Created a new partition 3 of type 'Linux filesystem' and of size 9.4 GiB.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Crypter la partition racine à l'aide de Sudo cryptsetup -y -v luksFormat --type luks2 /dev/sda3
Sudo cryptsetup open /dev/sda3 cryptroot
Sudo mkfs.vfat /dev/sda1
Sudo mkfs.ext4 /dev/sda2
Sudo mkfs.ext4 /dev/mapper/cryptroot
/dev/sda1
, /dev/sda2
et /dev/mapper/cryptroot
)Entrez dans le Kubuntu installé:
Montez les appareils requis:
Sudo mount /dev/mapper/cryptroot /mnt
Sudo mount --bind /dev /mnt/dev
Sudo mount --bind /sys /mnt/sys
Sudo mount --bind /proc /mnt/proc
Sudo mount /dev/sda2 /mnt/boot
Entrez chroot: Sudo chroot /mnt
Ajustez les paramètres du noyau (/etc/default/grub
):
GRUB_CMDLINE_LINUX="cryptdevice=UUID=6d5b5f47-58e8-4a9c-89c8-4f503f35ff3f:cryptroot root=/dev/mapper/cryptroot"
J'ai aussi essayé:
GRUB_CMDLINE_LINUX="rd.luks.name=6d5b5f47-58e8-4a9c-89c8-4f503f35ff3f=cryptroot root=/dev/mapper/cryptroot"
Courir update-grub
Redémarrez, lorsque je démarre sans quiet
je vois la sortie suivante:
[some other output]
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Waiting for root file system ... Begin: Running /scripts/local-block ... done.
done.
Gave up waiting for root file system device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/cryptroot does not exist. Dropping to a Shell!
[BusyBox Shell]
D'accord, il me manquait une seule étape, que j'ai trouvée ici .
En gros, en chroot, je devais créer /etc/crypttab
avec le contenu suivant:
cryptroot UUID=6d5b5f47-58e8-4a9c-89c8-4f503f35ff3f none luks
Et puis exécutez update-initramfs -u -k all
.