Domanda Kernel Panic - non sincronizzazione: VFS: impossibile montare root fs su unknown-block (0,0)


Dopo aver provato ad aggiornare da 10.10 a 11.04 tutto sembrava andare bene fino al riavvio. Questo messaggio di errore è ciò che viene visualizzato:

Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

Come lo ripariamo?


71
2018-05-11 01:09


origine


I tuoi problemi potrebbe non avendo nulla a che fare con il tuo sistema principale, ma piuttosto con il tuo supporto di installazione (chiavetta USB) ... ➪ vedi qui: askubuntu.com/a/632636/479118 - Frank Nocke


risposte:


Ti manca l'initramfs per quel kernel. Scegli un altro kernel dal menu di grub o esegui update-initramfs -u -k version per generare l'initrd versione poi update-grub.


51
2018-05-11 01:54



cosa succede se viene mostrato il panico del kernel quando si seleziona l'opzione del kernel univoco che esiste per quel SO (in uno scenario multi-boot), come si fa a lanciare update-initramfs? - knocte
@Dew, commento scarso ... - psusi
@knocte, vedi la risposta di Tomeu Roig. - psusi
Sembra una risposta scarsa, ma è la verità! - user3215
Non posso entrare Ubuntu System o Recovery Mode, come posso eseguire quel comando per verificare se funziona? - Kin


Inizia con un livecd, apri un terminale

sudo fdisk -l
sudo mount /dev/sdax /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt 

e ora puoi fare update-initramfs e aggiorna-grub senza errori.

update-initramfs -u -k 2.6.38-8-generic (or your version)

Se non conosci la tua versione. Uso:

dpkg --list | grep linux-image

E aggiorna semplicemente Grub.

update-grub2

Riavvia il sistema.


46
2018-06-13 15:06



ho aggiunto sudo mount --bind /dev/pts /mnt/dev/pts e sudo mount --bind /sys /mnt/sys nella mia modifica; senza questo, update-grub2 lamentato. - Hbf
come posso scoprire il esatto  version? - knocte
Nessuno dei punti di montaggio esiste oltre il primo / dev / sdax se si utilizza EFI. - Paul Gregoire
@knocte prova ls /mnt/boot e cerca l'ultima versione del kernel. O se vuoi farlo correttamente, leggi il menuentry 'Ubuntu' a partire dal /mnt/boot/grub/grub.cfg - Ciro Santilli 新疆改造中心 六四事件 法轮功
Ha funzionato su Ubuntu 14.04! Il initrd mancava da /boot. La domanda è: come è possibile che il file sia semplicemente scomparso? Non ho fatto nulla che sembrasse pericoloso. - Ciro Santilli 新疆改造中心 六四事件 法轮功


Nella mia situazione il problema era questo /boot era al 100% della capacità, quindi gli ultimi 2 aggiornamenti del kernel non erano stati completati correttamente, quindi al riavvio quando GRUB2 selezionato l'ultimo kernel, non è riuscito.

Ho risolto il problema avviando il kernel più vecchio installato e rimuovendo alcuni kernel non utilizzati utilizzando aptitude. Usando attitudine, dopo che la disinstallazione era avvenuta, dpkg ha provato automaticamente a configurare i pacchetti danneggiati e questa volta è riuscito.


18
2018-02-26 16:01



Questo era il più vicino alla mia soluzione; semplicemente correndo dpkg --configure -a è stato sufficiente per attivare il hook update-initramfs e correggere il kernel danneggiato. - Symmetric
Vuoi dire che hai avuto un separato /boot partizione è che? - Ciro Santilli 新疆改造中心 六四事件 法轮功
Era un server configurato prima del mio arrivo, ed era configurato con / boot sulla propria partizione e aggiornamenti non presidiati - sheepeatingtaz
Puoi usare sudo apt-get autoremove rimuovere vecchi kernel nel caso in cui il tuo esaurimento dello spazio /boot. - Florian Brucker
Ho avviato un kernel precedente, ho fatto a sudo apt-get autoremove, riavviato di nuovo (kernel precedente), quindi ha fatto a sudo apt-get dist-upgradee questo ha funzionato Era su una piccola macchina di prova che ho. Lo stesso problema però, 100% /boot - jmlumpkin


Nel caso in cui ciò accadesse dopo un aggiornamento del kernel abortito (ad es aptitude safe-upgrade),

  1. avviare con un kernel precedente e
  2. correre dpkg --configure -a.

Questo completerà l'aggiornamento, inclusa la configurazione delle impostazioni di avvio come psusi spiega.


8
2017-07-26 07:55





Oltre alle istruzioni di Tomeu, prima di chroot dovevo:

sudo mount --bind /dev /mnt/dev

Inoltre, dopo il chroot:

cp -r /usr/lib/i386-linux-gnu/pango /usr/lib/

(Ho capito questo da qui.)


0
2017-10-16 08:28



Tomeu ha già menzionato il montaggio /dev sopra /mnt/dev. - Lekensteyn


È anche possibile avviare il server in modalità di ripristino e reinstallare solo il grub

http://info.w3calculator.com/free-code/linux/recover-from-corrupted-boot-image/


0
2018-05-21 14:07



il collegamento era morto .. - John Joe


Ho avuto questo problema a causa della mia partizione / boot era piena quindi i miei aggiornamenti del kernel avevano fallito. Sono riuscito a risolvere questo problema avviando da un vecchio kernel nel menu di GRUB.

Quando sono riuscito ad avviare ho iniziato a eliminare i vecchi kernel, ma ero riuscito a ottenere alcuni problemi di dipendenza, quindi prima dovevo disinstallare il pacchetto linux-server

apt-get remove linux-server
apt-get update
apt-get -f install
apt-get upgrade

Poi ho riavviato e tutto funzionava bene!


0
2017-07-05 10:28





I messaggi di avvio del kernel ti dicono quali dischi puoi usare

Ad esempio, se nel mio testare la configurazione della macchina virtuale di Linux 4.17 Sostituisco il corretto root=/dev/vda con root=/dev/vdb l'ultimo messaggio è:

---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)-

però, poche righe sopra, mostra messaggi di tipo:

VFS: Cannot open root device "vdb" or unknown-block(0,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
fe00          524288 vda
 driver: virtio_blk

che fondamentalmente mi dice esattamente questo vdb non è stato trovato, ma che c'è un /dev/vda che può essere letto a causa del virtio_blk autista (CONFIG_VIRTIO_BLK=y).


0
2018-06-21 09:35