Можно ли (как) смонтировать VHD-файл, созданный Windows 7 в OS X?
Я нашел некоторую информацию о том, как сделать это на Linux. Существует предохранитель fs "vdfuse", который использует библиотеки virtualbox для монтирования файловых систем, поддерживаемых virtualbox. Однако я не смог скомпилировать пакет на OSX, потому что почти все заголовки отсутствуют, и я сомневаюсь, что он все равно будет работать ...
РЕДАКТИРОВАТЬ # 2: Хорошо, я испачкал руки и, наконец, скомпилировал vdfuse ( http://forums.virtualbox.org/viewtopic.php?f=26&t=33355&start=0 ) на osx. В качестве отправной точки я использовал macfuse ( http://code.google.com/p/macfuse/ ) и посмотрел примеры файловых систем.
Это привело меня к следующему сценарию сборки
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}
На самом деле вам не нужно компилировать VirtualBox на вашем компьютере, просто установите последнюю версию VirtualBox.
Так что теперь я могу частично смонтировать VHDS. Отдельные разделы отображаются в виде файлов блоков Partition1, Partition2, ... в моей точке монтирования. Однако Mac OS X не включает в себя петлевую файловую систему, а петлевая fs macfuse не работает с блочными файлами, поэтому нам нужен петлевой fs для монтирования блочных файлов как фактических разделов.