这是我收到的信息
我正在使用 diet-upgrade 将 Ubuntu 12.04.1 升级到 12.04.05,并将内核从 3.8.0.29 升级到 3.8.0.44。由于找不到 rootvg,系统无法重新启动到新内核
放弃等待根设备。常见问题:-启动参数(cat /proc/cmdline)-检查根延迟 =(系统是否等待了足够长的时间?)-检查根=(系统是否等待了正确的设备?)-缺少模块(cat /proc/modules; ls /dev)警告!/dev/mapper/rootvg-root 不存在。转到 shell
(initramfs)
我尝试使用 Live CD 启动系统并执行以下任务
- 启动 Live CD
- 挂载 /dev/mapper/rootvg-root /newroot
- Chroot /newroot
- 尝试重新安装 lvm2,它说成功了,并重新创建了 initrd.img
- 更新-initramfs -u
它不会重新启动。你能告诉我会发生什么吗?
答案1
我能够在分区开始之前将 rootvg 从救援 CD 挂载到启动到 shell 中
- mkdir /newroot 将根卷挂载到/newroot
- mount /dev/mapper/rootvg-root /newroot 挂载启动分区
挂载 /dev/sda1 /newroot/boot
挂载 var 卷
挂载 /dev/mapper/rootvg-var /newroot/var
Chroot 环境
chroot /newroot
一旦 chroot,您就可以访问系统中安装的所有工具,包括 apt-get、aptitude、zcat 等
使用 Zcat 读取 initrd.img 档案,查看 lvm 模块是否已添加到 sbin/
zcat /boot/initrd.img-3.8.0-44-generic | cpio --extract --verbose --list | fgrep lvm
系统
sbin/rmmod
sbin/mount.ntfs-3g-> /bin/ntfs-3g
sbin/blkid
sbin/udevd
sbin/mount.fuse
sbin/hwclock
sbin/modprobe
sbin/等待根
sbin/dumpe2fs
sbin/udevadm
sbin/dmsetup
sbin/mount.ntfs->/bin/ntfs-3g
我无法在图像 sbin 中找到 lvm,这就是无法导入 VG 和安装卷的原因。
正确的 initrd 映像应该是这样的
系统
sbin/rmmod
sbin/mount.ntfs-3g-> /bin/ntfs-3g
sbin/blkid
sbin/udevd
sbin/mount.fuse
sbin/hwclock
sbin/modprobe
sbin/等待根
sbin/dumpe2fs
sbin/udevadm
sbin/lvm
sbin/mount.ntfs->/bin/ntfs-3g
更新以下文件以强制加载模块
回显“lvm”>> /etc/initramfs-tools/modules
这将创建一个新的 initramfs 映像
initramfs-更新-k-c全部
使用以下命令验证 lvm 模块是否已添加到映像中
zcat /boot/initrd.img-3.8.0-44-generic | cpio --extract --verbose --list | fgrep lvm
退出 chroot
出口
重启
服务器恢复正常。