当我启动时,屏幕上显示:
Gave up waiting for root device
然后列出了常见问题:
ALERT! /dev/mapper/ubuntu--vg-root does npt exist. Dropping to a shell!
然后我得到一个 initramfs 提示。
没有备份可以修复吗?
我不记得我到底做了什么让它停止工作......
(我的硬盘未加密。)
答案1
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
这解决了所有问题,并且在系统更新后仍然存在。
答案2
答案3
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 at /vm/vmlinuz root=write 你的完整 lv 路径
如果问题没有解决,请尝试按如下方法修复 initramfs
1.进入服务器终端
# sudo rmmod floppy
#echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklis-floppy.conf
#dpkg-reconfigure initramfs-tools #update-initramfs -u #update-grub #reboot 执行此命令
#/etc/initramfs-tools/scripts/local-top/forcelvm 包含以下内容:
#!/bin/sh PREREQ="" prereqs() { echo "$PREREQ" } case $1 in prereqs) prereqs exit 0 ;; esac . /scripts/functions lvm vgchange -ay 然后执行
# 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-mod 和 activate_vg "$ROOT" 之间添加此行以初始化您的 lvm:
lvm vgchange -ayactivate_vg "$ROOT" 如果你找不到此行
在文件末尾的 exit 0 上方写入以下两行
#lvm vgchange -ayactivate_vg "$ROOT"
#activate_vg="$ROOT"
然后保存文件
#update-initramfs -u
#update-grub
#reboot
答案4
备份
/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
享受! :-)