LVM 设备未显示在 initrd 中但在启动时工作

LVM 设备未显示在 initrd 中但在启动时工作

我目前正在开发一个基于 CentOS 6.7 (2.6) 内核的自定义 initrd以下模块已加载。

initrd 旨在将旧 RHEL 系统中的文件备份到内存中、卸载磁盘、擦除磁盘,最后将dd预构建的 CentOS 系统复制到磁盘上。

CentOS系统是在VMware上构建的,然后将vmdk导出并转换为原始格式qemu-img

从测试来看,整个过程运行得非常好,一旦dd完成,系统就可以重新启动并正常启动。

当前的障碍是,一旦dd操作完成,我无法挂载 LVM 磁盘以将文件复制回来。

正如您在模块列表中看到的那样,LVM 驱动程序已存在并已加载,如果我运行 a,fisk -l它会显示sda1为启动分区(非 LVM)和sda2LVM 分区。运行时pvscan -vvv它看到/dev/sda2但说No label detected

答案1

由于您擦除了磁盘,正在运行的内核将不知道可用的分区。

您可以运行partprobe(与分区实用程序一起提供parted)以在正在运行的内核中重新加载正确的分区信息。

如果您没有partprobe(不需要小光盘parted?),您可以hdparm -z /dev/yourdrive按照所述使用@ko-dos

相关内容