Question Monter un disque dur virtuel sur Mac OS X


Est-il possible (comment) de monter un fichier VHD créé par Windows 7 sous OS X?

J'ai trouvé des informations sur la façon de faire cela sur Linux. Il existe un fusible fs "vdfuse" qui utilise des bibliothèques de virtualbox pour monter des systèmes de fichiers pris en charge par virtualbox. Cependant, je n'ai pas pu compiler le paquet sur osx car presque tous les en-têtes sont manquants et je doute que cela fonctionne de toute façon ...

EDIT # 2: Ok, je me suis sali les mains et finalement compilé vdfuse (http://forums.virtualbox.org/viewtopic.php?f=26&t=33355&start=0) sur osx. Comme point de départ, j'ai utilisé macfuse (http://code.google.com/p/macfuse/) et regardé les exemples de systèmes de fichiers.

Cela m'a conduit au script de construction suivant

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}

En réalité, vous n'avez pas besoin de compiler VirtualBox sur votre machine, il vous suffit d'installer une version récente de VirtualBox.

Alors maintenant, je peux monter partiellement des vhds. Les partitions séparées apparaissent sous forme de fichiers de bloc Partition1, Partition2, ... sur mon point de montage. Cependant, Mac OS X n’inclut pas de système de fichiers en boucle et le ficher loopback de macfuse ne fonctionne pas avec les fichiers de bloc. Nous avons donc besoin d’un ficher en boucle pour monter les fichiers de blocs en tant que partitions réelles.


11
2017-08-25 10:14


origine


Qu'est-ce que Win7 a à voir avec ça? Pour répondre complètement à votre question, il faudrait que je sache quelle application a créé votre disque dur virtuel (VirtualBox, VMware (et station de travail vs serveur vs ...), etc.) - gWaldo
En fait, j'ai créé le disque dur virtuel avec diskpart contenu dans Windows 7 ... - jan bernlöhr
Vous voudrez peut-être utiliser gcc -arch x86-64 "$ {infile}" "\ pour la ligne 7 si vous utilisez Leopard ou Snow Leopard (esp 10.6) afin de compiler en 64 bits - gWaldo
@gWaldo, VHD est un format de fichier utilisé par Windows 6.1, Virtual PC, Serveur virtuel, Hyper-V, Xen et autres. - Chris S


Réponses:


Finalement je l'ai fait fonctionner. Donc, en résumé, voici les étapes à suivre

  1. Installer macfuse
  2. Installer une boîte virtuelle
  3. Compiler vdfuse comme mentionné dans la question
  4. Monter le disque vhd

    sudo ./vdfuse -tVHD -w -f / Chemin / Vers / VHD / Chemin / Vers / Point de montage

  5. Joindre les fichiers de blocs de la partition virtuelle

    hdiutil attach -imagekey diskimage-class = CRawDiskImage -nomount / Chemin / Vers / Point de montage / PartitionN

  6. Montez la partition virtuelle

    montez votre fichier / dev / diskK / Path / To / ParitionMountPoint


6
2017-08-26 20:20





FUSE fonctionne sur MacOSX, mais vous aurez besoin des en-têtes.


1
2017-08-25 12:47



Merci, j’ai déjà installé macfuse sur nos machines pour rendre les systèmes de fichiers ntfs (tuxera), ext2 et autres accessibles à nos utilisateurs osx. Peut-être que je peux compiler la lib sur un système Linux, puis copier les fichiers OSX ... - jan bernlöhr


Si vous ne trouvez pas d'autre solution, vous pouvez utiliser VirtualBox (ou un autre outil similaire prenant en charge les fichiers VHD) pour exécuter un système virtuel utilisant cette image de disque virtuel, puis accéder ou copier les fichiers nécessaires à l'aide de Samba, sftp ou autre. .


1
2017-08-25 16:45



Merci, c'est faisable mais malheureusement pas tout à fait ce que je cherche. Actuellement, j'ai des partitions NTFS sur un système à double démarrage, ce qui me permet de lire / écrire des données à partir de win et osx. La prochaine étape consiste à virtualiser les partitions contenant Win7 et les données ... Cependant, les données doivent toujours être accessibles sur osx. - jan bernlöhr


Cela a fonctionné pour moi sur Mountain Lion. Aucune installation ou compilation nécessaire:

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

1
2018-01-25 08:28



Dis pour moi sur 10.8.3: hdiutil: échec de l'attachement - pas de système de fichiers montable - hkulekci
Je viens d'essayer à nouveau et reçois le même message d'erreur. Bizarre. Je l'ai utilisé plusieurs fois avec succès il y a quelques mois. - henning77
Avec une ancienne image vhd, cela fonctionne à nouveau (NTFS, créé en 01/2013). Avec un vhd plus récent, ce n'est pas le cas. Je ne sais pas encore où est la différence. - henning77
Je n'ai rien trouvé à ce sujet. - hkulekci
J'ai un disque dur virtuel crypté bitlocker de Windows 7 et j'ai pu le monter de la même manière avec hdiutil attach -imagekey diskimage-class=CRawDiskImage /Path/to/encrypted.vhd -nomount et ensuite utiliser m3datarecovery.com/mac-bitlocker pour le déchiffrer. DAEMON Tools for Mac: logiciel de montage et d'imagerie intelligent a également travaillé pour monter, mais ce n'est pas gratuit. - Pat


Il suffit de renommer votre fichier VHD en IMG .. double-cliquez dessus pour le monter. C'est tout.

N'oubliez pas que Mac OS X fournit un accès en lecture uniquement au volume NTFS. Par conséquent, si votre disque dur virtuel possède un volume NTFS, vous ne disposez que d'un accès en lecture.


0
2018-01-11 23:21



Malheureusement ça ne fonctionne pas. DiskImageMounter dit simplement "non reconnu". - jan bernlöhr