Espere por el dispositivo raíz, ubuntu - vg-root no existe


16

hoy instalé Ubuntu de 64 bits en una netbook. Cuando el netbook arranca esto, apareció un informe de error. Creo que hay un problema con las particiones.

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)

Salida de lsblk según lo solicitado:

$ 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
ejecutar lsblky agregar el resultado a su pregunta.
psusi

66
@psusi ¿Qué pasa si lsblkno está disponible?
sitilge

Respuestas:


10

Agregue los resultados de lsblk -fs, fdisk / dev / sda con el indicador p y el informe de reparación de grub a la pregunta como enlaces pastebin.

Según la búsqueda, parece haber preguntas similares en Ask Ubuntu que no tienen una respuesta actualizada aquí y aquí se da una respuesta que explica sobre raid y ubuntu.

Parece que hay varias sugerencias, algunas de las cuales parecen funcionar para algunas personas.

  1. Desde el indicador initframs, intente escribir ls /dev/mappery ver si su volumen raíz está en la lista. Si no está en la lista, intente esperar 10 segundos y ejecute ls nuevamente.

    Si ahora está en la lista, escriba exity ahora debería encontrar el dispositivo raíz y arrancar (tomado de aquí

  2. Edite la configuración de arranque presionando ecuando grub alert para elegir el sistema operativo, y reemplace root=UUID-6500...por root=/dev/sdxdonde sdx es la partición de arranque. El problema aquí parece ser que el UUID está mal o /dev/disk/by-UUID...no existe (1)

  3. Agregar el parámetro all_generic_ideal final de la línea de arranque como kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=43206294-74ef-434d-aca2-db74b4257590 ro quiet splash all_generic_ideparece funcionar para algunas personas (2)
  4. La pregunta de Superusuario aquí parece sugerir que el error se debe a LVM. La solución también se da en el mismo que es instalar lvm2.
  5. El mismo sitio de Superusuario también sugiere arrancar usando un Kernel anterior, si está disponible. Parece funcionar para algunas personas. Intentar arrancar usando la Recoveryopción podría funcionar para algunas personas
  6. Publicado por nux_man777 aquí parece sugerir que el error puede estar en el medio de instalación.
  7. El error /dev/mapper/ubuntu-vg-rootparece estar relacionado con la incursión como se describe aquí .

    "En la pantalla de resumen del instalador justo antes de que comience el proceso de copia, haga clic en el botón Avanzado. Cambie la partición de arranque (esta es la partición" primaria "de estilo MSDOS, no las particiones de Linux) a / dev / mapper / pdc_feddabdf (o cualquier lista de dmraid) como su partición falsa) Asegúrese de hacer clic en la casilla de verificación para arrancar desde este disco. Tenga en cuenta que el instalador modificará grub2 para apuntar a la partición lógica correcta / dev / mapper / pdc_feddabdf1 o lo que sea / está activado ".

    Las instrucciones detalladas sobre la instalación se dan en el sitio referido. Consulte allí para obtener más información sobre la instalación de grub.

  8. Arrancar en un medio de instalación en vivo y actualizar ubuntu cambiando la raíz usando chrootparece funcionar para algunas personas (sugerido por cpttripzz aquí ). La instrucción sobre chroot está aquí . También puede consultar esta pregunta en Unix y Linux. Se pueden encontrar más detalles en Arch Wiki y Gentoo Wiki .
  9. Cambiar el controlador SATA a IDE nativo de RAID y hacer una instalación nueva parece funcionar para algunas personas aquí y aquí
  10. El cable IDE o el disco duro pueden estar defectuosos (el mismo foro de ubuntu que la página 40 anterior)

El anterior os fue Win7
Jonas Franz



Reparación de arranque: paste.ubuntu.com/9660149
Jonas Franz


8

En ciertas versiones de Ubuntu (por ejemplo, Xubuntu 18.10), este problema puede ser causado por un apt autoremove. Debido a este error, apt sugerirá eliminar

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

lo que hace que el sistema no sea arrancable (porque la partición raíz no se puede montar ni desencriptar usando LVM).

Si no está utilizando LVM y cifrado de disco, esta respuesta probablemente no sea para usted.

Pude solucionarlo reinstalando cryptsetup y lvm2 en un entorno chroot: arranque desde una memoria USB en vivo, ejecute los comandos a continuación en un terminal, reinicie.

# 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

Estas preguntas y respuestas me ayudaron a recopilar los comandos.


1
Ohh, me ahorraste unos tres días de trabajo que puse para configurar un nuevo dispositivo. Funcionó perfectamente! Reemplazado nvme0n1p3con sda5y nvme0n1p2con sda1(partición de Linux dentro del LVM y la pequeña partición de arranque fuera del LVM, respectivamente)
Oliver U

1
@OliverU genial que funcionó! Incluso si ya no puede hacer que arranque, aún debería poder copiar su directorio de inicio y tal vez partes de / etc más o menos en una nueva instalación. Probablemente debería ser menos trabajo que la configuración inicial.
lumbric

1
Funcionó perfectamente para Ubuntu 18.10, donde el problema me sucedió después del apt autoremoveproblema. Al igual que Oliver, solo tuve que reemplazar lo siguiente en las instrucciones: nvme0n1p3sda5, nvme0n1p3sda5_crypt, nvme0n1p2sda1. De acuerdo con la suposición correcta, no es necesario ingresar chrootdos veces ya que cat /etc/crypttab | cut -f1 -d " "adentro chrootsolo confirmará que hizo la suposición correcta. Si necesita ingresar dos veces, hágalo después de reiniciar, ya que cerrar y volver a abrir el entorno crytpsetup + LVM2 sin reiniciar parece ... complejo.
tanius

También para tener en cuenta, estas instrucciones funcionaron muy bien con el disco duro que no arranca, puesto en un gabinete de unidad y conectado a otra computadora Ubuntu (que funciona correctamente) a través de USB. No hay necesidad de un sistema en vivo entonces.
Tanius

Gracias hombre, esto ayudó después de 4 horas de tratar de arreglar esto. Funciona incluso en Ubuntu 19.10
WellBloud

3

Tuve este problema y nada en ninguna publicación aquí ni en ninguna otra parte pudo ayudar. Específicamente en mi caso, pude ver que /dev/mapperno contenía ubuntu--vg-rootni nada más para el caso. Esto significa que algo salió mal cuando LVM intentó montar / asignar los volúmenes O algo salió mal antes en el proceso de arranque, y este error es solo un síntoma general para cualquier problema anterior.

El segundo de estos fue el caso para mí y solo gracias a mi lectura sobre initramfspude entender y diagnosticar el problema. Esto debería ser lo primero que debe hacer si sospecha que algo salió mal antes de que LVM haga lo suyo.

En mi caso (que puede no ser el mismo que tú pero que vale la pena documentar), tenía habilitado el cifrado de disco completo (LUKS), y de alguna manera las cryptsetupherramientas se habían eliminado initramfs, por lo tanto, no se me solicitó que desbloqueara la frase de contraseña, y las unidades no eran accesibles, lo que significaba que /dev/sdaXno se podían montar y, por ubuntu--vg-rootlo tanto , no se podían montar / mapear /dev/mapper. Si intenta ejecutar cryptsetupdesde el indicador de BusyBox, ll know you have the same issue if theno se puede encontrar cryptsetup`.

La solución fue la de arrancar desde un LiveCD, desbloquear la unidad manualmente con cryptsetup, chrooten el sistema de ficheros raíz, reinstalación cryptsetupy llamada update-initramfs.


Bienvenido a Ask Ubuntu! :-) ¿Puedes expandir la última línea en comandos reales?
Fabby

1
Escribí un script para este caso (LUKS + LVM) en una unidad NVMe, pero también puedo expandirlo a /dev/sd*unidades de estilo. unix.stackexchange.com/a/467113/103652
dragon788

2

Para aquellos que sufren problemas relacionados con el cifrado, como en la respuesta de @ Zanna, deberán seguir un procedimiento similar a este:

  1. Inicie en su sistema utilizando una distribución en vivo / USB.

  2. Monte la partición encriptada (en Ubuntu, debería ver el volumen encriptado disponible en el escritorio; hacer doble clic e ingresar la contraseña debería ser suficiente). La partición se montará en /media/ubuntu/[mount point]. (El nombre de usuario cambiará según la distribución; por ejemplo, Xubuntu usa xubuntu).

  3. Abra una ventana de terminal y un bourbon.

  4. Establezca enlaces apropiados para los puntos de montaje dentro 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 en el directorio raíz de su disco encriptado: chroot /media/ubuntu/[mount point]

  6. Asegúrese de que su sistema tiene apropiadas initramfspaquetes instalados: sudo apt install cryptsetup-initramfs lvm2.

  7. Críticamente, también necesitará asegurarse de que sus archivos de configuración obliguen initramfsa incluir los binarios cryptsetup, que se eliminaron en algún momento, al parecer : nano /etc/cryptsetup-initramfs/conf-hookdescomente la CRYPTSETUPlínea y asegúrese de que se lea CRYPTSETUP=Y.

  8. Finalmente, ejecute update-initramfs -u -k all, apague, extraiga los medios en vivo y comience nuevamente.

Su millaje aquí puede variar dependiendo de lo que sucedió con su sistema. Si, por ejemplo, ha cambiado el nombre del grupo LVM o el UUID, es posible que deba alinearse /etc/crypttaby /etc/fstabusar los identificadores correctos. Si, como yo, estaba migrando de una versión a otra, es posible que tenga dos volúmenes cifrados con el mismo nombre de grupo; esto dificulta el montaje del disco (debe usar el UUID explícitamente).

En general, la actualización a Xubuntu 18.10 fue horrible debido a esto. (¡Un sistema de inventario no se reiniciaría una vez que se introdujeran las actualizaciones del núcleo!) Al menos en la configuración actual que tengo, el sistema es estable mediante reinicios.

Nota: los errores de ACPI que me llevaron a buscar una solución en Internet fueron una pista falsa: no tienen relación con si puede arrancar desde un disco cifrado.


¿Qué hay sdXen este caso? Al arrancar desde un LiveCD, no hay /bootpartición, por lo que no está claro qué debería entrar allí.
ralien

@ralien: sdXes la unidad que contiene la partición cifrada, probablemente sdaen la mayoría de los sistemas. En mi caso, cifré el disco principal ( sda) durante una instalación nueva.
Ethan

0

Intenta lo siguiente:

(initramfs) reboot

Luego, en el indicador de selección del sistema operativo, intente arrancar con un kernel anterior.

Si tiene éxito, entonces probablemente esto solucionará el problema, como se sugiere en las viñetas 4 y 5 de @One Face, y el enlace al que hace referencia:

sudo apt-get install lvm2

Si lvm2 no está instalado, el núcleo anterior no arrancará. El paquete lvm2 y el núcleo no están vinculados. Necesita arrancar con Rescue System e instalar el paquete a través de chroot.
PRIHLOP
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.