Unified Extensible Firmware Interface (UEFI) technology has been widely adopted by x86 servers hardware manufactures such as IBM and DELL to supersede BIOS, but it presents a challenge for operating system cloning, because the boot code is in efi files not MBR, and even efi files are replicated by file copy or sector copy, the files need to be updated for new hardware, the following example demonstrate cloning Windows 2008 R2 by imagex tool in IBM system X servers.
In source computer, capture the two partitions after booting from winPE
#capture Windows system partition after being syspreped.$imagex /compress fast /capture c: $networkshare:\boot.wim "w2k8 R2 64bit"#capture EFT system partition#driver letter S: was assigned by diskpart command: diskpart; select disk 0; list volume; select volume 2; assign letter=s:$imagex /compress fast /append s: $networkshare:\boot.wim "w2k8 R2 64bit eftsys"
In target computer, create 3 mandatory partitions after booting from winPE
#MSR partition is required for partition operations like converting to dynamic disk, encrypting partition.#“diskpart /s diskpart.txt”$type diskpart.txtselect disk 0cleanconvert gptrem == 1. System partition =========================create partition efi size=100format quick fs=fat32 label="System"select partition 1assign letter="s"rem == 2. Microsoft Reserved (MSR) partition =======create partition msr size=128rem == 3. Microsoft Windows partition =======create partition primary size=102400select partition 3format quick fs=ntfs label="Windows"assign letter="c"
# In target computer, apply the images
imagex /apply $networkshare\boot.wim 1 c: && imagex /apply $networkshare boot.wim 2 s:
In target computer, update BCD store in EFI system partition
bcdedit -store S:\EFI\Microsoft\Boot\BCD /set {bootmgr} device partition=s:bcdedit -store S:\EFI\Microsoft\Boot\BCD /set {memdiag} device partition=s:bcdedit -store S:\EFI\Microsoft\Boot\BCD /set {default} device partition=c:bcdedit -store S:\EFI\Microsoft\Boot\BCD /set {default} osdevice partition=c:bcdedit -store S:\EFI\Microsoft\Boot\BCD /set {fwbootmgr} displayorder {bootmgr} /addfirst
Reboot target computer, press F1 to go to BIOS setup
Select the boot file by navigating to
boot manager -> boot from file ->EFI->boot->bootx64.efi
(This file is actually S:\EFI\Microsoft\Boot\bootx64.efi)
After the file(script) is selected, it will call s:\EFI\Microsoft\Boot\bootmgfw.efi which, in turn, will call c:\Windows\system32\winload.efi to boot Windows, Additionally , a new boot entry named “Windows boot manager” will be added as new boot option to the top of boot list in EFI BIOS. So next time, it will boot to Windows automatically without manual intervention.