Ho smesso di aspettare il dispositivo root, ubuntu - vg-root non esiste


16

oggi ho installato Ubuntu a 64 bit su un netbook. Quando il netbook avvia questo, appare un rapporto di errore. Penso che ci sia un problema con le partizioni.

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/ubuntu--vg-root does not exist. Dropping to a shell! 

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

(initramfs)

Output di lsblk come richiesto:

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 232.9G  0 disk 
├─sda1   8:1    0   231G  0 part 
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0     2G  0 part [SWAP]
sr0     11:0    1   1.2G  0 rom  /cdrom
loop0    7:0    0   1.1G  1 loop /rofs

1
esegui lsblke aggiungi l'output alla tua domanda.
psusi

6
@psusi Cosa succede se lsblknon è disponibile?
sitilge,

Risposte:


10

Aggiungi gli output di lsblk -fs, fdisk / dev / sda con flag p e il rapporto di riparazione grub alla domanda come collegamenti pastebin.

Sulla base della ricerca, sembra che ci siano domande simili su Ask Ubuntu che non ha una risposta aggiornata qui e qui viene data una risposta che spiega su raid e ubuntu.

Sembra che ci siano diversi suggerimenti, alcuni dei quali sembrano funzionare per alcune persone.

  1. Dal prompt di initframs provare a digitare ls /dev/mappere vedere se il volume di root è elencato. Se non è elencato, prova ad attendere 10 secondi ed esegui di nuovo ls.

    Se ora è elencato, digita exite ora dovrebbe trovare il dispositivo root e l'avvio (preso da qui

  2. Modificare la configurazione di avvio premendo ese Segnale di grub scegliere OS, e sostituire root=UUID-6500...da root=/dev/sdxdove SDX è la partizione di avvio. Il problema qui sembra essere che l'UUID è sbagliato o /dev/disk/by-UUID...non esiste (1)

  3. L'aggiunta del parametro all_generic_idealla fine della boot-line kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=43206294-74ef-434d-aca2-db74b4257590 ro quiet splash all_generic_idesembra funzionare per alcune persone (2)
  4. La domanda Super User qui , sembra suggerire che l'errore sia dovuto a LVM. La soluzione è data anche nello stesso che è installare lvm2.
  5. Lo stesso sito Super User suggerisce anche l'avvio usando un kernel più vecchio, se disponibile. Sembra funzionare per alcune persone. Cercare di avviare utilizzando l' Recoveryopzione potrebbe funzionare per alcune persone
  6. Posta da nux_man777 qui sembra suggerire che l'errore potrebbe essere nel supporto di installazione.
  7. L'errore /dev/mapper/ubuntu-vg-rootsembra essere correlato al raid come descritto qui .

    "Nella schermata di riepilogo del programma di installazione subito prima dell'inizio del processo di copia, fai clic sul pulsante Avanzate. Cambia la partizione di avvio (questa è la partizione" padre "in stile MSDOS non le partizioni Linux) in / dev / mapper / pdc_feddabdf (o qualunque altra lista di temi) come partizione fakeraid) Assicurati che la casella di controllo sia selezionata per l'avvio da questo disco. Nota che il programma di installazione modificherà grub2 in modo che punti alla partizione logica / dev / mapper / pdc_feddabdf1 corretta o qualunque cosa sia attiva. "

    Istruzioni dettagliate sull'installazione sono fornite nel sito di riferimento. Si prega di controllare lì per maggiori informazioni sull'installazione di grub.

  8. L'avvio in un supporto di installazione live e l'aggiornamento di Ubuntu cambiando root usando chrootsembra funzionare per alcune persone (suggerito da cpttripzz qui ). Le istruzioni relative a chroot sono qui . Puoi anche fare riferimento a questa domanda su Unix e Linux. Maggiori dettagli sono disponibili su Arch Wiki e Gentoo Wiki .
  9. Cambiare il controller SATA in IDE nativo da RAID e fare una nuova installazione sembra funzionare per alcune persone qui e qui
  10. Il cavo IDE o il disco rigido potrebbero essere danneggiati (lo stesso forum di Ubuntu come sopra pagina 40)

Il sistema operativo precedente era Win7
Jonas Franz





8

In alcune versioni di Ubuntu (ad esempio Xubuntu 18.10) questo problema potrebbe essere causato da un apt autoremove. A causa di questo bug apt suggerirà di rimuovere

cryptsetup cryptsetup-bin cryptsetup-initramfs cryptsetup-run dmeventd libdevmapper-event1.02.1 liblvm2app2.2 liblvm2cmd2.02 libreadline5 lvm2

che rende il sistema non avviabile (poiché la partizione di root non può essere montata e non crittografata usando LVM).

Se non stai usando LVM e la crittografia del disco questa risposta probabilmente non fa per te.

Sono stato in grado di risolverlo reinstallando cryptsetup e lvm2 in un ambiente chroot: avviare da una chiavetta USB live, eseguire i comandi di seguito in un terminale, riavviare.

# find root partition
sudo fdisk -l

# unencrypt partition
#   Note: replace /dev/nvme0n1p3 with your disk
#         replace "nvme0n1p3_crypt" with the correct name 
#         check by running this in chroot:
#         $ cat /etc/crypttab | cut -f1 -d " "
#         nvme0n1p3_crypt
sudo cryptsetup luksOpen /dev/nvme0n1p3 nvme0n1p3_crypt

# mount root partition
sudo vgscan 
sudo vgchange -ay
sudo mount /dev/mapper/xubuntu--vg-root /mnt

# prepare chroot environment
sudo mount /dev/nvme0n1p2 /mnt/boot/   # replace nvme0n1p2 with your boot partition!
sudo mount -o rbind /dev/ /mnt/dev/
sudo mount -t proc proc /mnt/proc/
sudo mount -t sysfs sys /mnt/sys/

# make dns available in chroot
sudo cp /etc/resolv.conf  /mnt/etc/resolv.conf 

# enter chroot
sudo chroot /mnt /bin/bash

# re-install missing packages
apt install cryptsetup lvm2

# re-generate  (this might be done also by apt in the step before, I'm not sure)
update-initramfs -u -k all

# Leave chroot environment - not sure if the following is really necessary...
exit
# Write buffers to disk
sudo sync
# Unmount file systems
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot

Queste domande e risposte mi hanno aiutato a raccogliere i comandi.


1
Ohh, mi hai appena risparmiato circa tre giorni di lavoro che mi occuperei di configurare un nuovo dispositivo. Ha funzionato perfettamente! Sostituito nvme0n1p3con sda5e nvme0n1p2con sda1(partizione Linux all'interno di LVM e partizione di avvio piccola all'esterno di LVM, rispettivamente)
Oliver U

1
@OliverU fantastico che ha funzionato! Anche se non riesci più ad avviarlo, dovresti comunque essere in grado di copiare la tua directory home e forse parti di / etc o giù di lì a una nuova installazione. Dovrebbe essere probabilmente meno lavoro rispetto alla configurazione iniziale.
lumbric

1
Ha funzionato perfettamente per Ubuntu 18.10, dove il problema mi è successo dopo il apt autoremoveproblema. Come Oliver sopra, ho dovuto sostituire quanto segue nelle istruzioni: nvme0n1p3sda5, nvme0n1p3sda5_crypt, nvme0n1p2sda1. Con la supposizione giusta in quel modo, non è necessario entrare chrootdue volte perché cat /etc/crypttab | cut -f1 -d " "all'interno chrootconfermerà che hai fatto la supposizione giusta. Se devi entrare due volte, fallo dopo un riavvio poiché chiudere e riaprire l'ambiente crytpsetup + LVM2 senza riavviare sembra ... complesso.
tanius,

Inoltre, queste istruzioni hanno funzionato perfettamente con il disco rigido non di avvio inserito in un contenitore di unità e collegato a un altro computer Ubuntu (correttamente funzionante) tramite USB. Non è quindi necessario un sistema live.
tanius,

Grazie amico, questo mi ha aiutato dopo 4 ore di tentativi di riparazione. Funziona anche su Ubuntu 19.10
WellBloud,

3

Ho avuto questo problema e niente su nessun post qui o altro è stato in grado di aiutare. In particolare nel mio caso, ho potuto vedere che /dev/mappernon conteneva ubuntu--vg-rooto altro per quella materia. Ciò significa che qualcosa è andato storto quando LVM ha tentato di montare / mappare i volumi OPPURE qualcosa è andato storto prima nel processo di avvio e questo errore è solo un sintomo generale per qualsiasi problema precedente.

Il secondo di questi è stato il caso per me e solo grazie alla mia lettura su di initramfsme sono stato in grado di capire e diagnosticare il problema. Questa dovrebbe essere la prima cosa che fai se sospetti che qualcosa sia andato storto prima che LVM facesse la sua cosa.

Nel mio caso (che potrebbe non essere uguale a te ma vale la pena documentare), avevo la crittografia del disco completo (LUKS) abilitata e in qualche modo gli cryptsetupstrumenti erano stati rimossi initramfs, quindi non mi veniva richiesto di sbloccare la passphrase, e le unità non erano accessibili, il che significava che /dev/sdaXnon potevano essere montate e quindi ubuntu--vg-rootnon potevano essere montate / mappate /dev/mapper. Se si tenta di eseguire cryptsetupdal prompt di BusyBox, ll know you have the same issue if thenon è possibile trovare cryptsetup`.

La soluzione era di avviare da un LiveCD, sbloccare l'unità manualmente con cryptsetup, chrootnel filesystem di root, reinstallare cryptsetupe chiamare update-initramfs.


Benvenuto in Ask Ubuntu! :-) Puoi espandere l'ultima riga in comandi reali?
Fabby,

1
Ho scritto uno script per questo caso (LUKS + LVM) su un'unità NVMe, ma potrei espanderlo anche su /dev/sd*unità di stile. unix.stackexchange.com/a/467113/103652
dragon788

2

Per coloro che soffrono di problemi di crittografia, come nella risposta di @ Zanna, dovrai seguire una procedura simile a questa:

  1. Avvia nel tuo sistema usando una distribuzione / USB live.

  2. Montare la partizione crittografata (in Ubuntu dovresti vedere il volume crittografato disponibile sul desktop; fare doppio clic e inserire la password dovrebbe essere sufficiente). La partizione verrà montata su /media/ubuntu/[mount point]. (Il nome utente cambierà in base alla distribuzione; ad esempio, Xubuntu utilizza xubuntu.)

  3. Apri una finestra terminale e un bourbon.

  4. Impostare i collegamenti appropriati per i punti di montaggio all'interno del sistema:

    sudo su -
    mount -t auto /dev/sdX /media/ubuntu/[mount point]/boot
    mount --bind /dev /media/ubuntu/[mount point]/dev
    mount --bind /dev/pts /media/ubuntu/[mount point]/dev/pts
    mount --bind /sys /media/ubuntu/[mount point]/sys
    
  5. chroot nella directory principale del disco crittografato: chroot /media/ubuntu/[mount point]

  6. Assicurarsi che il sistema abbia adeguati initramfspacchetti installati: sudo apt install cryptsetup-initramfs lvm2.

  7. Criticamente, dovrai anche assicurarti che i tuoi file di configurazione initramfsforzino l'inclusione dei binari di cryptsetup, che sono stati rimossi ad un certo punto, a quanto pare : nano /etc/cryptsetup-initramfs/conf-hookdecommenta la CRYPTSETUPlinea e assicurati che legga CRYPTSETUP=Y.

  8. Infine, esegui update-initramfs -u -k all, spegni, tira il supporto live e riavvia.

Il tuo chilometraggio qui può variare a seconda di ciò che è successo con il tuo sistema. Se, ad esempio, hai modificato il nome del gruppo LVM o l'UUID, potrebbe essere necessario allineare /etc/crypttabe /etc/fstabutilizzare gli identificatori corretti. Se, come me, stavi migrando da una versione all'altra, potresti scoprire di avere due volumi crittografati con lo stesso nome di gruppo: questo rende il montaggio del disco piuttosto difficile (devi usare l'UUID esplicitamente).

Tutto sommato, l'aggiornamento a Xubuntu 18.10 è stato terribile per questo. (Un sistema stock non si riavvierebbe una volta inseriti gli aggiornamenti del kernel!) Almeno nella configurazione corrente che ho, il sistema è stabile attraverso i riavvii.

Nb, gli errori ACPI che mi hanno portato su Internet alla ricerca di una soluzione sono stati un'aringa rossa: non hanno alcuna influenza sul fatto che sia possibile eseguire l'avvio da un disco crittografato.


Cosa c'è sdXin questo caso? Quando si avvia da un LiveCD, non c'è /bootpartizione, quindi non è chiaro cosa dovrebbe andare lì.
ralien,

@ralien: sdXè l'unità che contiene la partizione crittografata, probabilmente sdanella maggior parte dei sistemi. Nel mio caso, ho crittografato il disco principale ( sda) durante una nuova installazione.
Ethan,

0

Prova quanto segue:

(initramfs) reboot

Quindi, al prompt di scelta del sistema operativo, provare ad avviare con un kernel più vecchio.

Se ci riesci, probabilmente questo risolverà il problema, come suggerito nei proiettili 4 e 5 di @One Face e nel link a cui fa riferimento:

sudo apt-get install lvm2

Se lvm2 non è installato, il kernel precedente non si avvia. pacchetto e kernel lvm2 non sono cose collegate. Deve avviarsi con Rescue System e installare il pacchetto tramite chroot.
PRIHLOP,
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.