VMDK Disks werden unter VMWare erzeugt und für virtualle Server benutzt. Um an die Daten zu kommen ohne VM Tools und ohne irgendwelche anderen Hilfsmittel ist nicht so einfach, aber dennoch recht simple, wenn man den Weg kennt.
Als erstes erzeugen wir ein Mountpoint, wo man am Ende auf die Daten zugreifen möchte:
mkdir /mnt/vmdk-flat
Als nächstes muss man die -flat Datei mounten an ein loop device und dann schauen wir uns dies genauer an:
losetup /dev/loop0 /pfad/zu/deiner/datei-flat.vmdk fdisk -l /dev/loop0
Man erhaltet eine solche Ausgabe, wobei man sich die Zahl notieren sollte, wo vorne an der entsprechenden Disk aufgelistet ist:
Disk /dev/loop0: 751.6 GB, 751619276800 bytes
255 heads, 63 sectors/track, 91379 cylinders, total 1468006400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000009cdDevice Boot Start End Blocks Id System
/dev/loop0p1 * 2048 1026047 512000 83 Linux
/dev/loop0p2 1026048 1468006399 733490176 8e Linux LVM
In meinem Fall ist die Zahl: 1026048
Diese Zahl multiplizieren wir nun mit der Sector Grösse (meist 512, steht aber auch Oben drüber) und fügen die Zahl dann hier ein:
losetup -o $((1026048*512)) /dev/loop1 /dev/loop0
Jetzt kann man versuchen diese Disk zu mounten:
mount /dev/loop1 /mnt/vmdk-flat
Wenn die Festplate direkt im System eingebunden war, dann wird diese nun gemountet.
VMWare legt aber meinst eine Disk mit mehrere Partitionen an und dies kann man nicht mounten, sondern man bekommt folgenden Fehler zu sehen:
mount: unknown filesystem type ‚LVM2_member‘
Daher muss man dieser Harddisk auch noch sagen, welche Partition gemountet werden soll:
vgscan lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
lv_root vg_homer -wi—– 691,68g
lv_swap vg_homer -wi—– 7,83g
Hier sieht man nun 2 neue Hinweise welche man benötigt. Zum einen LV (LogicalVolume) und LG (LogicalGroup).
Usere Disk hatte hier das Dateisystem und eine SWAP Partition, welche mich nicht interessiert.
Zuerst aktivieren wir die Gruppe:
vgchange -ay vg_homer
Und nun mounten wir die richtige Partition:
mount /dev/vg_homer/lv_root /mnt/vmdk-flat
Spätestens jetzt kann man auf die Daten der VMDK Datei zugreifen und diese rauskopieren / bzw auch ändern, daher Vorsicht!