Когда я загружаюсь, я получаю экранное высказывание:
Gave up waiting for root device
Затем это перечисляет типичные проблемы:
ALERT! /dev/mapper/ubuntu--vg-root does npt exist. Dropping to a shell!
Затем я получаю подсказку initramfs.
Действительно ли это является закрепляемым без резервного копирования?
Я не могу помнить точно, что я сделал, чтобы заставить это прекратить работать...
(Мой жесткий диск НЕ шифруется.)
Автоматическое обнаружение LVM Ubuntu не работало вообще для меня также. Для фиксации его я сделал сценарий в
/etc/initramfs-tools/scripts/local-top/forcelvm
со следующим содержанием:
#!/bin/sh
PREREQ=""
prereqs()
{
echo "$PREREQ"
}
case $1 in
prereqs)
prereqs
exit 0
;;
esac
. /scripts/functions
# Begin real processing below this line
# This was necessary because ubuntu's LVM autodetect is completely broken. This
# is the only line they needed in their script. It makes no sense.
# How was this so hard for you to do, Ubuntu?!?!?
lvm vgchange -ay
Затем сделал
# chmod +x `/etc/initramfs-tools/scripts/local-top/forcelvm`
в придачу и
# update-initramfs -u -k all
, Который зафиксировал все при сохранении после системного обновления.
Резервное копирование
/usr/share/initramfs-tools/scripts/local-top/lvm2
Редактирование
/usr/share/initramfs-tools/scripts/local-top/lvm2
Между modprobe -q dm-mod
и activate_vg "$ROOT"
добавляют эту строку для инициализации lvm:
lvm vgchange -ayactivate_vg "$ROOT"
Восстанавливают Ваш initramfs:
sudo update-initramfs -u
Восстанавливают Вашу личинку cfg:
sudo update-grub
Обладают! :-)
Для некоторых из Вас это могла бы быть проблема в Вашем grub.cfg:
Споткнулся о той же проблеме (корень, не найденный, поскольку lvm группы объема не были активированы initrd), сегодня на 18,04. Я выяснил, что группы объема автоматически активируются, если Вы указываете свое корневое устройство в "grub.cfg" через имя устройства
linux /vmlinuz root=/dev/mapper/vg-root
, где, поскольку они автоматически не активируются при определении его на UUID
linux /vmlinuz root=UUID=abcd-[...]
Таким образом, должен был быть некоторый сценарий в initrd, который содержит эту логику.
Попробуйте временное обходное решение
В initramfs запрашивают тип:
vgchange -ay
Демонстрационный вывод:
логический том (тома) в группе "vg1000" объема, теперь активной
Сопровождаемый:
exit
Если у Вас есть снимок LVM корневого раздела, это - ошибка № 360237. Я решаю эту проблему, удаляющую/удаляющую тот снимок.
Если не Ваш случай, попытка фиксирует выполнение этого.
1
В initramfs введите:
#/sbin/lvm vgchange -a y
#vgchange -a y
#exit
Если Вы не можете решить проблему, введите это:
ls/dev/mapper Теперь, необходимо было найти корень (как/dev/vgname/lvname).
перезагрузка И затем выбирает ядро на экране и выбирает e, чтобы отредактировать и вставить корневое значение (как/dev/vgname/lvname) в:
/boot/vmlinuxxxxx root=uuid/dev/xxx. Затем наконец, нажмите Ctrl+X для начальной загрузки.
Если проблема повторяется когда перезагрузка сервер
перейдите в
#/boot/grub/grub.cfg в/vm/vmlinuz root=write Ваш весь путь lv
если проблема не зафиксированная попытка фиксирует initramfs как ниже
1. Перейдите к терминалу сервера
# sudo rmmod floppy
#echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklis-floppy.conf
Initramfs-инструменты #dpkg-reconfigure #update-initramfs-u #update-grub #reboot Выполняют это
#/etc/initramfs-tools/scripts/local-top/forcelvm со следующим содержанием:
#!/bin/sh PREREQ = "" prereqs () {отзываются эхом, "$PREREQ"} случай 1$ в prereqs) prereqs выходят 0;; esac./scripts/functions lvm vgchange - да Затем делают
# chmod +x `/etc/initramfs-tools/scripts/local-top/forcelvm`
# update-initramfs -u -k all
возьмите резервное копирование lvm2
#apt-get install lvm2
#cp /usr/share/initramfs-tools/scripts/local-top/lvm2 /tmp
Редактирование lvm2
#vi /usr/share/initramfs-tools/scripts/local-top/lvm2
запишите Между modprobe-q dm-модификацию, и activate_vg "$ROOT" добавляют эту строку для инициализации lvm:
lvm vgchange-ayactivate_vg "$ROOT", если Вы не находите эту строку
запишите ниже двух строк в конце файла выше, выходят 0
#lvm vgchange -ayactivate_vg "$ROOT"
#activate_vg="$ROOT"
сохраните файл затем
#update-initramfs -u
#update-grub
#reboot