Windows 7 in eine VHD installieren
Tja, die Nacht war für mich um drei Uhr beendet. Schlaflos in Bremerhaven. Wohl zu spät zu viel Chilli gegessen, don’t know. Zeit mal ein wenig zu frickeln und mal wieder Sachen auszuprobieren. Heute: die Installation von Windows 7 in eine VHD. Vorab die Beantwortung der Frage, was überhaupt eine Installation in eine VHD bringt. Eine VHD ist eine virtuelle Festplatte, ihr installiert euer Betriebssystem also nicht direkt auf die Festplatte (im herkömmlichen Sinne) sondern in eine Art Container. Dieser Container (bzw. das Betriebssystem darin) wird dann von einem ganz normalen Bootloader geladen. Ist simpel ausgedrückt aber sollte als grobe Erklärung reichen. Techfreaks wissen sicherlich, wo und wie sie sich schlau lesen können.
Der Vorteil von VHDs liegt auf der Hand: einfachstes Backup und die Möglichkeit ganz simpel mehrere Systeme laufen haben zu können. Ich habe das ganze mal auf einer komplett leeren 64 Gigabyte großen Festplatte installiert. Einfach mal um zu zeigen, was man für Schritte durchlaufen muss. Vieles wird man sicherlich auch woanders im Netz finden, die nötigen Quellen findet ihr am Ende des Beitrags. Damit ich euch bessere Screenshots zeigen kann, habe ich das Ganze mal in eine virtuelle Maschine (Parallels unter Mac OS X) installiert. Die Schritte sind aber identisch zur nativen Installation auf einem normalen Boliden.
Die Festplatte vorbereiten. Sofern diese jungfräulich ist, muss diese mittels Diskpart noch eingerichtet werden. Das ist relativ simpel wenn man noch einen Zweitrechner hat, an dem man sich schlau lesen kann. Diskpart müsst ihr starten, nachdem ihr (wie auf dem ersten Screenshot oben zu sehen) auf „Weiter“ geklickt habt. Wie? Ganz einfach: Shift+F10 drücken.
Nun ruft man diskpart auf. Mit list disk die Platten gegebenenfalls anzeigen lassen. Mit create partition primary erstellt ihr eine große primäre Partition. Nachträglich partitionieren kann man ja später in bunt.
Danach könnt ihr euch mit list volume noch euer Ergebnis anzeigen. Auch könnt ihr noch mit format c: /q eure Platte schnell formatieren.
Nun geht es an die Erstellung der VHD. Hier habe ich einmal die Vorgaben gemäß des HowTos von Johann Nitsch übernommen. Hackt folgendes in der Kommandozeile ein:
create vdisk file=“c:\win7.vhd“ type=expandable maximum=12000
select vdisk file=“c:\win7.vhd“
attach vdisk
Erklärung: Ihr erstellt damit auf dem Laufwerk C: eine bis zu 12 Gigabyte große VHD. Expandable heisst: sie wächst an. Verbraucht ihr weniger ist sie kleiner. Die maximale Größe beträgt allerdings 12 Gigabyte. Solltet ihr eine zu kleine VHD erstellt haben, so kann diese später noch mit dem VHD-Resizer vergrößert werden. Der Name der VHD ist übrigens frei wählbar. Wie auch der Name des GodMode für Wndows 7 😉
Mit der zweimaligen Eingabe von exit kommt ihr wieder in den normalen Installationsmodus und könnt Windows 7 benutzerdefiniert installieren.
Zu erwähnen ist, dass ihr nur Windows 7 Ultimate aus einer VHD booten könnt. Ihr könnt zwar jedes Windows 7 installieren, aber nicht booten. Ob es da irgendwelche Tipps & Tricks gibt kann ich aus dem Stehgreif nicht sagen, da ich hier nur Windows 7 Ultimate in Gebrauch habe.
Nach der Installation. Ihr werdet in eurem Explorer einmal eure gemountete VHD vorfinden und als nächstes Laufwerk die eigentliche Festplatte, welche eure VHD bereit stellt. Klingt komisch, ist aber so.
Das Schöne: ihr könnt diese VHD im laufenden Betrieb zur Sicherung irgendwo hin kopieren.
Kleines Beispiel gefällig? Erstellt von dieser VHD mal eine Kopie auf dem Laufwerk, so zum Beispiel:
Was ihr davon habt? Na, eine echte 1:1-Kopie eures lauffähigen Systems. Ihr könntet jetzt lustig Sachen ausprobieren und installieren. Läuft euer System unstabil oder ihr wollt einen alten Zustand (zum Beispiel vor einer Software-Installation haben), dann kloppt ihr die aktuelle VHD einfach in die Tonne und ihr nehmt eure angelegte Kopie (umbenennen nicht vergessen!). Des Weiteren könnt ihr auch eine VHD ganz einfach in euer System einhängen – zum Beispiel um Daten aus der VHD zu ziehen. Wie das geht beschrieb ich ja schon in diesem Beitrag: VHDs automatisch einbinden und die Verschlüsselung mit Bitlocker. Sieht dann so aus:
Alternativ könnt ihr mit der kopierten VHD auch ein zweites System nur zum Testen booten. Diese VHD muss dafür nur mit dem Bootmanager von Windows bekannt gemacht werden. Wie das geht? Eigentlich ganz easy. Führt die Kommandozeile als Admin aus (cmd, Rechtsklick: als Administrator ausführen):
Hackt nun folgendes in die Kommandozeile:
bcdedit /copy {current} /d "Boot Description"
„Boot Description“ sollte durch euren eigenen Boot-Text ersetzt werden, kann man aber später ändern (dazu gleich was).
Kopiert euch nun eure ID heraus und fügt folgendes ein:
bcdedit /set {557b2157-0aee-11df-b907-c148aff72235} osdevice vhd=[D:]\win7Testsystem.vhd
gefolgt von:
bcdedit /set {557b2157-0aee-11df-b907-c148aff72235} device vhd=[D:]\win7Testsystem.vhd
Den Pfad bzw. Namen müsst ihr logischerweise durch den eurer VHD ersetzen. Bootet ihr nun euer System, so wird euch folgendes anlächeln:
Wollt ihr Namen oder Bootreihenfolge ändern, so könnt ihr die Freeware EasyBCD benutzen.
Alternativ gibt es das gute alte msconfig:
So, jetzt ist es kurz nach halb sechs und der erste Kaffee will getrunken werden. Ich hoffe, dass ihr wenigstens ein bisschen Nutzen aus meiner Schlaflosigkeit ziehen konntet. Mit VHDs lässt sich noch wesentlich mehr bewerkstelligen, vielleicht schreibe ich in der nächsten schlaflosen Nacht noch etwas dazu 😉
Weiterführende Quellen und Lesenswertes:
Microsoft Technet: Erstellen von Partitionen mit diskpart
Windows 7 parallel zu Windows XP oder Windows Vista in eine VHD installieren
BCDEdit im Microsoft Technet erklärt
Wie funktioniert das Booten von VHDs
Adding a existent VHD to the Windows 7 Boot Loader
Windows 7: Natives Booten von VHD
Windows 7 VHD Mount
Moin Caschy, habe selbst so eine Installation hier eingerichtet. Läuft perfekt ! Allerdings hatte ich mit EasyBCD so meine Probleme. Das hat mir die Einträge ein wenig „durcheinandergewürfelt“. Musste mit BCDEdit die Schlüssel frisch setzen.
Danke für Deine Tipps !
Gruss K-i-S
Guten Morgen caschy,
gut geschlafen? Ironie beiseite. Respekt, dass Du zu so einer Zeit einen ausführlichen, gut verständlichen und kinderleichten Artikel schreiben kannst.
Noch als kleinen Tipp: Man kann auch über BCDEDIT die Bootreihenfolge ändern: BCDEDIT /displayorder {ID1} {ID2} {IDn} eingeben, auf caschy bezogen wäre das BCDEDIT /displayorder {current} {557b2157-0aee-11df-b907-c148aff72235}.
Wer das Testsystem als Standardeintrag haben will: BCDEDIT /default {557b2157-0aee-11df-b907-c148aff72235}.
BCDEDIT ist wirklich ein feines Tool. Der Bootloader von Vista/7 kann auch Grub starten, um damit ein Linuxsystem zu laden. Es geht also auch anders herum. 🙂
Nur Deine „Backup-Methode“ hat einen kleinen Nachteil: keine Kompression, dennoch ist sie schnell und einfach. Ich denke, darum ging es Dir auch. 🙂
Liebe Grüße,
Enrico
Moinsen, bei heutigen Plattengrößen ist mir Geschwindigkeit lieber. Kompression my ass 😉
Moin,
funktioniert auch noch mit Windows 7 Enterprise und Windows Server 2008 R2.
Gruss Capsuel
Kann ich auf diese VHD auch Windows XP installieren? Also mit Windows 7 als Hauptbetriebssystem?
Willkommen im Club der Schlaflosen. Tip. lass Dir vom Hausarzt Zopiclon 7,5mg verschreiben. Eine davon und nach 20-30 min hauen die dich um.
@tito
Man kann XP schon auf einer VHD installieren, aber man kann zur Zeit nicht nativ davon booten. Dort wird jedoch an einer Lösung gearbeitet http://www.vmlite.com/index.php/products/vboot
Zum Experimentieren empfehle ich übrigens inkrementelle VHDs
und zur Erstellung wim2vhd
http://code.msdn.microsoft.com/wim2vhd
Noch ein Wort zu „Ihr erstellt damit auf dem Laufwerk C: eine bis zu 12 Gigabyte große VHD. Expandable heisst: sie wächst an. Verbraucht ihr weniger ist sie kleiner.“
Nach meinen Informationen (div. Webseiten und c’t) wird die VHD beim booten auf die Maximalgröße expandiert. Wenn der freie Platz auf der physikalischen Platte dann nicht ausreicht, gibt es eine Fehlermeldung. Kann das jemand bestätigen?
Na, das scheint ja ’ne gute Nacht gewesen zu sein. In dem ‚Zustand‘ noch so einen guten Artikel schreiben schafft nicht jeder. Respekt. Ich wünsche dir dafür aber einen gutes Mittagsbubu oder heute abend einen super Schlaf.
Werd ich in nächster Zeit mal probieren, ob ich das Win7 auch bei mir zum laufen in einer VHD bekomme.
Kann man die VHDs auch irgendwie größer als 12 GB machen, oder ist das vom Containerformat her beschränkt?
Liebe Grüße und guten Schlaf
Ralf
BTW: 64 GB? klingt ganz nach SSD 😉 Aber wie du schon schriebst, du willst ja Geschwindigkeit.
@ralf_donald: Ne, war nur als Beispiel 12 GB, kannst auch nehmen was geht. Keine SSD – ist ja nur ne VM 🙂
Mein Laptop läuft auch mit Win7 in einer VHD, wobei ich noch das alte WinXP als zweites OS drauf hab. Zufall, dass ich vor 2 Tagen eine Kurzanleitung zu diesem Thema gebloggt hatte? 🙂
@Thomas: dazu hätte ich ja dein Blog kennen müssen. Ich hatte das eh länger vor, siehe die ganzen Vorbeiträge zum Thema VHD, heute morgen hat es dann gepasst 🙂
@caschy: Du hast bestimmt diverse Tools am Start, die das Internet nach tollen Beiträgen durchforsten und dir dann Futter für deinen Blog liefern 🙂
PS: Meinen Blog kennt fast niemand ^^
Das hast du dir ja mal wieder Mühe gegeben. Toller Artikel. Mal gucken, ob ich demnächst mal sowas bastel.
@thomas: erzähl mir von diesem Tool 🙂
@beelzebot: danke!
@Caschy:
DAS wär mir viel zu fummelig. Aaber: du hast so schön die Vorteile beschrieben – sach mal die Nachteile…
So wie ich das verstehe, läuft da ein OS IN einem anderen. Und die brauchen ja beide Leistung, oder? Und die Leistungsmöglichkeit des Comps is ja nun mal durch die vorhandene Hardware limitiert.
Wenn ich also Win 7 mittels einer VHD auf deinem/meinem iMac installieren würde – dann läuft das doch im Vergleich zu dem auf dem PC instalierten grottenlangsam – oder täusch ich mich da?
Kannst du (oder ein anderer) da mal was schlaues zu sagen? Danke schon mal. 😛
@caschy: Heißen die nicht Webcrawler oder so? Theoretisch dürfte es ja ausreichen, jeden Morgen ca. 30 RSS-Feeds anzuschauen und schon hat man mindestens eine neue Idee für einen Artikel 🙂
@JürgenHugo: Das OS in der VHD läuft nicht in einem anderen OS, sondern befindet sich lediglich auf einem reservierten Platzhalter der Partition. Mehr dazu, siehe Links am Ende des Artikels.
Wie sieht es denn mit der Lizensierung bzw. Aktivierung von Win7 aus, welches man in der VHD installiert hat? Muss ich, wenn ich solche eine Win7-VHD erstelle dafür dann auch eine zweite Win7-Lizenz haben und diese aktivieren?
entweder bin ich noch zu müde 😉 oder versteh das einfach nur so nicht. Wenn ich nach create partition und dies auch mit Die angegebene Partition wurde erfolgreich erstellt, list volume eingebe, erscheinen 2 Volumes. Doch bei Volume 1 ist kein Laufwerksbuchstabe angegeben. Volume 0 ist ja logischerweise LW D (DVD-ROM)
Insofern kallt format c: /q auch nicht. Habe ich etwa was übersehen?
@Unbesonders: Ähnlich wie bei virtuellen Maschinen gilt: „Für jede Windows-Installation, die Sie gleichzeitig betreiben, sollten Sie eine separate Lizenz besitzen.“
@Marko: Ich musste nur anfangs „list volume“ ausführen, nach dem Erstellen der VHD nicht mehr:
Kurzform des Ablaufs:
diskpart
list disk
list volume
create vdisk file=“c:win7.vhd“ type=expandable maximum=12000
select vdisk file=“c:win7.vhd“
attach vdisk
exit
exit