| Umgang mit virtuellen Festplatten |
|
| Artikel - Artikel 2009 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Einsatzzweck virtueller FestplattenVirtuelle Festplatten sind keine Neuerung von Windows 7 und finden in Microsoft-Produkten schon seit 2005 Verwendung, hier vor allem im Virtualisierer Microsoft Virtual PC und seinen Server-Varianten. Als Dateiformat werden virtuelle Festplatten auch seit Windows Vista für die Backupfunktionen genutzt. Windows 7 ist nun das erste Betriebssystem, welches dieses Dateiformat auch vollständig unterstützt. Windows Server 2008 R2 wird diese Fähigkeit ebenfalls erben. Die "ordentliche Bezeichnung" der virtuellen Festplatten ist Virtual Hard Disk, kurz VHD von Microsoft. Statt eine Festplatte mit Daten zu befüllen, wird eine Datei als Container genutzt und in das System als Laufwerk eingebunden. Arten, Vor- und NachteileEs gibt 3 Arten von virtuellen Festplatten: 1. Virtuelle Festplatte mit fester Größe 2. Virtuelle Festplatte mit dynamischer Größe 3. Virtuelle Festplatte als Differenz zu einer 2. virtuellen Festplatte. Virtuelle Festplatten haben Vor- und Nachteile. Zu den Vorteilen zählen,
Nachteile von virtuellen Festplatten sind insbesondere,
Virtuelle Festplatten anlegen und nutzenInnerhalb von Windows 7 ist grundsätzlich die Datenträgerverwaltung (Eingabe ins Eingabe/Suchfenster von Windows 7 "festplatten" oder "diskmgmt.msc"), welche sich unter System -> Verwaltung findet, für den Umgang mit virtuellen Festplatten zuständig. Hier können neue VHDs erstellt oder vorhandene in das System eingebunden werden.
Legen Sie eine neue VHD an, bietet die Datenträgerverwaltung nur die Typen dynamisch und fest an.
Beachten Sie hier, dass bei einem dynamischen Datenträger die angegebene Größe das "Maximum" darstellt, den dieser Typ auf dem System belegt, während bei dem Typ "Feste Größe" dieser Platz direkt in Beschlag genommen wird, unabhängig von den darin befindlichen Daten. Hat man einen virtuellen Datenträger erstellt, muss dieser erst - wie jeder andere Datenträger - initialisiert werden.
Im nächsten Schritt legt man statt Partitionen nun Volumes auf der virtuellen Festplatte an. Sie können den ganzen Speicherplatz oder nur einen Teil für Volumes verwenden und so auch mehrere Laufwerke auf einer virtuellen Festplatte unterbringen.
Im letzten Schritt werden noch Laufwerksbuchstabe und Dateisystem vergeben, mit dem das Volume dann in das System eingebunden wird.
Für unser Beispiel haben wir nun 2 Volumes in einer virtuellen Festplatte eingerichtet.
Für das Betriebssystem stehen diese Volumes nun wie jede andere Partition zur Verfügung.
Möchte man die virtuelle Festplatte im laufenden System wieder trennen, kann man dies auch über die Datenträgerverwaltung tun. Mit der rechten Maustaste über der virtuellen Festplatte erscheint dort der notwendige Eintrag.
Wählt man hier die Funktion zum Trennen, muss dies nochmals bestätigt werden.
Achtung: Wenn Sie bei "Datei für virtuelle Festplatte nach dem Entfernen des Datenträgers löschen" den Haken setzen, wird die VHD-Datei gelöscht! Bereits vorhandene VHDs können in der Datenträgerverwaltung über den Befehl "Virtuelle Festplatte anfügen" eingebunden werden. Im folgenden Dialog gibt man nur Pfad zur VHD-Datei und die Option an, ob der Datenträger schreibgeschützt eingebunden werden soll.
Finden sich wie in unserem Beispiel mehrere Volumes in einer VHD-Datei, werden alle Volumes darin wieder in das System eingebunden und erhalten die zuvor vergebenen Laufwerksbuchstaben. Echte Festplatten in virtuelle Festplatten umwandelnDas kleine Tool Disk2vhd erstellt anhand vorhandener Partitionen VHD-Dateien, welche sich in der im Artikel beschriebenen Weise weiterverwenden lassen.
Vergrößern und Verkleinern von VHDsMit dem kostenlosen Tool VHD Resizer lässt sich auch nachträglich die Größe einer VHD-Datei anpassen und/oder den Typ nachträglich ändern.
Weitere Möglichkeiten mit DiskpartMit dem Programm "Diskpart", welches über die Kommandozeile gestartet wird, hat man nicht nur die bisher mit der Datenträgerverwaltung vorgestellten Möglichkeiten zum Anlegen, Einbinden und Trennen von VHDs, sondern noch weitere speziellere. Zum Starten von Diskpart ist die Kommandozeile mit Administratorrechten notwendig ("cmd" + STRG+Umschalt+Enter). Diskpart ist kein Befehl, sondern ein Programm, welches nach dem Start weitere Befehle erwartet. Alle Möglichkeiten von Diskpart (nicht nur für VHDs) sind mit "help" abrufbar. Um Diskpart zu verlassen, ist der Befehl "exit" notwendig.
Virtuelle Festplatten können z.B. mit dem Befehl create vdisk file=f:\test.vhd Maximum=25000 type=fixed erstellt werden. Statt dem Typ fixed kann man auch expandable (dynamisch) angeben. DifferenzfestplatteDen 3. Festplattentyp Differenz erstellt man mit Diskpart, indem man die Hauptfestplatte mit angibt. So erstellt der Befehl create vdisk file=f:\testdiff.vhd parent=f:\test.vhd eine Differenzdatei, welche der test.vhd zugeordnet ist. Bindet man nun die testdiff.vhd in das System ein, werden die Inhalte der test.vhd angezeigt, alle Änderungen aber in der testdiff.vhd gespeichert. Dieses System bietet sich insbesondere für eine Windows 7-Installation zu Testzwecken an. Kommt es zu Problemen am System, kann man die testdiff.vhd einfach löschen und eine neue erstellen. Die Windows-Installation selbst ist davon nicht betroffen. Beachten Sie bitte, dass Sie statt der VHD-Datei mit der Windows 7-Installation die Differenzdatei in den Bootmanager aufnehmen müssen und dazu der Booteintrag geändert werden muss (siehe weiter unten im Text bei Punkt 1.3). Dies muss nach der fertigen und kompletten Installation von Windows 7 erfolgen. Einbinden, Vergrößern, Komprimieren
select vdisk file="f:\test.vhd" in das System eingebunden.
select vdisk file="f:\test.vhd" notwendig. Details über die VHD-Datei wie Größe, Status, zugeordnetes Parent-Laufwerk etc. können Sie mit dem Befehl select vdisk file="f:\test.vhd" erhalten. Virtuelle Festplatten können auch nachträglich noch vergrößert, nicht aber verkleinert werden. select vdisk file="f:\test.vhd" Wie bereits erwähnt, verkleinern sich dynamische Festplatten nicht automatisch und behalten ihren größten Zustand, auch wenn Dateien darauf zwischenzeitlich gelöscht wurden. Die "Schrumpfkur" ist nur manuell möglich. Zur Komprimierung einer dynamischen VHD geben Sie in Diskpart die Befehle select vdisk file="f:\test.vhd" ein. Automatische EinbindungLeider werden eingebundene VHDs beim erneuten Systemstart nicht mehr automatisch eingebunden, so dass man erst wieder die Datenträgerverwaltung bemühen müsste. Etwas einfach geht dies mit der kleinen Freeware VHD Attach, welche sich in das Kontextmenü von VHD-Dateien integriert und so mit einem Mausklick VHDs in das System einbinden oder von diesem wieder trennen kann.
Eine automatisierte Einbindung beim Start, die den Nutzen von VHDs wesentlich erhöhen würde, ist nur über Umwege und mit dem Befehl "diskpart" möglich. In verschiedenen Postings im Internet (Suchbegriffe VHD attach) wird zum Beispiel geraten, dass man eine Batchdatei anlegt. Wir haben hier ein Beispiel, welches aus 2 Dateien besteht. Die attach.cmd wird beim Systemstart aufgerufen und schaut in der Datei disk.txt, welche VHDs eingebunden werden müssen. Die Trennung hat den Vorteil, dass man bei Änderungen am Aufruf selbst nichts editieren muss und in der disk.txt auch mehrere Laufwerke aufführen kann. Die Syntax für die attach.cmd lautet dann: diskpart /s c:\scripts\disk.txt In der 2. Datei disk.txt (im Ordner c:\scripts\) liegen dann die Angaben, was Diskpart genau ausführen soll. In dem Beispiel werden 2 VHDs vom Pfad F eingebunden. select vdisk file="f:\test.vhd" Dieses System hat aber den Nachteil, dass man dank UAC den Änderungen durch Diskpart bei jedem Systemstart zustimmen muss.
Vielleicht finden sich im WinTotal-Forum noch andere Vorschläge, ohne direkt UAC abzuschalten. Installation auf virtueller FestplatteNeben der Installation auf eine echte Partition können die Ultimate- und Enterprise-Editionen von Windows 7 auch auf eine virtuelle Festplatte installiert werden. Diese Installationsart hat den Vorteil, dass man an den bestehenden Partitionen zunächst keine Änderungen vornehmen muss. Die virtuelle Festplatte liegt – wie jede andere Datei – einfach auf einer Partition mit ausreichend Platz und wird von dort beim Startversuch von Windows 7 als virtuelles Laufwerk eingebunden und sodann als Festplatte genutzt. Möchte man die Installation beseitigen, kann man einfach die Datei löschen und den Bootmanager mit Tools wie EasyBCD vom Eintrag Windows 7 befreien, so dass wieder das alte System wie zuvor startet. Die Geschwindigkeitseinbußen beim Arbeiten mit einer virtuellen Festplatte in einem Echtsystem (nicht in einer VM) sind nur über Messungen nachweisbar und demnach bei der täglichen Arbeit nicht spürbar. Zum Anlegen einer virtuellen Festplatte geht man wie folgt vor:
Nach Eingabe von Exit in der Eingabeaufforderung und anschließender Aktualisierung der Datenträgeransicht ist der virtuelle Datenträger dann sichtbar.
Den Hinweis, dass Windows auf diesem Datenträger nicht installiert werden kann, können Sie ignorieren, da es dennoch funktioniert. Einbinden virtueller Installationsfestplatten in den BootmanagerWie zuvor beschrieben, kann das Betriebssystem auch in eine virtuelle Festplatte (VHD) installiert werden. Da sich der Bootmanager aber nicht in der VHD-Datei, sondern auf der ersten primären Festplatte des Systems befindet, sind diese Daten beim Wechsel der Festplatte oder Löschen des Datenträgers verloren. In der Folge beschreiben wir daher, wie sich eine VHD-Installation in einen bestehenden Vista/Windows 7-Bootmanager wieder einbinden lässt oder dieser, falls kein Bootmanager mehr vorhanden ist, neu angelegt werden kann. Nach der Installation von Windows 7 in eine virtuelle Festplatte (VHD-Datei) ergänzt der Installer automatisch den Bootmanager um die notwendigen Einträge, um das System aus der VHD-Datei zu starten. Der Bootmanager ist dabei nicht in der VHD-Datei, sondern auf der Startpartition des Systems vorhanden. Setzt man das System nun neu auf (Formatieren der Datenträger etc.), stellt sich die Frage, wie man die VHD wieder in den Bootmanager bekommt. Hierzu gibt es 2 verschiedene Szenarien: 1. Es ist bereits ein Windows Vista oder Windows 7 auf der Festplatte. 1. Szenario: Es ist bereits ein Windows Vista oder Windows 7 auf der FestplatteIn diesem Szenario ist auf dem System bereits ein Windows Vista und/oder Windows 7 installiert und demnach bereits der Bootmanager auf einer Partition vorhanden. Die VHD-Installation soll nun nur noch ergänzend in den Bootmanager aufgenommen werden. 1.1 Sichern der EinstellungenBitte sichern Sie zunächst die Einträge des Bootmanagers mit dem Befehl bcdedit /export "c:\bdsicherung" für den Fall, dass bei der Änderung etwas danebengeht. Der Original-Code kann mit bcdedit /import "c:\bdsicherung" wieder zurückgelesen werden. 1.2 Neuen Eintrag für die VHD-Datei anlegenAls ersten Schritt startet man aus dem lauffähigen System heraus die Kommandozeile CMD mit Administratorrechten (STRG+Umschalt+ENTER).
Das Ergebnis sieht dann zunächst wie folgt aus:
Ganz unten findet sich unser neuer Eintrag, der nun noch editiert werden muss. 1.3 Neu erstellten Eintrag anpassenÜber die Kommandozeile sind die drei folgenden Einträge einzugeben, wobei hier die {guid} sowie der Pfad (Laufwerk, Pfad und Dateiname) anzupassen sind. bcdedit /set {guid} device vhd=[X:]\win7.vhd Tipp: Für die einfache Eingabe empfiehlt es sich, die Einträge erst im Texteditor vorzubereiten, dort dann zu kopieren und über den QuickEdit-Modus in die Kommandozeile einzufügen. Den QuickEdit-Modus kann man über die Eigenschaften der Eingabeaufforderung aktivieren, indem man in der Titelleiste die rechte Maustaste drückt und dort "Eigenschaften" wählt. Ist dieser Modus aktiviert, werden Inhalte der Zwischenablage mit der rechten Maustaste direkt in die Stelle des Prompts kopiert. Dies erspart Arbeit und Tippfehler bei langen Zeichenfolgen.
Für unser Testsystem lauten die Zeilen dann wie folgt (unsere VHD-Datei liegt auf dem Laufwerk F:\ im Pfad VMS\Win7vhd): bcdedit /set {3ab629db-e099-11dc-b85f-e5800bbe0444} device vhd=[f:]\VMs\win7vhd\win7.vhd
Lässt man sich nun den Bootloader anzeigen, sieht man unseren geänderten Eintrag am Ende:
Warum so umständlich, wird sich ein Kenner von Tools wie EasyBCD oder VistaBootPro fragen. Beide Programme sind derzeit (Stand 11/09) nicht in der Lage, die Einträge für eine VHD-Datei richtig anzulegen und anzuzeigen (siehe Screenshot). Man kann diese lediglich in punkto Name und Reihenfolge editieren oder löschen.
2. Szenario: Die Festplatte ist "leer", d.h. es ist kein Bootmanager von Windows auf der FestplatteIn diesem Szenario ist die Systemfestplatte ohne einen Bootmanager, d.h. leer, und die VHD-Datei auf einem externen Laufwerk (USB). Da sich die Bootinformationen nicht in der VHD-Datei befinden, muss der Bootcode für den Bootloader erst installiert werden. 2.1 Systemstart vom InstallationsmediumDazu bootet man das System vom Windows 7-Installationsdatenträger und startet hier zunächst das Setup. Nach Bestätigung der Lizenzbedingungen wählt man die Installationsart "Benutzerdefiniert (erweitert)". Der Installer zeigt nun die vorhandenen Laufwerke und Partitionen an. Hier muss man entweder eine neue Partition anlegen oder kann eine vorhandene Partition später für den Bootmanager nutzen. diskpart angezeigt werden, die man in der Kommandozeile (UMSCHALT+F10) eingibt. Exit ist notwendig, um diskpart wieder zu verlassen.
Sollte auf dem System bereits eine primäre Partition vorhanden sein, kann man zu Punkt 2.4 übergehen, sonst muss man mit Punkt 2.2 fortsetzen. 2.2 Anlegen einer SystempartitionSollte noch keine Partition vorhanden sein (wie in unserem Beispiel), muss man über den Windows-Installer eine neue Partition anlegen. Dazu klickt man auf Laufwerksoptionen (erweitert).
Mit "Neu" erstellt man eine neue Partition. Die Größe sollte dabei so gewählt sein, dass neben der VHD-Datei auch eine Auslagerungsdatei Platz findet. Die neue Partition, in unserem Beispiel ca. 30 GByte (für die VHD-Datei mit der Installation und Auslagerungsdatei), muss nun noch formatiert werden.
Windows erstellt neben der gewählten Partition (E) noch ein reserviertes Systemlaufwerk (C) mit 100 MB, auf welchem man dann später den Bootmanager unterbringen kann.
2.3 Kopieren der VHD-DateiKopieren Sie nun die VHD-Datei mit der Windows 7-Installation auf das zuvor erstellte Laufwerk E. Dies setzt voraus, dass das externe Laufwerk beim Start der Windows 7-Installation bereits angeschlossen war. Den Transfer nehmen Sie über den Copy-Befehl vor, z.B. copy f:\win7.vhd e:\. 2.4 Kopieren des Bootmanagers auf die BootpartitionIm nächsten Schritt muss nun der Bootmanager auf die Bootpartition kopiert werden. Die notwendigen Dateien für den Bootloader finden sich im Verzeichnis Windows der vorhandenen Windows-Installation auf der virtuellen Festplatte. Um an diese zu gelangen, muss die VHD-Datei daher zunächst als Laufwerk eingebunden werden. select vdisk file=e:\win7.vhd aus (Pfad und Dateiname nur beispielhaft, siehe 2.3) als weiteres Laufwerk ein. In unserem Beispiel ist die VHD-Installation nun im Laufwerk D eingebunden. Diskpart zeigt auch den Buchstaben des Installationsdatenträgers, in unserem Beispiel D, an, welcher für den Befehl bcdboot nun wichtig wird. Mit den Befehlen cd d:\windows\System32 wird der Bootmanager auf dem Laufwerk C eingerichtet.
Die weiteren Schritte sind nun mit denen ab Punkt 1.2 identisch. Die überflüssigen Einträge im Bootmanager können später aus dem VHD-Windows einfach mit dem Tool EasyBCD entfernt werden. Weiterführende Links zu dem ThemaTechnet: Hinzufügen einer virtuellen Festplatte mit systemeigenem Start zum Startmenü, englischer Originaltext Add a Native-Boot Virtual Hard Disk to the Boot Menu
|































