起動すると、次のような画面が表示されます。
Gave up waiting for root device
次に、一般的な問題をリストします。
ALERT! /dev/mapper/ubuntu--vg-root does npt exist. Dropping to a Shell!
次に、initramfsプロンプトが表示されます。
これはバックアップなしで修正可能ですか?
私はこの機能を停止させるために何をしたかを正確に思い出せません...
(私のハードディスクは暗号化されていません。)
UbuntuのLVM自動検出も私にはまったく機能しませんでした。それを修正するために、スクリプトを作成しました
/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
それはすべてを修正しましたが、システムの更新後も持続します。
一部の人にとっては、grub.cfgに問題がある可能性があります。
18.04の今日、同じ問題(lvmボリュームグループがinitrdによってアクティブ化されなかったため、ルートが見つかりません)についてつまずきました。デバイス名で「grub.cfg」にルートデバイスを指定すると、ボリュームグループが自動的にアクティブになることがわかりました
linux /vmlinuz root=/dev/mapper/vg-root
uUIDごとに指定した場合、自動的にアクティブ化されないため
linux /vmlinuz root=UUID=abcd-[...]
したがって、このロジックを含むinitrdにはスクリプトが必要でした。
バックアップ
/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
Grub cfgを再構築します。
Sudo update-grub
楽しい! :-)