This is simple service that allows you to boot installed Windows NT (XP, 7, 8, Server 2012) from USB HDD or USB stick. Method is based on findings from Dietmar Stoelting - it allows USB drivers to be loaded during boot time (no more BSOD 0x0000007B).
To make your windows bootable from USB device, you normally have to modify driver (.inf files) and system to accept digitally unsigned drivers. This service allows you to avoid changes to drivers and have the digital signature enforcement enabled.
This is possible because the UsbBootWatcher service monitors registry for changes under following paths:
SYSTEM\CurrentControlSet\Services\usbstor SYSTEM\CurrentControlSet\Services\usbehci SYSTEM\CurrentControlSet\Services\usbohci SYSTEM\CurrentControlSet\Services\usbuhci SYSTEM\CurrentControlSet\Services\usbhub
It sets value
0 and value
Boot Bus Extender when changed by driver updates / invalidations.
UsbBootWatcher is updating usbstor, usbehci, usbohci, usbuhci, usbhub drivers, but you can also specify custom driver by addint it to
Installing Windows to USB device
Microsoft does not officially allows you to install Windows to USB device, hovewer, there is simple trick to do this - you can install it like OEM partner. To do so, you will need existing windows installation with admin permissions (or use Recovery console).
You will need these tools: imagex, bcdboot. You can get them from here.
Then prepare your drive (create primary partition and make it active on your usb drive) using diskpart:
diskpart list disk select disk __DISK__ list partition select partition __PARTITION__ format fs=NTFS quick active assign exit
Now you can use imagex to copy your installation image to the device (considering d: is your USB device and e: windows installation medium containing install.wim):
imagex /apply e:\sources\install.wim 3 d: bcdboot d:\Windows /s d: /v
Done! And now you can install UsbBootWatcher to the target device like (it will automatically copy to target device and create service there):
UsbBootWatcher /prepare d:\Windows\System32
Boot your USB device and continue installation. If you receive 0x0000007B BSOD after first installation step (device installations), just re-run UsbBootWatcher prepare command from your working windows installation or recovery console.