Virtual machine does not boot after being converted from a physical Red Hat machine
search cancel

Virtual machine does not boot after being converted from a physical Red Hat machine

book

Article ID: 328799

calendar_today

Updated On:

Products

VMware

Issue/Introduction

  • A converted physical machine running Red Hat does not boot as expected
  • Virtual machine fails to boot after conversion
  • The boot process halts with an error
  • You see entries similar to:

    No volume groups found

    Kernel panic - not syncing: Attempted to kill init!

    VFS: Cannot open root device "LABEL=/" or 00:00

    Please append a correct = "root=" boot option

    Kernel panic: VFS: Unable to mount root fs on 00:00


Environment

VMware Converter 3.0.x
VMware vCenter Converter Standalone 4.0.x
VMware vCenter Converter 4.0.x
VMware vCenter Converter Standalone 4.3.x
VMware vCenter Converter Standalone 5.0.x

Resolution

The issue occurs because the operating system's ramdisk image does not include the drivers or modules for the virtual SCSI adapter configured for the virtual machine. These modules are not in the ramdisk image because the image was originally created on a system that did not use this hardware. You must replace the existing ramdisk image with one that includes the proper drivers.

Converter 3.0.x did not support hot cloning of Linux operating systems or the configuration of resulting virtual machines for new virtual hardware. It only supports cold cloning without configuration. vCenter Converter 4.0 does support hot cloning and the configuration of some Linux operating systems, including Red Hat. Refer to the manual for a list of supported versions.

Validate that each troubleshooting step below is true for your environment. Each step provide instructions or a link to a document, in order to eliminate possible causes and take corrective action as necessary. The steps are ordered in the most appropriate sequence to isolate the issue and identify the proper resolution. Do not skip a step.
Note: If you perform a corrective action in any of these steps, attempt booting the virtual machine again.
  1. If your physical source machine has a vCenter Converter 4.0 supported version of Red Hat installed and you still have access to it:

    1. Upgrade to vCenter Converter 4.0 if you have not done so already.
    2. Run Converter and perform another physical to virtual conversion. This virtual machine should boot.

  2. If you are unable to use Converter to create a new Red Hat virtual machine that boots, you need to modify the guest operating system

    Notes:

    • Before beginning, VMware recommends that you take a snapshot of your virtual machine. VMware also recommends that you take a backup of any files that you edit in these steps. After the operating system is working the snapshot and backup files can be deleted.
    • In these steps, you are ensuring that the operating system has the appropriate type of virtual hard disk controller. This can be either LSI Logic or BusLogic. Choose the controller that is most suited to your version of Red Hat and ensure that it is this controller that is being presented to the virtual machine.

    To modify the guest operating system:

    1. Boot the virtual machine from the first Red Hat installation disk.
    2. At the first prompt, type linux rescue and press Enter.
    3. Change root to the mounted installation. Type chroot /mnt/sysimage and press Enter.
    4. If the physical computer was IDE based, replace any instance of the text /dev/hda with /dev/sda in these files /etc/fstab, /boot/grub/device.map, and /boot/grub/grub.conf.
    5. Ensure that grub is installed properly. Type grub-install and press Enter.
    6. If the /etc/modules.conf file exists, edit it and remove any existing entries.
    7. Edit the /etc/modprobe.conf file.

      1. Look for alias ethx module entries, where x is replaced by a number and module is replaced by text. Change each module entry to pcnet32.
      2. If you are using BusLogic:

        Look for
        alias scsi_hostadapterx module entries, where x is replaced by a number and module is replaced by text. Change each module entry to BusLogic.
      3. If you are using LSI Logic:

        Look for
        alias scsi_hostadapterx module entries, where x is replaced by a number and module is replaced by text. Change each module entry to mptscsih.

        Additionally, look for an alias scsi_hostadapter module entry, where module is replaced by text and there is no number after hostadapter. If it exists, replace module with mptbase. If it does not exist, add alias scsi_hostadapter mptbase directly above the line that now reads alias scsi_hostadapter1 mptscsih.

    8. Determine the full path to the ramdisk image to be rebuilt. The file is located in /boot. List the contents of the directory by typing ls /boot and pressing Enter. There are files with a name similar to initrd-2.6.9-42.EL.img.

      For example, the full path to the ramdisk image is /boot/initrd-2.6.9-42.EL.img. Make a note of this.

      Note: If there is more than one initrd- file in /boot, type cat /etc/grub.conf, press Enter to determine which file is being used.

    9. Determine the kernel version to use for rebuilding the ramdisk image. Type ls /lib/modules and press Enter.

      For example, you see the directory
      2.6.9-42.EL. Make a note of this.

      Note: If there is more than one directory shown, type
      cat /etc/grub.conf and press Enter to determine which kernel version is being used.

    10. Rebuild the ramdisk. run the mkinitrd -v -f /boot/initrd-2.6.9-42.EL.img 2.6.9-42.EL command and press Enter, where /boot/initrd-2.6.9-42.EL.img is replaced with the information noted in h. and 2.6.9-42.EL is replaced by the information noted in step I.

  3. If you are unable to use a supported version of Red Hat, or the procedure in step 2 did not work:

    1. Modify the physical machine to have support for either BusLogic or LSI Logic.
    2. Convert the physical machine again.

Additional Information

For translated versions of this article, see: