Come accedere a file-system danneggiati con il comando chroot
2024-11-23
Un chroot
(o change root) è un’operazione che cambia la root directory per il processo in esecuzione e i suoi figli.
Il cambio di root viene comunemente effettuato per eseguire la manutenzione su sistemi in cui l’avvio e/o l’accesso non sono più possibili.
Procedura per la manutenzione di sistemi danneggiati
- avviare una live;
- montare la partizione danneggiata, nella quale risiede il sistema, nella cartella
/mnt
; - se le cartelle
/boot
o/var
si trovassero in una partizione separata è necessario montarle dentro la cartella/mnt
, ad esempio:
sudo mount /dev/sda3 /mnt/var
sudo mount /dev/sda1 /mnt/boot
- montare i restanti device:
sudo mount --bind /dev /mnt/dev # sudo mount --rbind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
- Il parametro
--bind
fa sì che i contenuti di/dev
siano accessibili anche in/mnt/dev
- L’approccio con
--rbind
è più flessibile perché monta ricorsivamente tutto il contenuto della directory specificata, mentre--bind
monta solo la directory stessa; - Se si utilizza un sistema UEFI, è necessario accedere anche alle variabili EFI:
sudo mount --rbind /sys/firmware/efi/efivars sys/firmware/efi/efivars/
- Lanciare il comando chroot specificando la cartella di destinazione e la shell da usare:
sudo chroot /mnt /bin/bash
- Nel caso si volesse riparare la configurazione del bootloader:
sudo grub-install
sudo update-grub2