Since I’m moving all my systems at home away from x86, simply creating a x86 usbstick was a bit to easy. I therefor thought it would be more fun to create a x64 UEFI boot. Im not really sure if this is required, but it will allow computers that cant read NTFS (from UEFI boot) to still boot the installation. I have also written a simple x86 instruction.
First of lets create a bootable USB with the PE
Since I like to make sure the disk is in the right format we will do commands that might not change things, but we will make sure we are in a consistent state.
list disk
select disk <ID of the USB disk from above>
clean
convert mbr
create partition primary
format FS=ntfs quick
active
So now we have a good stick but it still wont do any good. For instance we are missing a bootsector, lets add one.
bootsect /nt60 <USB drive letter>
All required files are available on deployment repository share.
- copy the content of \\SpecopsDeploymentRepository\Boot\x86 to the root of the USB memory.
- copy \\SpecopsDeploymentRepository\Boot\LiteTouchPE_x86.wim as boot.wim to the \sources folder on the USB memory. Now we have a working USB memory that boots the PE and then is having problems connecting to the server. Well the Lite Touch PE image is made to be downloaded using PXE. We need some more magic on the stick to make it work.
Getting the USB boot to talk to the server
Well after some looking into what Lite Touch does I found out that I needed some small changes to the bootstrap.ini file. Well we haven’t discussed that one yet. So where is that little file, it’s really baked into the boot.wim file that we copied to the USB memory earlier. So lets get going modifying the file. First lets create a directory called C:\temp\boot
and then mount the boot file there. These are the commands to do this with powershell, you will need to run powershell as an administrator.
New-Item -type Directory C:\temp\boot|Out-Null
Mount-WindowsImage -ImagePath <USB>\sources\boot.wim -Path C:\temp\boot -Index 1
bootstrap.ini
file, you will still need to be administrator so just open it from the same powershell window.
notepad C:\temp\boot\Deploy\Scripts\bootstrap.ini
A bit below I have written the required changes. After we are done we need to save our changes, we are doing it by powershell.. Surprise..
Dismount-WindowsImage -Path C:\temp\boot -Save
Required changes to bootstrap.ini
Under [Settings] add USBInstall between Default and SetDeployRoot. And add a section called USBInstall. This is an example of how the two first sections in the file looks like for me.
[Settings]
Priority=Default,USBInstall,SetDeployRoot
Properties=SOD_STATUS1
[USBInstall]
WDSServer=<deploymentserver>
DeployRoot=\\<deploymentserver>\SpecopsDeploymentShare$
The little kink
If you are running into problems determining destination disk and partition, please use the same workaround that I know is necessary for UEFI. Just pull the USB when the client has booted into the PE (you will see the specops logo when its time).