Ich ignoriere die Tatsache, dass dies wie ein XY-Problem klingt, da ich keine Erklärung für das Booten auf ein externes Laufwerk sehe, um "Hardware-Informationen zu sammeln", wenn Sie bereits Administratorzugriff auf das laufende Betriebssystem haben ...
Es ist ziemlich einfach, Windows von einem gesteckten USB-Laufwerk zu booten. Sie erstellen einen Starteintrag für das Laufwerk mit bcdedit create
und weisen Windows dann an, darin zu booten. Das Erstellen von Starteinträgen wird hier von Microsoft dokumentiert
Laut Dokumentation kann es einfacher sein, einen vorhandenen Eintrag zu kopieren:
bcdedit /copy /d "My Boot Entry Description"
bcdedit gibt die GUID des neuen Boot-Eintrags zurück, den Sie extrahieren müssen:
The entry was successfully copied to .
Stellen Sie dann die Optionen des neuen Eintrags so ein, dass er auf Ihr USB-Gerät verweist. Die Mindesteigenschaften, die Sie ändern müssen, sind Gerät, Gerät und Pfad. Je nachdem, was Sie gerade booten, müssen Sie möglicherweise andere Werte ändern. Sehen Sie sich die Ausgabe von bcdedit für Ihren vorhandenen Windows-Loader und / oder PE / PXE-Loader als Beispiele an.
bcdedit /set device partition=D: bcdedit /set osdevice partition=D: bcdedit /set path \Location\Of\Your\Bootloader.efi
Dann fordern Sie Windows auf, es zu booten, wie Sie es bereits tun:
bcdedit /bootsequence
Ersetzen Sie natürlich durch My Boot Entry Description
etwas Nützliches, vielleicht einen eindeutigen Bezeichner, der Ihnen hilft, den Eintrag in Zukunft zu finden, um ihn erneut zu verwenden oder zu löschen, wenn Sie das Skript täglich ausführen. Ersetzen Sie D:
den Laufwerksbuchstaben des USB-Geräts, das Sie starten möchten. Wenn Sie dies auf heterogenen Systemen tun, müssen Sie dies möglicherweise programmgesteuert festlegen, da Laufwerkbuchstaben von System zu System variieren. Und ersetzen Sie \Location\Of\Your\Bootloader.efi
durch den relativen Pfad der .EFI-Datei, die Sie starten möchten.