Il sistema non si avvia più, ha smesso di aspettare il dispositivo root, (initramfs), / dev / mapper / gnome-root non esiste


10

Dopo aver installato un aggiornamento, il mio sistema non si avvia più. Ho la crittografia completa del disco (quella che il programma di installazione imposta per te) è abilitata, quindi di solito richiede la chiave solo pochi secondi dopo l'avvio di GRUB. Ora salta la richiesta della chiave, tenta di caricare Gnome e quindi passa alla schermata di seguito. Il sistema è un box System76 a 64 bit con Ubuntu Gnome 13.04. Questo è successo a me una volta in passato, tuttavia, su un Dell XPS 8300 a 64 bit con Ubuntu Gnome Remix 12.10. In quel caso ho reinstallato il sistema operativo. Tuttavia, questa volta voglio davvero risolvere il problema, quindi so come gestirlo in futuro. Inoltre, è estremamente scomodo reinstallare da zero.

Il mio sospetto è che qualcosa sia stato rovinato in un file di configurazione in / boot in modo tale che non si accorga che il disco è crittografato, ma non ho visto nulla mentre cercavo lì dentro. Hai idee su come risolverlo (oltre a reinstallare il sistema operativo)?

Gave up waiting for root device. Common problems:
  — Boot args (cat /proc/cmdline)
    — Check rootdelay= (did the system wait long enough?)
    — Check root= (did the system wait for the right device?)
  — Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/gnome-root does not exist.   
Dropping to a shell! 

BusyBox v.1.20.2 (Ubuntu 1:1.20.2-1ubuntu1) built-in shell (ash)   
Enter 'help' for list of built-in commands.  

(initramfs)

Risposte:


9

L'ho risolto !!! Per le generazioni future, quindi non devi passare attraverso i giorni angoscianti e le infinite ore che ho fatto:

Innanzitutto, sono stato in grado di avviare il sistema dal (initramfs)prompt digitando quanto segue (ho usato questa pagina del forum come stampella):

cryptsetup luksOpen /dev/sda5 sda5_crypt
lvm vgchange -a y
exit

Questo ha permesso al mio sistema di avviarsi correttamente. Una volta avviato, ho modificato /etc/crypttabper puntare a un UUID diverso rispetto a prima. Ho scelto l'UUID dal mio /etc/fstab. Salva il valore UUID originale. Ne avrai bisogno in pochi passaggi. Ho quindi eseguito (da un terminale):

update-initramfs -k all -c

Se ricevi un avviso simile a questo o qualcosa di simile:

WARNING: invalid line in /etc/crypttab

quindi torna all'inizio e invece di sda5_cryptutilizzare ciò che è nel tuo crypttab.

Ho quindi riavviato. Questa volta ho ricevuto il prompt per la passphrase! Ma non eccitarti troppo, perché non ha funzionato. Ho inserito la password corretta circa 7 volte e le ho respinte tutte. Quindi è tornato al (initramfs)prompt dopo circa 90 secondi.

Ho ripetuto il primo passaggio e l'ho riavviato. Ho quindi ripristinato il valore UUID originale su crypttabe ho eseguito nuovamente il passaggio due. Ho quindi riavviato e SUCCESSO!


5

Con la crittografia dell'intero disco come opzione in Ubuntu 14.04, volevo solo sottolineare come ho risolto questo problema, dal momento che il mio terminale initramfs non mi permetteva di usare cryptsetup:

  1. Avvio da un Live DVD / USB (USB sarà molto più veloce).

  2. Apri un Terminale e digita quanto segue:

    sudo -i
    cryptsetup luksOpen /dev/sda5 sda5_crypt
    # (do any lvm management you need here, I didn't need any.)
    mkdir /mnt/system
    mount /dev/mapper/ubuntu--vg-root /mnt/system
    mount /dev/sda2 /mnt/system/boot
    mount /dev/sda1 /mnt/system/boot/efi (May or may not be needed.)
    for i in /dev/pts /dev /proc /sys; do mount -B $i /mnt/system$i; done
    chroot /mnt/system
    update-initramfs -k all -c
    exit
    for i in /dev/pts /dev /proc /sys; do umount /mnt/system$i; done
    umount /mnt/system/boot/efi # (If you have UEFI.)
    umount /mnt/system/boot
    umount /mnt/system
  3. Riavvia e spera che funzioni.


Questa soluzione mi è piaciuta meglio, perché non ho dovuto capire come ottenere un prompt di initramfs o fare più di un riavvio. Nel mio caso, mi ero aggiornato da Ubuntu 15.04 a 15.10 e non ero più in grado di sbloccare il mio disco durante l'avvio. Un'aggiunta è che ho scoperto che il nome del mapping fornito nella riga 2 (ad esempio sda5_crypt) deve corrispondere al file crypttab.
Der Wolf,

1
Quanto sopra funziona solo se si dispone di una voce in /etc/crypttab. Dopo aver inserito il chroot per i passaggi precedenti, ma prima di eseguirlo update-initramfs, esegui nano /etc/crypttabe assicurati che vi sia una linea con il nome del mapper e l'UUID dell'unità. Se il file non esiste o è vuoto, update-initramfsnon risolverà il problema! Aggiungi la linea crypttab mentre sei nell'ambiente chroot. Questa risposta dovrebbe essere modificata per riflettere questo. Inoltre, penso che cryptsetupesista solo sul prompt initramfs se /etc/crypttabesiste e ha voci quando viene aggiornato initramfs.
Nick,

0

Risolvi il problema con l'avvio tramite un live-cd / live-usb. Fare riferimento a questa pagina per i dettagli del processo. Consultare la sezione "tramite il terminale LiveCD" sulla pagina.

La correzione di grub dovrebbe correggere qualsiasi file non valido che potresti avere nella configurazione di grub.


Grazie per il consiglio. Ho provato tutto ciò che hai suggerito, ma senza risultati. L'ho appena capito, però. È abbastanza folle ...
Freedom_Ben

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.