Windows boot process and grub4dos wimboot

Windows Boot Process - BCD, Boot Process,

wimboot - boot directly to .wim file


Using wimboot from grub4dos

title Install Windows10Home32_64Aniversary - wimboot
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
kernel (hd1,0)/multiboot/wimboot
initrd @bootmgr=(hd1,0)/multiboot/Windows10Home32_64Aniversary/bootmgr @bcd=(hd1,0)/multiboot/Windows10Home32_64Aniversary/boot/bcd @boot.sdi=(hd1,0)/multiboot/Windows10Home32_64Aniversary/boot/boot.sdi @boot.wim=(hd1,0)/multiboot/Windows10Home32_64Aniversary/sources/boot.wim


How to have multiple Windows Install images

1. Use wimboot to boot from the boot.wim file
2. Ensure a \AutoUnattend.xml file inside Image #2 of boot.wim

<?xml version="1.0" encoding="utf-8" ?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">

<settings pass="windowsPE">

<component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Order>1</Order>
<Path>cmd /q /c "FOR %i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %i:\multiboot\Windows10Home32_64Aniversary\remount.cmd cmd /k %i:\multiboot\Windows10Home32_64Aniversary\remount.cmd"</Path>
<Description>Launch Remount</Description>
</RunSynchronousCommand>
</RunSynchronous>
<UserData>
<AcceptEula>true</AcceptEula>
<ProductKey>
<Key></Key>
<WillShowUI>Always</WillShowUI>
</ProductKey>
</UserData>
</component>

<component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Order>1</Order>
<Path>cmd /q /c "FOR %i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %i:\multiboot\Windows10Home32_64Aniversary\remount.cmd cmd /k %i:\multiboot\Windows10Home32_64Aniversary\remount.cmd"</Path>
<Description>Launch Remount</Description>
</RunSynchronousCommand>
</RunSynchronous>
<UserData>
<AcceptEula>true</AcceptEula>
<ProductKey>
<Key></Key>
<WillShowUI>Always</WillShowUI>
</ProductKey>
</UserData>
</component>
</settings>
</unattend>

3. remount.cmd will map a Z: drive so that \Sources\Install.wim will be found

@echo off
cls
Set Distroname=Windows10Home32_64Aniversary
echo %Distroname%
subst Z: "%~d0\multiboot\%Distroname%"
echo mounted "%~d0\multiboot\%Distroname%" as Z:
exit


Directory structure
\multiboot\wimboot
multiboot\Windows10Home32_64Aniversary\remount.cmd
multiboot\Windows10Home32_64Aniversary\bootmgr
multiboot\Windows10Home32_64Aniversary\setup.exe
multiboot\Windows10Home32_64Aniversary\boot folder
multiboot\Windows10Home32_64Aniversary\sources folder


Search