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.
- Power off the virtual machine.
- Login to the Esxi using Putty or using Tech Support Mode
- Access the VMFS volume where
the virtual machine is located using below command
- Once VM folder is identified, open the its vmx file in vi (text editor)
- Make sure the VM is in powered of state
- Add this line to the .vmx file:
bios.hddOrder = "scsi0:0"
- Save the changes into .vmx
- Now we need to reload the .vmx file. to recognize the changes.
To reload the .vmx file please use below steps:
- Fist we have to obtain the Vmid of the virtual machine using below command:
- #vim-cmd vmsvc/getallvms
- 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
- In this example, the Vmid is 2848.
- Reload the .vmx file using this command:
# vim-cmd vmsvc/reload Vmid
- Now Poweron the VM, Your VM wil boot now with OS :)