[Internal] Virtual Machine powers on but fails to boot: No operating system was found
search cancel

[Internal] Virtual Machine powers on but fails to boot: No operating system was found

book

Article ID: 305362

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

You see the error:

- No operating system was found In the VMs console
- Unable to boot to Operating System

When viewing the .vmx file, scsi0:0.fileName is pointing to a disk that doesn't have the OS installed

scsi0:0.fileName = "VM-name_2.vmdk"

 

cd /vmfs/volumes/datastore/VMname/vmware.log shows below entries:

<snip>
yyyy-mm-ddThh:mm:ss:ms8Z| vcpu-0| I120: Msg_Post: Warning
yyyy-mm-ddThh:mm:ss:ms8Z| vcpu-0| I120: [msg.Backdoor.OsNotFound] No operating system was found. If you have an operating system installation disc, you can insert the disc into the system's CD-ROM drive and restart the virtual machine.
yyyy-mm-ddThh:mm:ss:ms8Z| vcpu-0| I120: ----------------------------------------
</snip>

 

cd /var/log/hostd.log shows as below:

<snip>
yyyy-mm-ddThh:mm:ss.330Z info hostd[45940B70] [Originator@6876 sub=Vimsvc.TaskManager opID=HB-host-123@14202-517629d-1-6385 user=vpxuser] Task Created : haTask--vim.OverheadService.downloadVMXConfig-1017314
yyyy-mm-ddThh:mm:ss.331Z warning hostd[44881B70] [Originator@6876 sub=Vmsvc.vm:/vmfs/volumes/xxxxxxxx-xxxxxxxx-xxxx-xxxxxxxxxxxx/VM-name_2/VM-name_2.vmx] Failed to find activation record, event user unknown.
yyyy-mm-ddThh:mm:ss.331Z info hostd[44881B70] [Originator@6876 sub=Vimsvc.ha-eventmgr] Event 380 : Warning message on VM-name_2 on ESXi6-c.gss.local in ha-datacenter: No operating system was found. If you have an operating system installation disc, you can insert the disc into the system's CD-ROM drive and restart the virtual machine.
yyyy-mm-ddThh:mm:ss.331Z info hostd[44881B70] [Originator@6876 sub=Vmsvc.vm:/vmfs/volumes/xxxxxxxx-xxxxxxxx-xxxx-xxxxxxxxxxxx/VM-name_2/VM-name_2.vmx] Answered question 42284393
</snip>

 

Environment

VMware vCenter Server 6.7.x
VMware vCenter Server 7.0.x
VMware vSphere ESXi 6.7
VMware vSphere ESXi 7.0

Cause

One of the cause can be change in BIOS setting of VM from Legacy to UEFI for VM running with older hardware version

Resolution

To resolve this issue:
 
  1. Power off the VM
  2. Log in to the host via SSH or Local console as root.
  3. Locate the virtual machine's files.
  4. Use this command to search the .vmx file for the attached disks:
    grep scsi0:[^*].fileName *.vmx
    Example output:
    scsi0:0.fileName = "VM-name_2.vmdk"
    scsi0:1.fileName = "VM-name_1.vmdk"
    scsi0:2.fileName = "VM-name.vmdk"
    scsi0:3.fileName = "VM-name_3.vmdk"

  5. Make a backup copy of the .vmx file.
  6. vi the .vmx file and swap the attached disks so that scsi0:0.fileName is pointing to the disk with the OS installed on it

    In the example, we would swap
    scsi0:0.fileName = "VM-name_2.vmdk" with scsi0:2.fileName = "VM-name.vmdk

    The end result would be:
    scsi0:0.fileName = "VM-name.vmdk"
    scsi0:1.fileName = "VM-name_1.vmdk"
    scsi0:2.fileName = "VM-name_2.vmdk"
    scsi0:3.fileName = "VM-name_3.vmdk"

  7. Save and Exit the .vmx file 
  8. Power on the VM
Alternatively, create a new virtual machine configuration file and point it to the existing .vmdk files using this Knowledge Base:

Additional Information