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 procéder sur Linux. Il existe un fusible fs "vdfuse" qui utilise des bibliothèques virtualbox pour monter des systèmes de fichiers pris en charge par virtualbox. Cependant, je n'ai pas pu compiler le package sur osx car presque tous les en-têtes sont manquants et je doute que cela fonctionnerait de toute façon ...
EDIT # 2: D'accord, je me suis sali les mains et j'ai 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 j'ai examiné 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}
Vous n'avez en fait pas besoin de compiler VirtualBox sur votre machine, installez simplement une version récente de VirtualBox.
Alors maintenant, je peux monter partiellement des VHD. Les partitions séparées apparaissent sous forme de fichiers de blocs Partition1, Partition2, ... sur mon point de montage. Cependant, Mac OS X n'inclut pas de système de fichiers de bouclage et les fs de bouclage de macfuse ne fonctionnent pas avec les fichiers de blocs, nous avons donc besoin d'un fs de bouclage pour monter les fichiers de blocs en tant que partitions réelles.
Réponses:
Enfin, je l'ai fait fonctionner. Donc, en résumé, voici les étapes à effectuer
Montez le disque VHD
sudo ./vdfuse -tVHD -w -f / Path / To / VHD / Path / To / Mountpoint
Attachez les fichiers de blocs de partition virtuelle
hdiutil attach -imagekey diskimage-class = CRawDiskImage -nomount / Path / To / Mountpoint / PartitionN
Montez la partition virtuelle
monter -t YourFS / dev / diskK / Path / To / ParitionMountPoint
la source
Cela a fonctionné pour moi sur Mountain Lion. Aucune installation ou compilation nécessaire:
la source
hdiutil attach -imagekey diskimage-class=CRawDiskImage /Path/to/encrypted.vhd -nomount
, puis utiliser m3datarecovery.com/mac-bitlocker pour le décrypter . DAEMON Tools for Mac: Un logiciel de montage et d'imagerie intelligent a également fonctionné pour le montage, mais ce n'est pas gratuit.FUSE fonctionne sur MacOSX, mais vous aurez besoin des en-têtes.
la source
Si vous ne trouvez pas une autre solution, vous pouvez utiliser VirtualBox (ou un autre outil similaire qui prend en charge les fichiers VHD) pour exécuter un système virtuel qui utilise cette image de disque virtuel, puis accéder ou copier les fichiers dont vous avez besoin à l'aide de Samba ou sftp ou autre .
la source
Renommez simplement 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 pour le volume NTFS, donc si votre VHD a un volume NTFS, vous ne disposez que d'un accès en lecture.
la source
Nous sommes maintenant en 2020, et ces instructions vieilles de 10 ans ont presque fonctionné. Voici ce que j'ai fait pour monter une ancienne image de sauvegarde à partir de Windows 7 sur mon Mojave Mac, sur la base de la réponse acceptée de Jan Bernlöhr, ainsi que du script de la question.
vdfuse.c
) à partir de https://github.com/Thorsten-Sick/vdfuse (actuellement à la v83 - le lien d'origine est rattaché à la v80).svn co -r '{20120801}' http://www.virtualbox.org/svn/vbox/trunk/include/
Montez le disque VHD
sudo ./vdfuse -tVHD -w -f/Path/To/VHD /Path/To/Mountpoint
Attachez les fichiers de blocs de partition virtuelle
hdiutil attach -imagekey diskimage-class=CRawDiskImage -nomount /Path/To/Mountpoint/PartitionN
Montez la partition virtuelle
mount -t YourFS /dev/diskK /Path/To/ParitionMountPoint
Miraculeusement, cela fait un charme!
la source