OVF/OVAs of EFI-based Linux virtual machines fail to boot after deploying to new virtual machines with the error: EFI SCSI Hard Drive... unsuccessful
search cancel

OVF/OVAs of EFI-based Linux virtual machines fail to boot after deploying to new virtual machines with the error: EFI SCSI Hard Drive... unsuccessful

book

Article ID: 320015

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

Symptoms:
  • Open Virtualization Format (OVF) or Open Virtualization Appliances (OVA) of EFI (Unified Extensible Firmware Interface) Shell based Linux virtual machines fail to boot after being deployed to new virtual machines.
  • Before loading the EFI Shell as a fallback option, the virtual machine console shows a boot failure error message similar to:

    Attempting to start up from:
    EFI SCSI Hard Drive... unsuccessful.


Environment

vSphere vCenter Server 6.x
vSphere vCenter Server 7.x
vSphere vCenter Server 8.x

Cause

When creating OVF or OVA files in current versions of vCenter Server, the NVRAM file is not exported with the OVF. This issue occurs because the EFI-based Linux virtual machines requires the NVRAM file to boot successfully.

Note: This will not impact any virtual machines which are Cloned, relocated via Storage vMotion, and is specific only to OVF/OVA exported EFI based Linux Virtual Machines. BIOS based virtual machines are not affected.

Resolution

 
To work around this issue in earlier versions, copy the original NVRAM file from the source virtual machine into the new virtual machines folder.
 
To copy the original NVRAM file from the source virtual machine into the new virtual machines folder:

Note: This is only successful if the virtual disk layout has not changed between the original and newly created virtual machines.
  1. Take a copy of the original source virtual machine's NVRAM file (vmname.nvram) from the virtual machine folder.
  2. Deploy the OVF to the new virtual machine. For more information, see Deploy an OVF Template.
  3. Power on and attempt to boot the new virtual machine. This will fail. It will generated a new NVRAM file in the virtual machine datastore folder.
  4. Power off the new virtual machine.
  5. Copy the NVRAM file from Step 1 into the destination folder, and rename it accordingly to overwrite the existing NVRAM file created in Step 3.
  6. Power on and boot the new virtual machine.