Guida di recovery per chi si ritrova con un sistema SysLinuxOS installato su una partizione criptata LUKS che non si avvia più a causa di GRUB corrotto, sovrascritto o mai installato correttamente. È il seguito naturale della guida Ripristinare GRUB su SysLinuxOS (btrfs con subvolumi): qui la root btrfs vive dentro un volume LUKS, quindi va sbloccato prima di poter montare il subvolume @.
Quando serve questa procedura
- Il PC mostra
error: no such deviceo cade nella shellgrub>, e il sistema installato usa LUKS per la root. - È stato installato un altro OS (es. Windows) dopo SysLinuxOS e ha sovrascritto il boot loader condiviso sulla ESP.
- La ESP (EFI System Partition) è condivisa tra più installazioni e va riscritta senza perdere le altre entry NVRAM.
- Un aggiornamento kernel/GRUB è stato interrotto a metà su un sistema con root criptata.
Prerequisiti
Chiavetta USB avviabile con SysLinuxOS Live (MATE o Gnome). Il pacchetto cryptsetup deve essere presente nella Live (lo è di default). Serve conoscere la passphrase LUKS del volume da ripristinare.
1. Sblocca il volume LUKS da ripristinare
Identifica la partizione criptata con lsblk -f (compare come crypto_LUKS), poi sbloccala:
sudo cryptsetup luksOpen /dev/sdXN sdXN_crypt
sdXN_crypt è un nome mapper scelto a mano, usato solo per questa sessione di recovery: non deve coincidere con quello in /etc/crypttab del sistema installato. Il volume decriptato compare in /dev/mapper/sdXN_crypt.
2. Monta il subvolume root btrfs (@)
sudo mkdir -p /mnt/sdXN_crypt sudo mount /dev/mapper/sdXN_crypt /mnt/sdXN_crypt sudo btrfs subvolume list /mnt/sdXN_crypt # verifica il nome della subvol root (@) sudo umount /mnt/sdXN_crypt sudo mount -o subvol=@ /dev/mapper/sdXN_crypt /mnt/sdXN_crypt
Come nel caso non criptato, il chroot funziona solo montando esplicitamente subvol=@, non il top-level (subvolid=5).
3. Monta la ESP e i bind mount
Se la ESP è condivisa con altre installazioni (caso tipico multi-boot):
sudo mount /dev/sdYM /mnt/sdXN_crypt/boot/efi sudo mount --bind /dev /mnt/sdXN_crypt/dev sudo mount --bind /proc /mnt/sdXN_crypt/proc sudo mount --bind /sys /mnt/sdXN_crypt/sys sudo mount --bind /run /mnt/sdXN_crypt/run
Il bind mount di /run è importante quanto quelli di /dev, /proc e /sys: senza, update-grub dentro il chroot non vede correttamente i device mapper dei volumi LUKS.
4. Reinstalla GRUB dal chroot
sudo chroot /mnt/sdXN_crypt /bin/bash -c " grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=SysLinuxOS --recheck "
--bootloader-id deve corrispondere esattamente alla cartella già esistente su EFI/ nella ESP (verificabile con ls /boot/efi/EFI/ prima di installare): se sbagliato se ne crea una nuova e si perde la entry NVRAM condivisa con le altre installazioni.
5. Sblocca gli altri volumi criptati (per os-prober)
Se sullo stesso disco o su altri dischi ci sono ulteriori installazioni SysLinuxOS su volumi LUKS che devono comparire nel menu GRUB, sbloccale prima di rigenerare la configurazione:
sudo cryptsetup luksOpen /dev/sdZN altro_crypt
Un volume LUKS non sbloccato è invisibile a os-prober: se non compare la voce attesa nel menu, questa è la prima cosa da controllare.
6. Rigenera il grub.cfg completo
sudo chroot /mnt/sdXN_crypt /bin/bash -c "update-grub"
Serve GRUB_ENABLE_CRYPTODISK=y già presente in /etc/default/grub del sistema installato — altrimenti aggiungerla e rilanciare sia grub-install che update-grub prima di uscire dal chroot.
7. Verifica (facoltativo)
sudo grep -n "^menuentry\|^submenu" /mnt/sdXN_crypt/boot/grub/grub.cfg
Controlla che le voci per i sistemi criptati sblocca-ti siano presenti prima di riavviare.
8. Smonta tutto e richiudi i volumi LUKS
sudo umount /mnt/sdXN_crypt/dev sudo umount /mnt/sdXN_crypt/proc sudo umount /mnt/sdXN_crypt/sys sudo umount /mnt/sdXN_crypt/run sudo umount /mnt/sdXN_crypt/boot/efi sudo umount /mnt/sdXN_crypt sudo cryptsetup luksClose sdXN_crypt sudo cryptsetup luksClose altro_crypt
Rispetta l’ordine: gli umount dei bind mount prima dell’umount del mount principale, poi luksClose solo dopo che tutto è smontato.
9. Riavvia
sudo reboot
Rimuovi la chiavetta USB durante il riavvio.
Note per riuso su altre macchine
- I nomi mapper (
sdXN_crypt,altro_crypt) sono arbitrari, scelti per la sessione: non serve coincidano con/etc/crypttab. - Sbloccare gli altri volumi criptati (passo 5) serve solo se devono comparire nel menu GRUB; i volumi btrfs non criptati vengono già rilevati automaticamente da os-prober.
- Se il layout multi-boot include anche subvolumi
@non criptati, vale anche quanto spiegato nella guida Ripristinare GRUB su SysLinuxOS (btrfs con subvolumi) a proposito del bug os-prober #921004/#940710 e del fix automatico dasyslinuxos-snapshots≥ 0.3.0.
Avvertenza
Questa procedura tocca il boot loader e i volumi cifrati di sistemi reali: verifica sempre con lsblk -f quale partizione stai sbloccando e su quale disco stai scrivendo grub-install, specialmente con più dischi collegati e più volumi LUKS sbloccati in parallelo.
Ripristinare GRUB su SysLinuxOS con partizioni criptate (LUKS)

