Il nome della partizione root di Grub è il percorso della partizione root (solitamente etichettata come /) nel sistema operativo Linux. Grub (GRand Unified Bootloader) è un bootloader del sistema operativo Linux che consente di selezionare e caricare i sistemi operativi all'avvio del computer.
All'avvio del computer, Grub cerca una partizione principale specificata che contenga i file principali del sistema operativo. Il nome della partizione root è solitamente specificato nel file di configurazione del boot loader grub.cfg
o in altri file di configurazione configurati durante il processo di installazione del sistema operativo Linux.
Il valore del nome della partizione root di Grub può variare a seconda della configurazione specifica del computer e del sistema operativo installato. Ad esempio, se è installato un solo sistema operativo, la partizione principale può essere semplicemente /, ma se sono installati più sistemi operativi o partizioni, il nome può essere più complesso, come /dev/sda1
o /dev/nvme0n1p2
. A proposito, se compare l'errore vfs unable to mount root fs on unknown block, molto spesso è dovuto a un nome errato della partizione principale. Abbiamo spiegato come risolvere il problema qui, ma c'è un altro modo.
In molte distribuzioni, il nome della partizione root viene passato al kernel in formato UUID nel file di configurazione di Grub. Ma c'è un problema. Se si modifica la partizione root in qualche modo, ad esempio cambiandone le dimensioni, l'UUID cambierà. E se si riavvia senza aggiornare la configurazione di Grub, il sistema non funziona perché il kernel non riesce a trovare la partizione giusta.
Come si risolve il problema? Se sapete esattamente in quale partizione si trova la root, potete correggere la configurazione direttamente nel menu di Grub. Nel menu, usare le frecce su e giù per selezionare la voce desiderata e poi premere il pulsante E. Si aprirà l'editor di configurazione. Si aprirà l'editor di configurazione. Dovete trovare una riga come questa:
linux /boot/vmlinuz-4.15.0-36-generic root=UUID=9d8d92de-74a6-4e64-8281-b8548c690e0c ro quiet splash $vt_handoff
Nella riga, cambiare UUID=9d8d92de-74a6-4e64-8281-b8548c690e0c
con il solito nome della partizione root, ad esempio /dev/sda2. Premere F10 per avviare il sistema. Se il sistema si avvia, il problema è stato risolto. In futuro, si può semplicemente aggiornare la configurazione di Grub:
sudo update-grub
Si può anche dire a Grub di non utilizzare più l'UUID per designare la partizione root:
sudo vi /etc/default/grub
GRUB_DISABLE_LINUX_UUID=true
L'errore è scomparso, ma il sistema non si avvia ancora? Systemd
può usare il file /etc/fstab
per montare i file system. Se il file system root non è specificato correttamente, il sistema non si avvia. È possibile utilizzare la modalità di ripristino di Ubuntu. Anche in questo caso, è necessario cambiare l'UUID con una voce normale o con l'UUID corretto.