Skip to main content

Issue: Operating System not found


Yesterday, I was working into my vsphere Lab where I have deployed one virtual machine into the environment. After deployment virtual machine was working perfectly fine. After some time, I have added 2 huge hdd of size 800 GB using PVSCSI. Once I added the hdd into the VM, and after accepting the change, I tried to open the console and found vm has rebooted and stuck at "Operating System not found"

That’s look wired, as I have just added the hdd online and suddenly it rebooted and stuck at this stage.
To troubleshoot this issue I tried to gracefully shutdown the VM and tried to bring online in hope, it will detect the changes, but again it stuck at same level "Operating System not found"

I checked my OS drive which is created with the LSI SCSI controller, and the 2 new hdd I created with PVSCSI controller. Here is what the problem exists!!!!!
Basically, When the virtual machine is created with the LSI SCSI controller, the operating system controller is selected as the first boot controller. Now when the controller type is changed to PVSCSI, it is detected as a new device and the controller with the data drive may be moved to the first boot controller. When it fails to find the operating system during bootup, this issue occurs.
Now the issue has been isolated as why the virtual machine is not booting with OS.
I planned to set the "scsi0;0" with the first boot controller.
To do so I perform below steps,

This is applicable from Esxi5.0 or later.

  1. Power off the virtual machine.
  2. Login to the Esxi using Putty or using Tech Support Mode
  3. Access the VMFS volume where the virtual machine is located using below command

    cd /vmfs/volumes/datastore_name/vm_name  
  4. Once VM folder is identified, open the its vmx file in vi (text editor)
  5. Make sure the VM is in powered of state
  6. Add this line to the .vmx file:

    bios.hddOrder = "scsi0:0"
  7. Save the changes into .vmx file.

  8. Now we need to reload the  .vmx file. to recognize the changes.
 To reload the .vmx file please use below steps:
    1. Fist we have to obtain the Vmid of the virtual machine using below command:
    2. #vim-cmd vmsvc/getallvms
    3. You see output similar to: 
      Vmid Name File Guest OS Version Annotation 2848 Win2003_storage_performance [local] Win .vmx winNetEnterpriseGuest vmx-07 To be used as a template
    4. In this example, the Vmid is 2848.
    5. Reload the .vmx file using this command:

      # vim-cmd vmsvc/reload Vmid
  1. Now Poweron the VM, Your VM wil boot now with OS  :)

Happy Sharing.


Popular posts from this blog

Changing the FQDN of the vCenter appliance (VCSA)

This article states how to change the system name or the FQDN of the vCenter appliance 6.x You may not find any way to change the FQDN from the vCenter GUI either from VAMI page of from webclient as the option to change the hostname always be greyed out. Now the option left is from the command line of VCSA appliance. Below steps will make it possible to change the FQDN of the VCSA from the command line. Access the VCSA from console or from Putty session. Login with root permission Use above command in the command prompt of VCSA : /opt/vmware/share/vami/vami_config_net Opt for option 3 (Hostname) Change the hostname to new name Reboot the VCSA appliance.   After reboot you will be successfully manage to change the FQDN of the VCSA . Note: Above step is unsupported by VMware and may impact your SSL certificate and face problem while logging to vSphere Web Client. If you are using self-signed certificate, you can regenerate the certificate with the

VM Creation Date & Time from Powercli

Most of the times we have several requirement when we talk about IT environment like designing , deployment , compliance check or for Security auditing the environment. Somewhere during security auditing we require to provide several information to security team to get successful audit. One of them is the compliance of Virtual machine auditing of creation date and time. Here into this post we will explore how to get the creation date and time of virtual machine hosted into the vCenter or ESXi. To get the details we will use VMware Powercli to extract the details. By default there is no function added into Powercli to get such details, so here we will add a function of vm creation date. Below is the function which needed to be copy and paste into the Powercli. ======================================================================= function  Get-VMCreationTime  {     $vms  =  get-vm     $vmevts  = @()     $vmevt  =  new-object  PSObject     for

Unable to poweron the VM. (Failed to lock the file)

I have encountered may issues like where after some upgrade or migration we were unable to power on the VM. Figure 1 An error was received from the ESX host while powering on VM HSSVSQL01. Failed to start the virtual machine. Cannot open the disk '/vmfs/volumes/578d835c-18b2c97a-9b0d-0025b5f13920/SAMPLE1_cloud/000000.vmdk' or one of the snapshot disks it depends on. Failed to lock the file In above Figure:1, where while powering on the VM, its prompt for an error. Well, there are several reason for where the VM unable to poweron and you can find many article on this. Here in this article we will discuss to resolve this issue. Please use below step to resolve the disk lock issue  C hecked that VM is running on snapshot if its getting error " VM Consolidation required". Checked the snapshot manager if its showing any snapshot. If yes, try to delete the  snapshot. Verified the same from Esxi cl