记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

虚拟机在从物理 Red Hat 计算机转换后不引导 (2093497)

Symptoms

免责声明:本文为 Virtual machine does not boot after being converted from a physical Red Hat machine (1002402) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。

Resolution

出现此问题的原因是,操作系统的 ramdisk 映像不包含适用于为虚拟机配置的虚拟 SCSI 适配器的驱动程序或模块。这些模块之所以不在 ramdisk 映像中,是因为该映像最初是在不使用此硬件的系统中创建的。必须将现有 ramdisk 映像替换为包含正确驱动程序的 ramdisk 映像。

Converter 3.0.x 不支持 Linux 操作系统热克隆,也不支持对新虚拟硬件生成的虚拟机进行配置。仅支持不进行任何配置的冷克隆。而 vCenter Converter 4.0 支持某些 Linux 操作系统的热克隆和配置,包括 Red Hat。有关支持版本的列表,请参阅相关手册。

验证下面每个故障排除步骤是否适合您的环境。每个步骤提供相关说明或文档链接,用于消除可能的原因和采取必要的补救措施。这些步骤按照最合适的顺序排序,以隔离问题并确定正确的解决方法。请勿跳过任何一个步骤。
 
注意: 如果您在以下任意步骤中执行补救措施,请尝试再次引导虚拟机。
  1. 如果您的物理源计算机安装了 vCenter Converter 4.0 支持的 Red Hat 版本,并且您对其具有访问权限,请执行以下操作:

    1. 升级到 vCenter Converter 4.0(如果尚未执行此操作)。
    2. 运行 Converter 并执行另一个物理机到虚拟机的转换。此虚拟机应该能够引导。

  2. 如果您无法使用 Converter 创建能够引导的新 Red Hat 虚拟机,则需要修改客户机操作系统。 

    注意

    • VMware 建议您在开始之前生成虚拟机的快照。VMware 还建议您为这些步骤中编辑的文件创建备份。操作系统正常工作后,可以删除该快照和备份的文件。
    • 在这些步骤中,您需要确保操作系统具有类型正确的虚拟硬盘控制器。该控制器可以是 LSI Logic 或 BusLogic。请选择最适合您的 Red Hat 版本的控制器,并确保该控制器是要呈现给虚拟机的控制器。

    要修改客户机操作系统,请执行以下操作:

    1. 从第一个 Red Hat 安装磁盘引导虚拟机。
    2. 在第一个提示符处,键入 linux rescue 并按 Enter 键。
    3. 将 root 更改为挂载的安装。键入 chroot /mnt/sysimage 并按 Enter 键。
    4. 如果物理机基于 IDE,请将文件 /etc/fstab、/boot/grub/device.map /boot/grub/grub.conf 中文本 /dev/hda 的任意实例替换为 /dev/sda
    5. 确保 grub 已正确安装。键入 grub-install 并按 Enter 键。
    6. 如果 /etc/modules.conf 文件存在,请编辑该文件并移除所有现有条目。
    7. 编辑 /etc/modprobe.conf 文件。
      1. 查找 alias ethx module 条目,其中 x 将替换为数字,module 将替换为文本。将每个 module 条目更改为 pcnet32
      2. 如果您要使用 BusLogic:

        查找 alias scsi_hostadapterx module 条目,其中 x 将替换为数字,module 将替换为文本。将每个 module 条目更改为 BusLogic

      3. 如果使用 LSI Logic,请执行以下操作:

        查找 alias scsi_hostadapterx module 条目,其中,x 替换为数字,module 替换为文本。 将每个 module 条目更改为 mptscsih

        此外,查找 alias scsi_hostadapter module 条目,其中,module 替换为文本,而 hostadapter 后面没有数字。如果存在,请将 module 替换为 mptbase。如果不存在,请紧接在 alias scsi_hostadapter1 mptscsih 行的上方添加 alias scsi_hostadapter mptbase

    8. 确定要重建的 ramdisk 映像的完整路径。 该文件位于 /boot。键入 ls /boot 并按 Enter 键,列出该目录的内容。 其中包含名称类似于 initrd-2.6.9-42.EL.img 的文件。

      例如,ramdisk 映像的完整路径为 /boot/initrd-2.6.9-42.EL.img。记录该路径。

      注意: 如果 /boot 中存在多个 initrd- 文件,请键入 cat /etc/grub.conf 并按 Enter 键,确定正在使用的文件。

    9. 确定要用于重建 ramdisk 映像的内核版本。 键入 ls /lib/modules 并按 Enter 键。

      例如,会看到目录 2.6.9-42.EL。记录该版本。

      注意: 如果显示多个目录,请键入 cat /etc/grub.conf 并按 Enter 键,确定正在使用的内核版本。

    10. 重建 ramdisk。运行 mkinitrd -v -f /boot/initrd-2.6.9-42.EL.img 2.6.9-42.EL 命令并按 Enter 键,其中,/boot/initrd-2.6.9-42.EL.img 将替换为步骤 h. 中记录的信息,2.6.9-42.EL 将替换为步骤 I 中记录的信息。

  3. 如果您无法使用支持的 Red Hat 版本,或者步骤 2 中的过程不起作用,请执行以下操作:

    1. 将物理机修改为支持 BusLogic LSI Logic
    2. 重新转换物理机。


转载请标明出处【VM ESXI 从Red Hat P2V转换后开机不引导系统】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论