Da ich mein Hardware Lab nun um weiter Server zur virtualisierung erweitert habe, möchte ich natürlich volle Flexibilität und mich nicht dediziert für einen Hypervisor festlegen. Auf der anderen Seite möchte ich natürlich den
„Hyper-V/Windows Server 2012 R2“ nicht immer neu installieren, wenn ich mal VMware oder Citrix Xen-Server testen möchte. Ich habe mir somit das Thema „vhdx boot“ angeschaut, um den „Hyper-V/Windows Server 2012 R2“ native von einer „vhdx“ zu booten. Das Schöne am „vhdx boot“ ist, dass man nicht ständig neu installieren muss und auch unter mehren Windows Versionen selektieren kann. Jetzt würden bestimmt einige sagen: „Warum nimmt der Schlumpf nicht Acronis“, recht habt ihr, aber da ich gerade bereits in Server-Hardware investiert habe, ist mein Budget fast aufgebraucht. Ich habe mich für die kostenlose Variante entschieden, will ja nicht mit meiner Finanzministerin diskutieren 😉 Aus meiner Sicht, ist das Thema sehr interessant. Ich habe mich entschlossen, einen kleinen Blog zu diesem Thema zu schreiben.
Voraussetzungen
Auf ihrem System, welches auf „vhdx boot“ umgestellt werden soll, ist der
Windows Server 2012 R2 installiert.
- Die Festplatte auf dem System sollte größer sein als das vhdx File, da es sonst zu Fehler beim booten kommt.
- Laut MS werden „dynamische Disk“ nicht unterstützt. Microsoft empfiehlt nur „vDisk“ mit einer statischen Größe.
- Das kostenlose Tooling „Disk2vhd“ wird benötigt.
- Es wird eine USB Festplatte benötigt, in meinem Fall eine USB2.0 mit 500GB. Bei meinen Tests wurde die USB3.0 Schnittstelle nicht erkannt, da die Treiber nicht geladen waren.
- Ein Windows Server 2012 R2 Medium (iso) bzw. DVD
- Und am besten ein System, an dem man die „dynamische Disk“ mit den Hyper-V Powershell Tools bearbeiten kann.
Bevor wir anfangen, möchte ich drauf hinweisen, dass die Anleitung nicht für einen Produktivbetrieb genutzt werden sollte. Der Einsatz erfolgt auf eigene Gefahr, ich übernehme keine Haftung für Schäden!
Erstellen der vhdx vom Live System
1. Schließen Sie die USB Festplatte an.
2. Starten Sie „Disk2vhd“
- Selektieren Sie unter „Punkt 1“ die beiden Optionen (siehe Screenshot)
- Geben Sie unter „Punkt 2“ den Pfad an wo das vhdx File abgelegt werden soll
- Selektieren Sie unter „Punkt 3“ die beiden Volumes (nicht die USB Disk selektieren)
- „Punkt 4“ klicken Sie auf „Create“
So, es ist nun Zeit für ein Kaffee, da das Erstellen der vhdx ein wenig dauert 🙂
3. Nachdem die Erstellung des vhdx Files abgeschlossen ist, schließen Sie „Disk2vhd“ indem Sie auf „Close“ klicken.
4. Schließen Sie nun die USB Festplatte an ein System mit Hyper-V an, da nun einige Disk Utilities benötigt werden die auf einem Hyper-V vorhanden sind.
5. Starten Sie die Powershell mit administrativen Berechtigungen.
6. Geben Sie nun den nachfolgende Befehl um die „dynamische Disk“ in eine statische umzuwandeln.
Wichtig: Sie sollten dran denken, bevor Sie den nachfolgenden Befehl ausführen, dass Sie eine „dynamische vDisk“ erstellt haben, die ja erst mal nur die belegte Grösse der ursprünglichen „C: Partition“ besitzt. Das sind in meinem Fall 10-15GB. Da aber ein „Disk2vhd“ durchgeführt wurde, bekommt die „dynamische vDisk“ nach dem Umwandeln in eine „statische vDisk“ die Größe der physikalischen Festplatte. Da es sich bei mir um eine 120GB SSD handelt, hat meine „dynamische vDisk“ nach dem Umwandeln in eine „statische vDisk“ eine Größe von ca. 120GB. Sie sollten darauf achten!!
#################################### #Convert vhdx from dynamic2Fixed #Laufwerk F: ist das USB Laufwerk #################################### convert-vhd F:\node1.vhdx -DestinationPath F:\ServerNode1.vhdx -VHDType Fixed
7. Mit dem nachfolgenden Powershell Befehl wird nun die vDisk verkleinert.
################################### #Shrink vhdx to 50GB #Laufwerk F: ist das USB Laufwerk ################################### resize-vhd -path F:\ServerNode1.vhdx -SizeBytes 50GB
Sie sollten nun im Windows Explorer auf ihr USB Laufwerk schauen und zwei vdhx Dateien finden, davon sollte eine ca. 50GB haben (siehe Screenshot)
8. Sie sollten die USB Festplatte von ihrem Hyper-V Host entfernen, da diese erst später benötigt wird.
Konfiguration um vom vhdx File zu booten
1. Fahren Sie das System herunter.
2. Legen Sie die „Windows Server 2012 R2“ DVD oder das ISO File ein um davon zu booten.
3. Drücken Sie „SHIFT+F10“ um die CMD zu öffnen (siehe Screenshot)
4. Es sollte sich nun ein „CMD“ Fenster öffnen (siehe Screenshot)
5. Gehen Sie wie folgt vor (siehe nachfolgende Screenshot)
- Punkt 1: Geben Sie in der CMD „diskpart“ ein um die Disk/Volumes zu bearbeiten.
- Punkt 2: Lassen Sie sich die Disks mit „list disk“ anzeigen.
- Punkt 3: Da ich nur eine Disk (siehe Screenshot „grün Markierung“) habe, selektiere ich mit „select disk 0“ die Disk, um diese zu bearbeiten.
- Punkt 4: Nun lösche ich alle Volumes/Partitionen mit „clean“.
Es werden alle Daten gelöscht! - Punkt 5: Als nächstes wird eine neue primäre System Partition mit dem Befehl
„create partition Primary size=300“ erstellt. - Punkt 6: Die Partition wird nun formatiert mit dem Befehl „Format quick fs=ntfs“ je nach Disk/Controller kann das ein wenig dauern.
- Punkt 7: Fügen Sie der Partition mit dem Befehl „assign letter=s“ den Laufwerksbuchstaben „S“ hinzu.
- Punkt 8: Aktivieren Sie die Partition mit dem Befehl „active“
- Punkt 9: Nun erstellen wir die Partition, in der wie das vhdx File später ablegen wollen, mit dem Befehl „create partition Primary“ hierbei wird der Rest der Disk der Partition zugewiesen. Sie können natürlich auch hier mit dem Befehl „size=xxx“ arbeiten.
- Punkt 10: Die Partition wird mit dem Befehl „Format quick fs=ntfs“ formatiert je nach Disk/Controller kann das ein wenig dauern.
- Punkt 11: Fügen Sie der Partition mit dem Befehl „assign letter=c“ den Laufwerksbuchstaben „C“ hinzu.
- Punkt 12: Beenden Sie Diskpart mit dem Befehl „exit“.
Die Disk ist gelöscht und die neuen finalen Partitionen sind angelegt. In den nächsten Schritten geht es darum, dass vhdx File auf die neue Disk/Partition zu kopieren und das System dazu zu bewegen dass es von der vhdx bootet.
7. Gehen Sie wie folgt vor (siehe nachfolgende Screenshot)
- Punkt 1: Geben Sie in der CMD erneut „diskpart“
- Punkt 2: Lassen Sie sich die Partitionen/Volumes mit „list volume“ anzeigen und merken Sie sich die Laufwerksbuchstaben.
Laufwerk E: ist die DVD/ISO von dem gebootet wurde
Laufwerk S: dieses ist die 300MB System Partition
Laufwerk C: ist das Laufwerk auf dem das vhdx File abgelegt werden soll.
Schließen Sie die USB Disk an. Beachten Sie, dass ggf. zu diesem Zeitpunkt nicht alle Treiber geladen sind. In meinem Lab waren die USB 3.0 Treiber nicht geladen, deswegen bin ich auf USB 2.0 ausgewichen.
Punkt 3: Lassen Sie erneut die Partitionen/Volumes mit „list volume“ anzeigen und merken Sie sich die Laufwerksbuchstaben.
Laufwerk D: dieses ist meine USB Disk auf der das vhdx File liegt.
- Punkt 4: Beenden Sie Diskpart mit dem Befehl „exit“.
8. Gehen Sie wie folgt vor (siehe nachfolgende Screenshot)
- Punkt 1: Kopieren Sie das vhdx File vom Laufwerk D: zum Laufwerk C: mit dem nachfolgende Befehl „copy D:\ServerNode1.vhdx C:\“
- Punkt 2: Geben Sie in der CMD „diskpart“ um die Disk/Volumes zu bearbeiten.
- Punkt 3: Selektieren Sie nun mit dem nachfolgenden Befehl
„select vdisk file=C:\ServerNode1.vhdx“ die vDisk. - Punkt 4: Lassen Sie sich die Partitionen/Volumes mit „list volume“ anzeigen und merken Sie sich die Laufwerksbuchstaben.
- Punkt 5: Mounten Sie die vDisk mit dem Befehl „attach vdisk“
- Punkt 6: Lassen Sie sich die Partitionen/Volumes mit „list volume“ anzeigen und merken Sie sich die Laufwerksbuchstaben. Für das „Volume 5“ (vDisk) ist noch kein Laufwerksbuchstaben vorhanden (siehe Screenshot). Diese muss noch geändert werden.
- Punkt 7: Selektieren Sie mit dem Befehl „select volume 5“ das Volume (die vDisk). Bitte beachten Sie das die Nummerierung der Volumes bei Ihnen unterschiedlich sein kann.
- Punkt 8: Fügen Sie der Partition mit dem Befehl „assign letter=v“ ein Laufwerksbuchstaben hinzu.
- Punkt 9: Beenden Sie Diskpart mit dem Befehl „exit“.
9. Gehen Sie wie folgt vor (siehe nachfolgende Screenshot)
- Punkt 1: Wechseln Sie in das „V:\Windows\System32“ Verzeichnis der vDisk. In meinen Fall hat es ausgereicht einfach“ V:“ einzugeben, sollte das nicht möglich sein, versuchen Sie es wie folgt.
v: cd Windows cd System32
- Punkt 2: Bearbeiten Sie den Bootmanager mit dem Befehl
„bcdboot v:\windows /s s:“ - Punkt 3: Geben Sie in der CMD erneut „diskpart“ ein.
- Punkt 4: Die vDisk die gemountet worden ist mus wieder abgeklemmt werden. Nutzen Sie hierzu den Befehl „select vdisk file=c:\ServerNode1.vhdx“ um die vDisk zu selektieren und dann in Punkt 5 diese zu trennen.
- Punkt 5: Geben Sie den Befehl „detach vdisk“ um die vDisk zu trennen.
- Punkt 6: Beenden Sie Diskpart mit dem Befehl „exit“.
10. Trennen Sie die USB Festplatte und starten Sie das System neu.
Das System sollte nun von der vhdx starten. Ich hoffe, ich konnte Ihnen einen kleinen Einblick geben. Sollten Sie Fragen haben, so scheuen Sie nicht, mich zu kontaktieren. Nutzen Sie hier die “Kommentar Funktion” des Blogs oder wenn es Ihnen lieber ist via E-Mail.
Weiter Blogs folgen in den nächsten Tagen. Ich würde mich sehr freuen, wenn Sie wieder vorbeischauen.