这不是 VMware 问题。有关详细信息,请咨询客户机操作系统供应商。
要解决此问题,需要通过在 Linux 修复模式下创建新的 initramfs 映像将具有已损坏 RAMDISK 映像文件的 Linux 客户机操作系统修复为完整的引导状态。
要创建新的 initramfs 映像并从已损坏的 RAMDISK 映像文件修复 RHEL/CentOS 6 客户机操作系统,请执行以下步骤:
- 使用从其安装 CentOS 或 RHEL 客户机的 ISO 映像引导虚拟机。Installing guest operating systems from ISO images (1002) 中介绍了 ISO 安装过程。要从 ISO 引导现有虚拟机,请使用该过程中的步骤 8 和 9。
注意:截至 2015 年 1 月 30 日,上述链接正确无误。如果您发现该链接已损坏,请提供反馈,VMware 员工将会更新该链接。
- 选择修复已安装系统。
- 为此修复选择一种语言和键盘类型,然后单击本地 CD/DVD 作为修复方法。
- 选择否作为网络连接选项,然后选择继续作为恢复选项以在读/写模式下挂载实际的根文件系统。
- 将需要修复的根文件系统挂载到 /mnt/sysimage 位置,然后启动 shell。
- 要将该根文件系统更改为实际的根文件系统,请运行以下命令:
# chroot /mnt/sysimage
- 要标识默认的内核版本和 /boot/grub/grub.conf 中的 initramfs 映像,请运行以下命令:
# cat /boot/grub/grub.conf例如,如果内核版本为 2.6.32-431.23.3.el6.x86_64,则显示的输出如下:
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server(2.6.32-431.23.3.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-431.23.3.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS
LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=128M
rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-431.23.3.el6.x86_64.img
title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS
LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=128M
rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-358.el6.x86_64.img
在以上示例中,default 值 0 将要使用的第一个 title 选项标识为默认值,将 title 选项行中的对应内核版本标识为 2.6.32-431.23.3.el6.x86_64,将 initramfs 映像文件标识为 /boot/initramfs-2.6.32-431.23.3.el6.x86_64.img。
- 标识 initramfs 映像之后,通过运行以下命令在创建新的 initramfs 映像之前备份原始 initramfs 映像:
# cp /boot/initramfs-2.6.32-431.23.3.el6.x86_64.img /boot/initramfs-2.6.32-431.23.3.el6.x86_64.img.ori
- 要创建新的 initramfs 映像,请运行 dracut 命令:
# /sbin/dracut -f /boot/initramfs-`uname -r`.img `uname -r`
例如,要为内核版本 2.6.32-431.23.3.el6.x86_64 创建新的 initramfs 映像文件 /boot/initramfs-2.6.32-431.23.3.el6.x86_64.img,请运行 dracut 命令:
# /sbin/dracut -f /boot/initramfs-2.6.32-431.23.3.el6.x86_64.img 2.6.32-431.23.3.el6.x86_64
- 要重新引导系统并验证客户机是否从 RAMDISK 映像文件成功引导,请运行以下命令:
# reboot
此问题在下列版本中已解决:
ESXi 版本 | 状态 |
5.0 | 在 VMware ESXi 5.0, Patch ESXi500-201408402-BG:Updates tools-light (2080819) 中已修复 |
5.1
| 在 VMware ESXi 5.1, Patch ESXi510-201503402-BG:Updates tools-light (2099295) 中已修复 |
5.5
| 在 VMware ESXi 5.5, Patch ESXi550-201509202-UG:Updates tools-light (2110233) 中已修复 |