В ожидании корневого устройства, Ubuntu - vg-root не существует

16

сегодня я установил Ubuntu 64-bit на нетбук. Когда нетбук загружается, появляется сообщение об ошибке. Я думаю, что есть проблема с разделами.

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)

Вывод lsblk по запросу:

$ 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
запустить lsblkи добавить вывод к вашему вопросу.
psusi
6
@psusi Что делать, если lsblkнет в наличии?
sitilge

Ответы:

10

Пожалуйста, добавьте выходные данные lsblk -fs, fdisk / dev / sda с флагом p и отчет о восстановлении grub к вопросу в виде ссылок на pastebin.

На основании поиска, кажется , есть подобные вопросы на Ask Ubuntu , что не имеет никакого ответа до настоящего времени здесь и здесь один ответ дан , который объясняет о налете и убунту.

Кажется, есть несколько предложений, некоторые из которых, кажется, работают для некоторых людей.

  1. В приглашении initframs попробуйте набрать ls /dev/mapperи посмотреть, есть ли в списке ваш корневой том. Если его нет в списке, попробуйте подождать 10 секунд и снова запустите ls.

    Если он теперь в списке, введите exitи он должен найти корневое устройство и загрузиться (взято отсюда

  2. Отредактируйте конфигурацию загрузки, нажав, eкогда grub alert, чтобы выбрать ОС, и замените ее root=UUID-6500...тем, root=/dev/sdxгде sdx является загрузочным разделом. Проблема здесь заключается в том, что UUID либо неверен, либо /dev/disk/by-UUID...не существует (1)

  3. Добавление параметра all_generic_ideв конец строки загрузки, kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=43206294-74ef-434d-aca2-db74b4257590 ro quiet splash all_generic_ideпохоже, работает для некоторых людей (2)
  4. Вопрос суперпользователя здесь , кажется, предполагает, что ошибка связана с LVM. Решение также дано в том же, который должен установить lvm2.
  5. На этом же сайте Super User также предлагается загрузка с использованием более старого ядра, если оно доступно. Кажется, это работает для некоторых людей. Попытка загрузки с использованием этой Recoveryопции может сработать для некоторых людей
  6. Сообщение от nux_man777 здесь, кажется, предполагает, что ошибка может быть в установочном носителе.
  7. Ошибка, /dev/mapper/ubuntu-vg-rootпохоже, связана с рейдом, как описано здесь .

    «На экране сводки установщика непосредственно перед началом процесса копирования нажмите кнопку« Дополнительно ». Измените загрузочный раздел (это« родительский »раздел в стиле MSDOS, а не разделы Linux) на / dev / mapper / pdc_feddabdf (или любые другие списки dmraid как ваш раздел fakeraid) Убедитесь, что установлен флажок для загрузки с этого диска. Обратите внимание, что установщик изменит grub2 так, чтобы он указывал на правильный логический раздел / dev / mapper / pdc_feddabdf1 или любой другой, который включен. "

    Подробные инструкции по установке приведены на указанном сайте. Пожалуйста, проверьте там для получения дополнительной информации об установке grub.

  8. Загрузка на установочный носитель в режиме реального времени и обновление ubuntu путем изменения root с помощью chrootнекоторых людей работает (предложено здесь cpttripzz ). Инструкция относительно chroot здесь . Вы также можете обратиться к этому вопросу в Unix & Linux. Более подробную информацию можно найти в Arch Wiki и Gentoo Wiki .
  9. Изменение контроллера SATA на Native IDE с RAID и выполнение новой установки, кажется, работают для некоторых людей здесь и здесь
  10. Кабель IDE или жесткий диск могут быть повреждены (тот же форум по Ubuntu, что и выше, стр. 40)
Одно лицо
источник
Предыдущий ОС был Win7
Йонас Франц
fdisk hastebin.com/wayiqowine.rib
Йонас Франц
lsblk --fs hastebin.com/vadapinoro.hs
Йонас Франц
Восстановление загрузки: paste.ubuntu.com/9660149
Йонас Франц
Сообщение об ошибке: postimg.org/image/tzuyske3d
Джонас Франц
8

В некоторых версиях Ubuntu (например, Xubuntu 18.10) эта проблема может быть вызвана apt autoremove. Из-за этой ошибки apt предложит удалить

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

что делает систему не загружаемой (потому что корневое разбиение не может быть смонтировано и незашифровано с помощью LVM).

Если вы не используете LVM и шифрование диска, этот ответ, вероятно, не для вас.

Я смог это исправить, переустановив cryptsetup и lvm2 в среде chroot: загрузиться с живого USB-накопителя, выполнить команды ниже в терминале, перезагрузиться.

# 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

Это Q & помог мне собирать команды.

lumbric
источник
1
О, ты только что сэкономил мне три дня работы, которые я потратил на настройку нового устройства. Работал отлично! Заменяется nvme0n1p3на sda5и nvme0n1p2на sda1(раздел linux внутри LVM и маленький загрузочный раздел вне LVM соответственно)
Оливер U
1
@OliverU здорово, что это сработало! Даже если вы больше не можете загрузить его, вы все равно сможете скопировать свой домашний каталог и, возможно, части / etc или около того в новую установку. Это должно быть, вероятно, меньше работы, чем начальная установка.
lumbric
1
Отлично работал для Ubuntu 18.10, где проблема произошла со мной после apt autoremoveпроблемы. Как и Оливер выше, мне просто нужно было заменить следующее в инструкциях: nvme0n1p3sda5, nvme0n1p3sda5_crypt, nvme0n1p2sda1. Остерегайтесь правильной догадки, не нужно вводить chrootдважды, так как cat /etc/crypttab | cut -f1 -d " "внутри chrootпросто подтвердит, что вы сделали правильную догадку. Если вам нужно войти дважды, сделайте это после перезагрузки, поскольку закрытие и повторное открытие среды crytpsetup + LVM2 без перезагрузки кажется… сложным.
Танус
Также следует отметить, что эти инструкции прекрасно работали с жестким диском без загрузки, помещенным в корпус диска и подключенным к другому (исправно работающему) компьютеру Ubuntu через USB. Нет необходимости в живой системе.
Танус
Спасибо человек, это помогло после 4 часов попыток исправить это. Работает даже на Ubuntu 19.10
WellBloud
3

У меня была эта проблема, и ничто на постах здесь или в другом месте не могло помочь. В частности, в моем случае, я мог видеть, что /dev/mapperне содержит ubuntu--vg-rootили что-либо еще по этому вопросу. Это означает, что что-то либо пошло не так, когда LVM попытался смонтировать / отобразить тома, ИЛИ что-то пошло не так ранее в процессе загрузки, и эта ошибка является признаком всех возможных проблем.

Вторым из них был случай для меня, и только благодаря тому, что я прочитал о нем, initramfsя смог понять и диагностировать проблему. Это должно быть первым делом, если вы подозреваете, что что-то пошло не так, прежде чем LVM сделает свое дело.

В моем случае (который может не совпадать с вами, но стоит документировать) у меня было включено полное шифрование диска (LUKS), и каким-то образом cryptsetupинструменты были удалены initramfs, поэтому мне не предлагалось разблокировать пароль и диски были недоступны, что означало, что их /dev/sdaXнельзя было смонтировать, и, следовательно, их ubuntu--vg-rootнельзя было смонтировать / подключить /dev/mapper. Если вы попытаетесь запустить cryptsetupиз приглашения BusyBox, ваш ll know you have the same issue if thecryptsetup` не найден.

Решением было загрузиться с LiveCD, вручную разблокировать диск cryptsetup, chrootв корневую файловую систему, переустановить cryptsetupи вызвать update-initramfs.

cwilko
источник
Добро пожаловать в Спросите Ubuntu! :-) Можете ли вы расширить последнюю строку в реальных команд?
Fabby
1
Я написал сценарий для этого случая (LUKS + LVM) на диске NVMe, но также могу расширить его и до /dev/sd*стиля дисков. unix.stackexchange.com/a/467113/103652
dragon788
2

Для тех, кто здесь страдает от проблем, связанных с шифрованием, как в ответе @ Zanna, вам нужно будет выполнить процедуру, подобную этой:

  1. Загрузитесь в вашу систему, используя live distro / USB.

  2. Смонтируйте зашифрованный раздел (в Ubuntu вы должны увидеть зашифрованный том, доступный на рабочем столе; двойного щелчка и ввода пароля должно быть достаточно). Раздел будет смонтирован в /media/ubuntu/[mount point]. (Имя пользователя будет меняться в зависимости от дистрибутива; например, Xubuntu использует xubuntu.)

  3. Откройте окно терминала и бурбон.

  4. Установите соответствующие привязки для точек монтирования в системе:

    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 в корневой каталог вашего зашифрованного диска: chroot /media/ubuntu/[mount point]

  6. Убедитесь , что система имеет соответствующие initramfsпакеты , установленные: sudo apt install cryptsetup-initramfs lvm2.

  7. Крайне важно, что вам также необходимо убедиться, что ваши файлы конфигурации принудительно initramfsвключают двоичные файлы cryptsetup, которые были удалены в какой-то момент, кажется : nano /etc/cryptsetup-initramfs/conf-hookраскомментируйте CRYPTSETUPстроку и убедитесь, что она читается CRYPTSETUP=Y.

  8. Наконец, запустите update-initramfs -u -k all, выключите, извлеките живое мультимедиа и начните снова.

Ваш пробег может варьироваться в зависимости от того, что случилось с вашей системой. Если, например, вы изменили имя группы LVM или UUID, вам может потребоваться выровнять /etc/crypttabи /etc/fstabиспользовать правильные идентификаторы. Если, как и я, вы мигрировали из одного выпуска в другой, вы можете обнаружить, что у вас есть два зашифрованных тома с одинаковым именем группы - это затрудняет монтирование диска (вам нужно явно использовать UUID).

В целом, обновление до Xubuntu 18.10 было ужасным из-за этого. (Стандартная система не будет перезагружаться после загрузки обновлений ядра!) По крайней мере, в моей текущей установке система стабильна после перезагрузок.

Обратите внимание, что ошибки ACPI, которые привели меня к поиску решения по всему Интернету, были красной селедкой: они не имеют отношения к возможности загрузки с зашифрованного диска.

Итан
источник
Что sdXв этом случае? При загрузке с LiveCD /bootраздела нет , поэтому не понятно, что там должно быть.
ralien
@ralien - sdXдиск, содержащий зашифрованный раздел, вероятно, sdaв большинстве систем. В моем случае я зашифровал основной диск ( sda) во время новой установки.
Итан
0

Попробуйте следующее:

(initramfs) reboot

Затем, по приглашению выбора ОС, попробуйте загрузиться с более старым ядром.

Если вам это удастся, то, вероятно, это решит проблему, как предлагается в пунктах 4 и 5 @One Face, и по ссылке, на которую она ссылается:

sudo apt-get install lvm2
e18r
источник
Если lvm2 не установлен, старое ядро ​​не загрузится. Пакет lvm2 и ядро ​​не связаны между собой вещами. Нужно загрузиться с Rescue System и установить пакет через chroot.
PRIHLOP