Wie kann man Windows 7 vom USB-Stick auf einer UEFI-Maschine installieren?

Während ich kürzlich zwei Wochen Urlaub hatte, kam eine Kundenanfrage rein, wie man Windows 7 von einem USB-Stick im UEFI-Modus starten kann:

“Sie hatten ja in Ihrem Blog eine Anleitung zur Vorbereitung eines USB-Sticks veröffentlicht, mit dem sich dann Windows 7 sehr flott installieren lässt. Dieses Verfahren nutzen wir beim Test von Mainboards übrigens nahezu täglich -- vielen Dank! Nun habe ich eine spezielle Frage, weil wir in Vorbereitung auf "Windows 8" nun öfter auch die UEFI-Tauglichkeit von Mainboards, Komplett-PCs und Notebooks testen wollen. Dazu möchten wir Windows 7 x64 probeweise im UEFI-Modus installieren -- aber das gelingt uns bisher nur von DVD, mit der USB-Methode klappt es nicht. Wissen Sie dazu mehr?”

Beim Booten und Installieren von DVD funktioniert das anstandslos. Wenn man sich allerdings einen USB-Stick selbst baut (zum Beispiel wie ich es in dem Artikel Windows 7-Installation vom USB-Stick beschrieben hatte), dann klappt das nicht. Warum ist das so?

Fangen wir zuerst mit der Theorie und den Hintergründen an. Wir haben das genaue Verhalten von Windows beim Betrieb auf einer UEFI-Maschine in mehreren technischen Dokumenten beschrieben:

Wenn man statt von der Windows-DVD von einem USB-Stick installieren will, muss sich auf dem Stick auch eine UEFI-Startanwendung befinden. Diese wird normalerweise in dem Ordner \EFI\BOOT gesucht und trägt den Namen BOOTX64.EFI.

Auf der DVD ist das die Datei \EFI\MICROSOFT\BOOT\CDBOOT.EFI (die Datei mit “noprompt” macht das gleiche, nur ohne die Rückfrage beim Booten, ob man von der CD/DVD starten möchte). Für die USB-Installation braucht man aber eine andere Datei, da die CDBOOT.EFI - wie der Name schon nahe legt – nur beim Booten von CD/DVD-Laufwerken funktioniert.

Ein USB-Stick ist hat aber eine andere Geräteklasse (USB Mass Storage Device). Die hierfür notwendige EFI-Startanwendung ist die Datei BOOTMGFW.EFI. Man kann sie am einfachsten von einem installierten 64-Bit Windows 7 aus dem Ordner %SYSTEMROOT%\BOOT\EFI kopieren. Alternativ kann man sie mit Hilfe von ImageX (findet man im OEM Preinstallation Kit [OPK] oder Windows Automated Installation Kit [WAIK]) auch aus der Datei \SOURCES\INSTALL.WIM von der Windows Installations-DVD extrahieren. Diese legt man dann auf den USB-Stick in den Ordner \EFI\BOOT und benennt sie in BOOTX64.EFI um. Danach sollte der Installation von Windows 7 von einem USB-Stick im UEFI-Modus nichts mehr im Weg stehen.

Have fun!
Daniel