Czy jest możliwe (jak) zamontować plik VHD utworzony przez Windows 7 w OS X?
Znalazłem trochę informacji o tym, jak to zrobić na Linuksie. Istnieje bezpiecznik fs „vdfuse”, który wykorzystuje biblioteki virtualbox do montowania systemów plików obsługiwanych przez virtualbox. Nie udało mi się jednak skompilować pakietu na osx, ponieważ brakuje prawie wszystkich nagłówków i wątpię, czy i tak by to zadziałało ...
EDYCJA 2: Dobra, ubrudziłem sobie ręce i ostatecznie skompilowałem vdfuse ( http://forums.virtualbox.org/viewtopic.php?f=26&t=33355&start=0 ) na osx. Jako punkt wyjścia użyłem macfuse ( http://code.google.com/p/macfuse/ ) i spojrzałem na przykładowe systemy plików.
Doprowadziło mnie to do następującego skryptu kompilacji
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}
W rzeczywistości nie musisz kompilować VirtualBox na swoim komputerze, po prostu zainstaluj najnowszą wersję VirtualBox.
Więc teraz mogę częściowo zamontować VHD. Oddzielne partycje pojawiają się jako pliki bloków Partition1, Partition2, ... w moim punkcie montowania. Jednak Mac OS X nie zawiera systemu plików pętli zwrotnej, a fs pętli zwrotnej macfuse nie działa z plikami blokowymi, więc potrzebujemy pętli zwrotnej fs, aby zamontować pliki bloków jako rzeczywiste partycje.