Starten von Windows Server 2012R2 aus einer VHDX-Datei von einem USB-Laufwerk über UEFI

Ich habe mich für ein Festplatten-Array auf der Intel Atom D410PT-Plattform entschieden. Dies ist ein Motherboard mit passiver Kühlung des Prozessors, zwei Speichersteckplätzen (maximal 4 GB), einem PCI-Steckplatz (den ich für den SATA SiliconImage 3512-Controller verwendet habe - 2x1,5 GB / s), zwei SATA-Anschlüssen (3,0 GB / s), LAN 100 MB / s und zahlreiche USB 2.0-Anschlüsse (auch auf dem Motherboard selbst).
Das Board selbst passt problemlos in das NaviPower PIX-1001 230W-Gehäuse. Ich habe eine vollständige Beschreibung meiner Aktionen mit Eisen auf meiner Website veröffentlicht .

Dementsprechend seit Da für die Erstellung eines RAID5-Arrays die Verwendung von 4 Festplatten gewählt wurde, ergab sich die logische Entscheidung, das Betriebssystem auf ein externes USB-Laufwerk (in meinem Fall eine Seagate Freeagent GoFlex-USB-Festplatte) zu übertragen. Da das Installieren und Konfigurieren des Systems von Grund auf eine lange und mühsame Aufgabe ist, habe ich beschlossen, dass sich das System auf einem externen Laufwerk in einem VHDX-Container befindet. Da das Motherboard UEFI unterstützt, sollte der Download mit UEFI entsprechend erfolgen. Das Hauptproblem war, dass das Internet keine klaren Anweisungen dazu hatte. Alle Informationen sind sehr fragmentiert und nur Teile der Lösung für dieses Problem werden beschrieben.

Ich habe mich dazu entschieden: Zuerst das System wie gewohnt auf einem SATA-Laufwerk installieren und dann in einen VHDX-Container und dann auf eine externe USB-Festplatte übertragen.
Ich werde die Installation des Systems überspringen, weil Dies ist eine triviale Operation, die keine besonderen Kenntnisse erfordert (das einzige, was Sie tun müssen, um das System auf einer GPT-Festplatte zu installieren, ist, dass Sie vor der Installation mit diskpart spielen müssen).
Ein wichtiger Zusatz: Bevor Sie das System auf ein externes Laufwerk übertragen, müssen Sie unbedingt die Auslagerungsdatei und den Ruhezustand deaktivieren!
Dementsprechend installieren wir das System, programmieren Updates, nehmen Einstellungen vor.
Als Nächstes müssen Sie das System in einen VHDX-Container übertragen. Hierzu wurde das Programm Disk2VHD 2.01 heruntergeladen. Seine Schnittstelle ist primitiv. Sie müssen nur das zu übertragende Laufwerk und die VHDX-Datei auswählen und den Vorgang starten.

Danach müssen Sie auf einem funktionierenden System (es ist unter Windows 7 x64 möglich, aber dann treten Probleme mit VHDX auf. Es ist besser, Windows Server 2012 oder Windows 8 x64 zu verwenden) das USB-Laufwerk für das Laden vorbereiten. Im Allgemeinen müssen Sie die Festplatte von Informationen befreien, 2 Partitionen erstellen, von denen eine EFI (fat32, 300Mb, 4kb) und die zweite die Hauptpartition (NTFS, 1Tb, 64kb) ist, um unseren VHDX-Container zu hosten.
Wir verbinden die Festplatte mit dem Computer und führen diskpart.exe aus.
Wir schauen uns die Liste der Festplatten an:
DISKPART> list disk
Диск ###  Состояние      Размер   Свободно Дин  GPT
  --------  -------------  -------  -------  ---  ---
  Диск 0    В сети         1863 Gбайт  1024 Kбайт
  Диск 1    В сети          931 Gбайт      0 байт
  Диск 2    В сети          931 Gбайт      0 байт        *
* Диск 3    В сети         1397 Gбайт      0 байт        *
  Диск 5    В сети          931 Gбайт      0 байт        *

Wir wählen eine Platte aus, mit der wir arbeiten werden. Dies geschieht normalerweise in der Größe.
Achtung! Wenn Sie einen Fehler machen, können Sie das System und die Daten vollständig vom Computer löschen!
DISKPART> select disk 3
Выбран диск 3.

Als nächstes müssen Sie die Festplatte von allen Informationen löschen:
DISKPART> clean
DiskPart: очистка диска выполнена успешно.

Konvertieren Sie als Nächstes die Festplatte in eine GPT-Festplatte:
DISKPART> convert gpt
DiskPart: выбранный диск успешно преобразован к формату GPT.

Als Nächstes erstellen wir den ersten Abschnitt, in dem der EFI-Bootloader gespeichert wird. Wir werden es in der Größe von 300 MB tun und die Größe des Streifens beträgt 4 KB (normalerweise müssen Sie testen, welche Größe des Streifens schneller funktioniert, aber ich mache die Streifen so groß wie möglich, da die Dateigrößen in unserer Zeit normalerweise mehr als 4 oder sogar 64 KB betragen.):
DISKPART> create partition efi size=300
DiskPart: указанный раздел успешно создан.

Jetzt muss es im FAT32-Format formatiert werden (nur dieses Format unterstützt die UEFI-Technologie):
DISKPART> format fs=fat32 quick unit=4k
  Завершено (в процентах): 100
Программа DiskPart успешно отформатировала том.

Jetzt müssen Sie dieser Partition den Laufwerksbuchstaben zuweisen, um damit arbeiten zu können (in unserem Fall ist dies der Buchstabe Y):
DISKPART> assign letter=y
DiskPart: назначение имени диска или точки подключения выполнено успешно.

Jetzt müssen wir den Rest der Festplatte markieren, auf dem sich die Datei rayserv.vhdx befindet. Erstellen Sie zunächst einen Abschnitt:
DISKPART> create partition primary
DiskPart: указанный раздел успешно создан.

Formatieren Sie es jetzt in NTFS mit einer Stripe-Größe von 64 KB:
DISKPART> format fs=ntfs quick unit=64k
  Завершено (в процентах): 100
Программа DiskPart успешно отформатировала том.

Ordnen Sie nun dem Abschnitt den Buchstaben Z zu:
DISKPART> assign letter=z
DiskPart: назначение имени диска или точки подключения выполнено успешно.

Jetzt können Sie diskpart.exe schließen:
DISKPART> exit
Завершение работы DiskPart...

Jetzt können Sie rayserv.vhdx auf die Festplatte Z kopieren.
Als Nächstes müssen Sie einige vorbereitende Schritte ausführen . Es ist erforderlich, eine virtuelle Festplatte an das System anzuschließen.

Da ich in Windows 7 x64 arbeite, unterstützt mein System das Arbeiten mit VHDX-Dateien dementsprechend nicht. Daher habe ich keine System-Image-Datei in VHDX vorab erstellt, sondern zwei identische System-Images, nur eines im VHD-Format und das andere in VHDX. Derzeit befindet sich die VHD-Datei auf dem Laufwerk D: und die VHDX-Datei befindet sich bereits auf dem USB-Laufwerk mit dem Buchstaben Z :. Wir verbinden den Antrieb unter dem Buchstaben H:.

Jetzt müssen wir die EFI-Partition bootfähig machen.
Laden Sie die Datei bootsect.exe auf Laufwerk D: herunter (die Datei kann mit dem Dienstprogramm Get Waik Tools oder auf meiner Seite abgerufen werden ). Wir beginnen mit den Parametern:
D:\>bootsect.exe /nt60 y: /force
Target volumes will be updated with BOOTMGR compatible bootcode.
Y: (\Device\HarddiskVolume53)
    Successfully updated FAT32 filesystem bootcode.
Bootcode was successfully updated on all targeted volumes.

Wechseln Sie zum Kopieren der Startdateien in die EFI-Partition in den Ordner H: \ Windows \ System32 und führen Sie den folgenden Befehl aus:
H:\Windows\System32>bcdboot.exe H:\Windows /s Y: /f uefi
Boot files successfully created.

Jetzt müssen Sie erstellen, um dem System mitzuteilen, dass Sie von der VHDX-Datei booten müssen. Führen Sie dazu im Ordner H: \ Windows \ System32 Folgendes aus:
H:\Windows\System32>bcdedit /store Y:\EFI\Microsoft\Boot\BCD /copy {default} /d "vhd boot (locate)"
The entry was successfully copied to {64d49e0f-ba36-11e3-8de2-1c6f653f47df}.

Der Schalter / store gibt den Pfad an, mit dem wir die BCD-Datei bearbeiten müssen.
Der resultierende Code {64d49e0f-ba36-11e3-8de2-1c6f653f47df} wird gespeichert oder vom Bildschirm kopiert.
Mit diesem Befehl haben wir den Standard-Starteintrag kopiert und ihn "vhd boot (locate)" genannt.
Geben Sie nun dieser Nummer eine Standardnummer:
H:\Windows\System32>bcdedit /store Y:\EFI\Microsoft\Boot\BCD /default {64d49e0f-ba36-11e3-8de2-1c6f653f47df}
Операция успешно завершена.

Jetzt muss das System für diesen Datensatz angeben, dass von einer bestimmten Festplatte und einer bestimmten Datei gebootet werden muss.
H:\Windows\System32>bcdedit /store Y:\EFI\Microsoft\Boot\BCD /set {default} device vhd=[locate]\rayserv.vhdx
Операция успешно завершена.

H: \ Windows \ System32> bcdedit / store Y: \ EFI \ Microsoft \ Start \ BCD / set {Standard} osdevice vhd = [Ort] \ rayserv.vhdx Der
Vorgang wurde erfolgreich abgeschlossen.

Übrigens ist der Parameter [locate] sehr nützlich. Er teilt dem Betriebssystem mit, dass beim Herunterladen die Datei der Reihe nach auf allen Datenträgern durchsucht werden muss.

Jetzt müssen Sie die automatische Erkennung von Geräten beim Booten aktivieren (dies ist für einige Systeme erforderlich).
H:\Windows\System32>bcdedit /store Y:\EFI\Microsoft\Boot\BCD /set {default} detecthal on
Операция успешно завершена.

Und schließlich müssen Sie bei Problemen die automatische Ausführung der Wiederherstellungskonsole deaktivieren:
H:\Windows\System32>bcdedit /store Y:\EFI\Microsoft\Boot\BCD /set {default} bootstatuspolicy ignoreallfailures
Операция успешно завершена.

Trennen Sie die virtuelle Festplatte über die Festplattensteuerung vom System.

Fast geschafft Jetzt müssen Sie auf dem endgültigen System alle Festplatten (außer unserer) trennen und den UEFI-Start im BIOS für USB-Laufwerke aktivieren. Möglicherweise müssen Sie auch das Such-Timeout für USB-Geräte wie erhöhen Bei einem Kaltstart wird die externe Festplatte möglicherweise nicht angezeigt.
Danach booten Sie vom USB-Laufwerk.

Beim ersten Start wurde mein Server nicht gestartet. Ich musste F8 drücken und einen sicheren Start wählen. Dann funktionierte der Server und nach dem Neustart begann alles so zu funktionieren, wie es sollte. Es bleibt nur die Zeitüberschreitung im Boot-Menü zu entfernen und alles wird bereit sein. Dies kann auf dem laufenden System über das Dienstprogramm msconfig erfolgen.

Jetzt auch beliebt: