Здійснив очікування кореневого пристрою, ubuntu - vg-root не існує


17

сьогодні я встановив Ubuntu 64-розрядний на нетбук. Коли цей нетбук завантажується, з’являється звіт про помилки. Я думаю, що з перегородками є проблема.

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 до питання у вигляді посилань на пасти.

На підставі пошуку, здається , є подібні питання на Ask Ubuntu , що не має ніякої відповіді до теперішнього часу тут і тут одна відповідь дан , який пояснює про наліт і Убунту.

Здається, є кілька пропозицій, деякі з яких, здається, працюють для деяких людей.

  1. Скористайтеся відповідним запитом ls /dev/mapperі вкажіть, чи вказано ваш кореневий об'єм. Якщо його немає в списку, спробуйте почекати 10 секунд і запустіть ls ще раз.

    Якщо він зараз перерахований, введіть exitі він повинен знайти кореневий пристрій та завантажувач (взяті звідси

  2. Відредагуйте конфігурацію завантаження, натиснувши eпри попередженні grub, щоб вибрати ОС, і замініть 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 як ваш фальшивий розділ) Переконайтесь, що для завантаження з цього диска встановлено прапорець. Зверніть увагу, що інсталятор змінить grub2, щоб вказати на правильний логічний розділ / dev / mapper / pdc_feddabdf1 або що інше /. "

    Детальні вказівки щодо встановлення наведені на зазначеному сайті. Будь ласка, перегляньте там, щоб отримати докладнішу інформацію про встановлення штампу.

  8. Завантаження в живий інсталяційний медіа та оновлення ubuntu шляхом зміни кореня за допомогою, chrootздається, працює для деяких людей (запропоновано cpttripzz тут ). Інструкція щодо Chroot тут . Ви також можете звернутися до цього питання в Unix & Linux. Детальніше можна ознайомитись у Arch Wiki та Gentoo Wiki .
  9. Зміна контролера SATA на Native IDE з RAID та нова установка, здається, працює для деяких людей тут і тут
  10. Кабель IDE або жорсткий диск можуть бути поганими (той же форум ubuntu, що і вище на сторінці 40)

Попередній ос був Win7
Йонас Франц



Ремонт завантаження: paste.ubuntu.com/9660149
Йонас Франц

Повідомлення про помилку: postimg.org/image/tzuyske3d
Йонас Франц

8

У деяких версіях Ubuntu (наприклад, Xubuntu 18.10) ця проблема може бути викликана apt autoremove. Через цю помилку підходящий запропонує видалити

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

Це питання допомогло мені зібрати команди.


1
О, ви щойно врятували мене близько трьох днів роботи, яку я вклав би у створення нового пристрою. Працювали чудово! Замінено nvme0n1p3на sda5і nvme0n1p2з sda1(Linux-розділ всередині LVM та невеликий завантажувальний розділ поза LVM відповідно)
Олівер U,

1
@OliverU чудово, що це спрацювало! Навіть якщо ви більше не можете змусити його завантажуватись, ви все одно зможете скопіювати свій домашній каталог та, можливо, частини / etc або інше в нову інсталяцію. Це, мабуть, має бути менше роботи, ніж початкові установки.
мастило

1
Відмінно працював для Ubuntu 18.10, де проблема трапилася зі мною після apt autoremoveвипуску. Як і Олівер вище, мені просто довелося замінити наступне в інструкціях: nvme0n1p3sda5, nvme0n1p3sda5_crypt, nvme0n1p2sda1. Дотримуйтесь правильної здогадки так, не потрібно chrootдвічі вводити cat /etc/crypttab | cut -f1 -d " "всередину, chrootце просто підтвердить, що ви правильно вгадали. Якщо вам потрібно ввести двічі, зробіть це після перезавантаження, оскільки закриття та повторне відкриття середовища cryppsetup + LVM2 без перезавантаження здається… складним.
tanius

Також слід зазначити, що ці інструкції чудово спрацювали з жорстким диском, що не завантажується, поставленим у корпус диска та приєднаним до іншого (належним чином працюючого) комп'ютера Ubuntu через USB. Тоді не потрібно живої системи.
tanius

Спасибі людині, це допомогло через 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 theне зможете знайти cryptsetup`.

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


Ласкаво просимо в Ask Ubuntu! :-) Чи можете ви розгорнути останній рядок у фактичні команди?
Фабі

1
Я написав сценарій для цього випадку (LUKS + LVM) на накопичувачі NVMe, але також можу розширити його на /dev/sd*стильові накопичувачі. unix.stackexchange.com/a/467113/103652
dragon788

2

Для тих, хто тут страждає від проблем, пов’язаних із шифруванням, як у відповіді @ Zanna, вам потрібно буде дотримуватися процедури, подібної до цієї:

  1. Завантажтесь у вашу систему за допомогою живого дистрибутива / USB.

  2. Встановіть зашифрований розділ (в Ubuntu ви повинні побачити зашифрований том, доступний на робочому столі; достатньо двічі клацнути та ввести пароль). Перегородка буде встановлена ​​на /media/ubuntu/[mount point]. (Ім'я користувача зміниться на основі distro; наприклад, використовує 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 було жахливим через це. (Система запасів не перезавантажиться після того, як було оновлено оновлення ядра!) Принаймні в поточній установці, яку я маю, система стабільна через перезавантаження.

Nb, помилки ACPI, які змусили мене в Інтернеті шукати рішення, були червоною оселедець: вони не мають жодного стосунку до того, чи можна завантажуватись із зашифрованого диска.


Що sdXв цьому випадку? Під час завантаження з LiveCD не існує /bootрозділу, тому незрозуміло, що там слід вносити.
ralien

@ralien - sdXце накопичувач, що містить зашифрований розділ, мабуть, sdaу більшості систем. У моєму випадку я зашифрував основний диск ( sda) під час нової інсталяції.
Ітан

0

Спробуйте наступне:

(initramfs) reboot

Потім, у запиті вибору ОС, спробуйте завантажитися зі старшим ядром.

Якщо вам це вдасться, то, ймовірно, це вирішить проблему, як це запропоновано в пулях 4 і 5 @One Face, і посиланням, на яке вона посилається:

sudo apt-get install lvm2

Якщо не встановлено lvm2, старе ядро ​​не завантажиться. lvm2 пакет і ядро ​​не пов'язані між собою. Потрібно завантажитися з Rescue System і встановити пакет через chroot.
PRIHLOP
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.