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
So now we got the boot image mounted under C:\temp\boot and can edit as we want. Lets open the 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).