Failed to deploy image to UEFI-based machines: it fails to boot – no operating system was found. 

book

Article ID: 206566

calendar_today

Updated On:

Products

Deployment Solution

Issue/Introduction

After capturing a new image from a UEFI-based machine, the customer is unable to deploy the new image to their UEFI-based laptops: it fails to boot – no operating system was found. 

Both, the source and the destination systems, are using UEFI.

Cause

Configuration issues with existing mapped drives

Environment

Deployment Solution 8.5 RU4

Resolution

Few things to consider:

  1. If the image was captured on a UEFI machine it must be deployed to a UEFI machine. If it was captured in a BIOS source machine, we should be able to deploy it to a UEFI machine. If both are the same then the -FIXEFIBOOT switch is not needed.
  2. Verify if the drive is set to RAID in the BIOS (if the image was captured on a system without RAID and deployed to a system with RAID enabled it will not boot). If you captured the image from a VM, it most likely it would not have the RAID drivers as part of the image. Try if it goes into BIOS and change the drive from RAID to AHCI and see if it boots.
  3. This is something similar that you could try: Another way to fix BCD error after imaging

    but this is for MBR not GPT partitions and with UEFI there is a system partition, unlike those with MBR as there is usually only 1 partition.
    So, what need to happen is set map a drive for the system partitions then run BCDBOOT and copy the UEFI stack to the system partition with something like:

    echo select disk 0 >> x:\uefi.txt
    echo list volume >> x:\uefi.txt
    echo select volume 1 >> x:\uefi.txt     ->  this is the volume number for the 100 MB uefi volume
    echo assign letter=s >> x:\uefi.txt
    echo exit
    diskpart /s x:\uefi.txt

    c:\windows\system32\bcdboot c:\windows /s S: /f UEFI  ->Where c: means Windows partition and S: is the UEFI partition.

    The script above is making the assumption that there are no drives already mapped. If for example, if "The third line of the file uses volume 3 in his environment", when you try to run “c:\windows\system32\bcdboot c:\windows /s S: /f UEFI” you may get an error that the system cannot find the path specified.  

    You may need to use using DISKPART command on the machine that you are trying to image and see if you already have drives mapped with specific drive letters.
    For example, you may have "D drive" for your data (windows) partition instead of "C:\"  and "F drive" for system partition instead of "S:\".

    So, then you need to use just this line with a modified part of the script above referencing the drives that you have in use (the previous lines are just needed if you need to map things for the first time):

    D:\windows\system32\bcdboot D:\windows /s F: /f UEFI

    Note: For details on how to use BCDBOOT, please refer to related Windows documentation like:
    BCDBoot Command-Line Options

     

    How to Fix BCDboot Failure When Attempting to Copy Boot Files?

    If this BCDBOOT command line works while running it on your machine directly, then add a "Run script" task on your "deploy image" job to include that command.

     

Attachments