Mounten Sie eine VHD unter Mac OS X


13

Ist es möglich (wie), eine von Windows 7 in OS X erstellte VHD-Datei einzuhängen?

Ich habe einige Informationen dazu gefunden, wie das unter Linux gemacht werden kann. Es gibt eine Sicherung fs "vdfuse", die Virtualbox-Bibliotheken verwendet, um von Virtualbox unterstützte Dateisysteme bereitzustellen. Allerdings konnte ich das Paket auf osx nicht kompilieren, da fast alle Header fehlen und ich bezweifle, dass es trotzdem funktionieren würde ...

EDIT # 2: Okay, ich habe mir die Hände schmutzig gemacht und endlich vdfuse ( http://forums.virtualbox.org/viewtopic.php?f=26&t=33355&start=0 ) auf osx kompiliert. Als Ausgangspunkt habe ich macfuse ( http://code.google.com/p/macfuse/ ) verwendet und mir die Beispieldateisysteme angesehen.

Dies führte mich zum folgenden Build-Skript

infile=vdfuse.c
outfile=vdfuse
incdir="your/path/to/vbox/headers"
INSTALL_DIR="/Applications/VirtualBox.app/Contents/MacOS"
CFLAGS="-pipe"

gcc -arch i386 "${infile}" \
         "${INSTALL_DIR}"/VBoxDD.dylib \
         "${INSTALL_DIR}"/VBoxDDU.dylib \
         "${INSTALL_DIR}"/VBoxVMM.dylib \
         "${INSTALL_DIR}"/VBoxRT.dylib \
         "${INSTALL_DIR}"/VBoxDD2.dylib \
         "${INSTALL_DIR}"/VBoxREM.dylib \
        -o "${outfile}" \
        -I"${incdir}" -I"/usr/local/include/fuse" \
        -Wl,-rpath,"${INSTALL_DIR}"  \
        -lfuse_ino64  \
        -Wall ${CFLAGS}

Sie müssen VirtualBox nicht auf Ihrem Computer kompilieren, sondern müssen nur eine aktuelle Version von VirtualBox installieren.

Also jetzt kann ich vhds teilweise einbinden. Die separaten Partitionen werden als Blockdateien Partition1, Partition2, ... auf meinem Bereitstellungspunkt angezeigt. Mac OS X enthält jedoch kein Loopback-Dateisystem, und das Loopback-Dateisystem von macfuse funktioniert nicht mit Blockdateien. Daher benötigen wir ein Loopback-Dateisystem, um die Blockdateien als tatsächliche Partitionen bereitzustellen.


Was hat Win7 damit zu tun? Um Ihre Frage vollständig zu beantworten, müsste ich wissen, welche Anwendung Ihre VHD erstellt hat (VirtualBox, VMware (und Workstation vs Server vs ...), etc.)
gWaldo

Eigentlich habe ich die VHD mit Diskpart in Windows 7 erstellt ...
Jan Bernlöhr

Sie können gcc -arch x86-64 "$ {infile}" \ für Zeile 7 verwenden, wenn Sie Leopard oder Snow Leopard (esp 10.6)
ausführen, um

@gWaldo, VHD ist ein Dateiformat, das von Windows 6.1, Virtual PC, Virtual Server, Hyper-V, Xen und anderen verwendet wird.
Chris S

Antworten:


6

Endlich habe ich es geschafft. Zusammenfassend sind hier die durchzuführenden Schritte

  1. Installieren Sie macfuse
  2. Installieren Sie Virtual Box
  3. Kompilieren Sie vdfuse wie in der Frage erwähnt
  4. Hängen Sie die VHD-Festplatte ein

    sudo ./vdfuse -tVHD -w -f / Pfad / Nach / VHD / Pfad / Nach / Mountpoint

  5. Hängen Sie die Blockdateien der virtuellen Partition an

    hdiutil attach -imagekey diskimage-class = CRawDiskImage -nomount / Path / To / Mountpoint / PartitionN

  6. Hängen Sie die virtuelle Partition ein

    mounten Sie -t YourFS / dev / diskK / Path / To / ParitionMountPoint


3

Das hat bei mir am Mountain Lion geklappt. Keine Installation oder Kompilierung notwendig:

hdiutil attach -readonly -imagekey diskimage-class=CRawDiskImage <Path to .vhd file>

Sagen Sie für mich am 10.8.3: hdiutil: Anhängen fehlgeschlagen - keine bereitstellbaren Dateisysteme
hkulekci

Ich habe es gerade noch einmal versucht und bekomme die gleiche Fehlermeldung. Seltsam. Ich habe dies vor einigen Monaten ein paar Mal erfolgreich angewendet.
Henning77

Mit einem älteren vhd-Image funktioniert es wieder (NTFS, erstellt in 01/2013). Mit einem neueren vhd geht das nicht. Ich weiß noch nicht, wo der Unterschied liegt.
Henning77

Zu diesem Thema habe ich nichts gefunden.
hkulekci

Ich habe eine bitlocker-verschlüsselte VHD von Windows 7 und konnte sie auf ähnliche Weise mit m3datarecovery.com/mac-bitlocker mounten hdiutil attach -imagekey diskimage-class=CRawDiskImage /Path/to/encrypted.vhd -nomountund dann zum Entschlüsseln verwenden . DAEMON Tools für Mac: Intelligente Montage- und Imaging-Software funktionierte auch zum Mounten, ist aber nicht kostenlos.
Pat

1

FUSE funktioniert unter MacOSX, Sie benötigen jedoch die Header.


Vielen Dank, ich habe bereits macfuse auf unseren Rechnern installiert, um ntfs (tuxera), ext2 und andere Dateisysteme für unsere osx-Benutzer zugänglich zu machen. Vielleicht kann ich die lib auf einem Linux-System kompilieren und dann die Dateien von osx kopieren ...
Jan Bernlöhr

1

Wenn Sie keine andere Lösung finden, können Sie mit VirtualBox (oder einem ähnlichen Tool, das VHD-Dateien unterstützt) ein virtuelles System ausführen, das dieses virtuelle Festplatten-Image verwendet, und dann mit Samba oder sftp oder dergleichen auf die benötigten Dateien zugreifen oder diese kopieren .


Danke, das ist machbar, aber leider nicht ganz das, wonach ich suche. Derzeit habe ich NTFS-Partitionen auf einem Dual-Boot-System, sodass ich Daten von Win und OSX lesen und schreiben kann. Der nächste Schritt ist die Virtualisierung der Partitionen, die win7 und Daten enthalten ... Die Daten müssen jedoch immer noch auf osx verfügbar sein.
Jan Bernlöhr

0

Benennen Sie einfach Ihre VHD-Datei in IMG um. Doppelklicken Sie darauf, um sie zu mounten. Das ist alles.

Denken Sie daran, dass Mac OS X Lesezugriff nur für NTFS-Volumes bietet. Wenn Ihre VHD also über ein NTFS-Volume verfügt, haben Sie nur Lesezugriff.


1
Das geht leider nicht. DiskImageMounter sagt nur "nicht erkannt".
Jan Bernlöhr
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.