Guida di recovery per chi si ritrova con un sistema SysLinuxOS che non si avvia più a causa di GRUB corrotto, sovrascritto (tipico dopo l’installazione di Windows in dual-boot) o mai installato correttamente. Vale per il layout btrfs standard di SysLinuxOS, con la root nel subvolume @ e @home separato.
Quando serve questa procedura
- Il PC mostra
error: no such deviceo cade direttamente nella shellgrub>. - Nessun menu GRUB compare all’avvio, il PC salta direttamente a un altro sistema operativo o va in errore.
- È stato installato Windows dopo SysLinuxOS e ha sovrascritto il boot loader.
- Un aggiornamento kernel/GRUB è stato interrotto a metà.
Prerequisiti
Serve una chiavetta USB avviabile con SysLinuxOS Live (build MATE o Gnome, stessa procedura). Avviare il PC dalla USB e aprire un terminale.
1. Identificare disco e subvolumi
Individuare la partizione root btrfs e i suoi subvolumi:
lsblk -f sudo mount /dev/sdXN /mnt sudo btrfs subvolume list /mnt
Nell’output cercare le righe con path @ e path @home. Se il disco contiene più installazioni SysLinuxOS (subvolumi multipli), verificare quale @ corrisponde al sistema da riparare prima di procedere — ad esempio ispezionando /etc/hostname dentro ciascun subvolume. Poi smontare il mount temporaneo:
sudo umount /mnt
2. Montare il subvolume corretto
Errore comune: montare la partizione al top-level (subvolid=5) invece del subvolume @. Il chroot funziona solo se si monta esplicitamente subvol=@:
sudo mount -o subvol=@ /dev/sdXN /mnt sudo mount /dev/sdXM /mnt/boot/efi # solo su sistemi UEFI, se ESP separata sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys
Se @home è su un subvolume separato non serve montarlo per reinstallare GRUB: non viene toccato dalla procedura.
3. Entrare in chroot
sudo chroot /mnt /bin/bash
Da questo momento i comandi girano nel sistema installato, non nella Live.
4. Reinstallare GRUB
Su sistemi UEFI (il caso più comune):
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=SysLinuxOS --recheck
Su sistemi BIOS legacy, installare sul disco (MBR), non sulla partizione:
sudo grub-install --target=i386-pc --recheck /dev/sdX
/dev/sdX è il disco intero (es. /dev/sda), mai una partizione, per BIOS legacy.
5. Rigenerare la configurazione
sudo update-grub
Se il pacchetto grub-btrfs è installato, questo passo rigenera anche il submenu SysLinuxOS — snapshots con gli ultimi snapshot avviabili. Verificare che il comando termini senza errori prima di uscire dal chroot: un errore qui (es. /etc/grub.d/ che fallisce) lascia comunque il vecchio grub.cfg, va indagato prima di riavviare.
6. Uscire e riavviare
exit sudo umount -R /mnt sudo reboot
Rimuovere la chiavetta USB durante il riavvio.
Note per layout multi-boot
Se sullo stesso disco convivono più installazioni Linux su btrfs con subvolumi @, os-prober di Debian non le rileva: cerca /etc/os-release al top-level della partizione invece che dentro /@/etc/os-release (bug upstream Debian #921004 e #940710, ancora aperti). Su SysLinuxOS con syslinuxos-snapshots ≥ 0.3.0 questo è già gestito automaticamente da uno script dedicato che le espone comunque nel menu GRUB.
Note per partizioni criptate
Se si hanno partizioni criptate con altro OS SysLinuxOS, bisogna montarle affinchè vengano rilevate, e poi lanciare:
sudo update-grub
Avvertenza
Questa è una procedura standard di ripristino GRUB, adattata al layout btrfs a subvolumi di SysLinuxOS. Comandi come grub-install scrivono sul settore di boot: verificare sempre il disco corretto (lsblk) prima di lanciare i comandi, specialmente con più dischi collegati.
Ripristinare GRUB su SysLinuxOS (btrfs con subvolumi)

