挂载 /dev/sda1 /newroot/boot

挂载 /dev/sda1 /newroot/boot

这是我收到的信息

我正在使用 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 启动系统并执行以下任务

  1. 启动 Live CD
  2. 挂载 /dev/mapper/rootvg-root /newroot
  3. Chroot /newroot
  4. 尝试重新安装 lvm2,它说成功了,并重新创建了 initrd.img
  5. 更新-initramfs -u

它不会重新启动。你能告诉我会发生什么吗?

答案1

我能够在分区开始之前将 rootvg 从救援 CD 挂载到启动到 shell 中

  1. mkdir /newroot 将根卷挂载到/newroot
  2. 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

出口

重启

服务器恢复正常。

相关内容