Archive for the ‘VHD’ Category

Konvertieren von virtuellen Festplattenimages in VHD oder VHDX zur Verwendung in Hyper-V oder Azure

25 August 2017

Man bekommt immer wieder Images von anderen virtuellen Maschinen die man in Hyper-V einbinden möchte. Ich hatte hier schon mal auf ein Utility von Microsoft verlinkt: https://newyear2006.wordpress.com/2012/09/04/konvertieren-von-virtuellen-vmware-maschinen-in-virtuelle-hyper-v-maschinen/. Leider klappt der Link nicht mehr. Auf der Suche nach einer Alternative bin ich auf ein Image-Utility von Qemu gestoßen, welches im Prinzip alle gängigen Formate konvertieren kann. Ein weiterer Vorteil ist, dass es als Open Source vorliegt.

Hier die Binary: https://cloudbase.it/qemu-img-windows/ und hier der Source in github: https://github.com/cloudbase/qemu/. Hier gibt es die ausführliche Hilfe: https://qemu.weilnetz.de/doc/qemu-doc.html#qemu_005fimg_005finvocation.

Es werden alle gängigen Formate unterstützt:

Image-Format (schreibbar) qemu-img Parameter
QCOW2 (KVM, Xen) qcow2
QEMU qcow
QED (KVM) qed
raw raw
VDI (VirtualBox) vdi
VHD (Hyper-V) vpc
VMDK (VMware) vmdk
Linux dm-crypt/cryptsetup luks

Neben obigen Formaten, welche gelesen und geschrieben werden können, gibt es noch ein paar, welche nur gelesen werden können:

Image-Format (nur lesbar) qemu-img Parameter
Bochs x86 PC emulator bochs
Linux Compressed Loop image cloop
Apple disk image dmg
Parallels disk image format parallels

Zu jedem Format gibt es noch spezielle Parameter, eine Beschreibung dazu findet man hier: https://qemu.weilnetz.de/doc/qemu-doc.html#disk_005fimages_005fformats.

Zur Anwendung kann man z. B.

qemu-img.exe convert source.img -O vhdx -o subformat=dynamic dest.vhdx

aufrufen.

Man kann auch den Parameter info verwenden um Informationen über ein Image zu erfahren.

C:\>qemu-img info test.img
image: test.img
file format: vhdx
virtual size: 127G (136365211648 bytes)
disk size: 4.0M
cluster_size: 33554432

Aber Vorsicht, man kann sich nicht immer voll auf die Infos verlassen, denn in Fällen wo unsinnige Daten verwendet werden, werden trotzdem Daten ausgegeben:

C:>echo "Nix da" > test.txt
C:>qemu-img info test.txt
image: test.txt
file format: raw
virtual size: 512 (512 bytes)
disk size: 11

Dabei muss der Hinweis auf das Dateiformat RAW nicht immer heißen, dass es kein gültiges Dateisystem ist! Es bedeutet vielmehr, dass qemu-img das Format nicht zuordnen kann.

Obwohl das Tool ziemlich mächtig ist, fehlt noch die Möglichkeit .GHO-Dateien von Symantec Ghost konvertieren zu können. Dazu gibt es über einen Umweg die Möglichkeit mittels Ghost in VMDK-Dateien und dann mittels qemu-img in VHDX zu konvertieren:

ghost64 -clone,mode=restore,src=source.gho,dst=image.vmdk -batch –sure
qemu-img.exe convert image.vmdk -O vhdx -o subformat=dynamic dest.vhdx

Damit wird Source.GHO in Dest.VHDX konvertiert.

Hier sind noch weitere Parameter für die Konvertierung bei Ghost beschrieben: https://www.symantec.com/connect/articles/converting-image-file-format-gho-vmdk-and-vmdk-gho.

Dank qemu-img hat man nun ein mächtiges Tool für Festplattenimages an der Hand.

Werbeanzeigen

Festplatte bei virtuellem Rechner erweitern bzw. vergrößern

27 März 2016

Hier im Schnelldurchgang, um z. B. einem Rechner 10GB mehr zukommen zu lassen:

-Virtuellen Rechner offline nehmen
-dann auf dem Hyper-V

Resize-VHD –Path  PfadzuVHDXDatei -SizeBytes ((Get-VHD PfadzuVHDXDatei).Size + 10GB)

ausführen

-VM wieder hochfahren und dann die gewünscht Partition um die erweiterte Größe vergrößern. Dazu verwendet man die Datenträgererwaltung oder direkt diskmgmt.msc. Diese Operation könnte man auch per Powershell direkt nach obiger Erweiterung durchführen…

Hyper-V schnelles Backup einer VM und anschließende Probleme

23 April 2015

Wenn man meint bei einem Hyper-V mal schnell eine Sicherung einer VHD zu machen (ohne einen Snapshot zu erstellen) und die VHD wegkopiert, dem kann es passieren, dass beim Zurückkopieren der VHD und anschließendem Start der VM folgender Fehler auftaucht:

[Window Title]
Verbindung mit virtuellen Computern

[Main Instruction]
Anwendungsfehler beim Versuch, den Status von "XSlave" zu ändern.

[Content]
Fehler beim Starten von "XSlave".

Microsoft Emulated IDE Controller (Instanz-ID {83F8638B-8DCA-4152-9EDA-2CA8B33039B4}): Fehler "Allgemeiner "Zugriff verweigert"-Fehler" beim Einschalten.

Das IDE/ATAPI-Konto verfügt über keine ausreichenden Berechtigungen zum Öffnen von Anlage "C:\VMs\XSlave\XSlave.vhd". Fehler: "Allgemeiner "Zugriff verweigert"-Fehler"

Das -Konto verfügt über keine ausreichenden Berechtigungen zum Öffnen von Anlage "C:\VMs\XSlave\XSlave.vhd". Fehler: "Allgemeiner "Zugriff verweigert"-Fehler"

[Expanded Information]
Fehler beim Starten von "XSlave" (ID des virtuellen Computers 9B8A8FFF-F35E-4F55-8971-E3B662AE7E3B).

"XSlave" Microsoft Emulated IDE Controller (Instanz-ID {83F8638B-8DCA-4152-9EDA-2CA8B33039B4}): Fehler "Allgemeiner "Zugriff verweigert"-Fehler" (0x80070005) beim Einschalten (ID des virtuellen Computers: 9B8A8FFF-F35E-4F55-8971-E3B662AE7E3B).

"XSlave": Das IDE/ATAPI-Konto verfügt über keine ausreichenden Berechtigungen zum Öffnen von Anlage "C:\VMs\XSlave\XSlave.vhd". Fehler: "Allgemeiner "Zugriff verweigert"-Fehler" (0x80070005). (ID des virtuellen Computers: 9B8A8FFF-F35E-4F55-8971-E3B662AE7E3B)

"XSlave": Das -Konto verfügt über keine ausreichenden Berechtigungen zum Öffnen von Anlage "C:\VMs\XSlave\XSlave.vhd". Fehler: "Allgemeiner "Zugriff verweigert"-Fehler" (0x80070005). (ID des virtuellen Computers: 9B8A8FFF-F35E-4F55-8971-E3B662AE7E3B)

[V] Details einblenden  [Schließen]

In diesem Fall hilft der Datei die passenden Rechte mittels ICACLS zu geben, maßgeblich:

icacls x1slave.vhd /grant "NT Virtueller Computer\9B8A8FFF-F35E-4F55-8971-E3B662AE7E3B:(R,W)"

Näheres findet man hier: https://support.microsoft.com/en-us/kb/2249906/en.

Altes Windows XP aus VHD-Datensicherung wiederbeleben

31 Dezember 2014

Nur als Referenz, falls nochmals notwendig. Kurz die Situation, es gab einen Datenbestand auf den unbedingt zugegriffen werden musste. Allerdings war nur eine VHD-Komplettsicherung eines Windows XPs vorhanden. Man hätte nun zwar die Daten aus der VHD extrahieren können, allerdings lagen die Daten in einer Software vor, welche auf einem neuen Rechner nicht mehr installierbar war. Somit musste das alte XP-System reaktiviert werden. Dazu wurde die XP-Maschine als virtueller Rechner unter einem Hyper-V eingebunden. hier nun kurz die nötigen Schritte:

Diese Lösung setzt voraus, das Windows XP zum Einsatz kommt, nur eine Partition zurückgespielt werden muss und diese kleiner 128GB ist.

o Hyper-VM VM anlegen, falls Auswahl nur Generation 1
o Anlegen einer Partition die nicht größer als 128GB sein darf
o Booten von einer WinPE oder Windows-Start-CD
o Shift-F10 für Eingabeaufforderung
o Einbinden der VHD-Sicherung mittels DISKPART

DISKPART
SELECT VDISK FILE="Vollständige Pfad zu VHD-Datei"
ATTACH

o Einrichten und Formatieren des neuen Laufwerks

SELECT DISK 0
ACTIVE
CREATE PARTITION PRIMARY
FORMAT FS=NTFS QUICK
LIST VOLUME
EXIT

o Kopieren der Daten von VHD-Sicherung zum leeren Laufwerk. Dabei ist zu beachten, welche Laufwerksbuchstaben den Laufwerken bei der Ausgabe von obigem “List Volume” angezeigt werden. In meinen Beispiel war E: das Laufwerk mit der eingehängten VHD-Datei und C: die neue, noch leere Platte. Infos zu den Paramtern von XCOPY: http://support.microsoft.com/kb/323007/de.

XCOPY E:\*.* C:\  /O X /E H /K
BOOTSECT /NT52 C: /MBR

o Damit die Geschichte unter Hyper-V bootbar ist und kein “Inaccessible Bootdevice” Fehler auftritt, muss noch ein IDE-Treiber aktiviert werden. Weitere Infos hier: https://newyear2006.wordpress.com/2009/09/12/computer-bzw-hardware-virtualisieren-p2v-fr-microsoft-hyper-v-server/

REG LOAD HKLM\Temp C:\WINDOWS\SYSTEM32\CONFIG\SYSTEM
REG ADD "HKLM\Temp\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_7111"
REG ADD "HKLM\Temp\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_7111" -v Service -t REG_SZ -d intelide 
REG ADD "HKLM\Temp\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_7111" -v ClassGUID -t REG_SZ -d "{4D36E96A-E325-11CE-BFC1-08002BE10318}"
REG ADD HKLM\Temp\ControlSet001\Services\intelide -v start -t REG_DWORD -d 0

REG UNLOAD HKLM\Temp

Das wars auf die Schnelle. Die Methode funktioniert im Prinzip auch bei Windows Vista, 7,8 usw. Allerdings muss man dort mit /NT60 bei BOOTSECT arbeiten und darauf Rücksicht nehmen, dass mehrere Partitionen vorhanden sind.

Gefährliche NAS-Backups mit Windows 7, Windows 8, Windows 8.1 sowie Server 2008 R2, Server 2012 und Server 2012 R2 und Fehlercode 0xC03A0005 mit Meldung “Die Version unterstützt diese Version des Dateiformats nicht”

28 Januar 2014

Gerade aufgeschreckt durch den Fehler bei einem Kunden auf einem QNAP-NAS während eines Systembackups:

Fehler bei der um ‎2014‎-‎01‎-‎27T21:17:26.330867400Z gestarteten Sicherung. Fehlercode: "0xC03A0005" (Die Version unterstützt diese Version des Dateiformats nicht.). Suchen Sie in den Ereignisdetails nach einer Lösung, und führen Sie die Sicherung erneut aus, nachdem das Problem behoben wurde.

Das Problem wurde bereits im Zusammenhang mit Windows Server 2008 R2 und Windows 7 im November 2010 beschrieben: http://blogs.technet.com/b/asiasupp/archive/2010/11/03/windows-server-backup-failed-with-error-quot-the-version-does-not-support-this-version-of-the-file-format-quot.aspx. Kurz: Das NAS versucht das Backup über ein Sparsefile anzulegen, während das Windowsprogramm Blocklevelzugriff braucht, da es eine VHD-Datei anlegt und bestimmte Dinge berechnet und direkt in der Datei anspringt. Da Windows keine Kenntnis vom Verhalten mit dem Sparsefile hat, kommt es zu falschen Berechnungen und damit scheitert die Sache früher oder später. Deshalb berichten viele von Problemen zu unterschiedlichen Gelegenheiten.

Als Lösung wurde genannt, man möchte in der smb.conf “strict allocate = yes” eintragen und den Samba-Server neu starten. Dadurch wird der für die Backupdateien benötigte Speicher immer komplett belegt.

Mal abgesehen, dass dieser Vorgang den Einsatz von Telnet erfordert, funktioniert diese Lösung aber auch nicht. Wie hier im Forum von QNAP diskutiert wird: http://forum.qnap.com/viewtopic.php?f=24&t=87109. Teilweise wird die Einstellung ignoriert oder geht nach einem weiteren Systemstart verloren oder sorgt für unnötige Auslastung des NAS. Offenbar ist es auch nicht nur ein Problem von QNAP sondern alle NAS-Hersteller kennen dieses Problem. Also Netgears ReadyNAS, FreeNAS, Synology usw. scheinen alle das Problem zu haben.

Was ist nun die Alternative? iSCSI

iSCSI ist etwas schwieriger einzurichten aber scheinbar momentan die einzig sinnvolle Lösung, solange das betreffende NAS iSCSI-Unterstützung mitbringt. Aber auch iSCSI birgt seine Gefahren: https://newyear2006.wordpress.com/2013/01/05/windows-server-2008-r2-bzw-sbs-2011-datensicherung-fehlercode-2155348061/

Sollte all das der Grund sein, warum MS nun die Sicherung in die CloudOS propagiert?

Konvertieren von virtuellen VMware Maschinen in virtuelle Hyper-V Maschinen

4 September 2012

Microsoft bietet nun ein offiziell unterstütztes Tool an, mit dem VMWare basierende virtuelle Maschine automatisch in Hyper-V kompatible virtuelle Maschinen übersetzt. Teilweise werden z. B. Netzwerkkartentreiber gleich aktualisiert. Auch VMDK-Dateien werden in VHD-Dateien gewandelt.

http://www.microsoft.com/en-us/download/details.aspx?id=34591&WT.mc_id=rss_alldownloads_all

Man sollte aber unbedingt die Readme lesen, denn es gibt einige Konstellationen wo eine automatische Konvertierung nicht unterstützt wird, oder wo nur bestimmte Teile übernommen werden.

VPART PPART und deren Verwendung in VHD Dateien in Zusammenhang mit der BCD

23 November 2010

Ja Windows 7 und Server 2008 R2 können von VHD-Dateien booten. Interessante Details liefert diese API Beschreibung: http://msdn.microsoft.com/en-us/library/dd405462(v=VS.85).aspx. Für künftige Spielchen in Sachen Multibootstick unverzichtbar.