在Mac OS X上安装VHD

是否有可能(如何)在OS X上安装由Windows 7创build的VHD文件?

我发现了一些关于如何在Linux上执行此操作的信息。 有一个保险丝fs“vdfuse”,它使用virtualbox库来装载virtualbox支持的文件系统。 然而,我无法在osx上编译这个包,因为几乎所有的头文件都丢失了,我怀疑它会起作用。

编辑#2:好吧,我的手脏了,最后在osx上编译vdfuse( http://forums.virtualbox.org/viewtopic.php?f=26&t=33355&start=0 )。 作为一个起点,我使用了macfuse( http://code.google.com/p/macfuse/ ),并查看了示例文件系统。

这导致我到以下构build脚本

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不包含回送文件系统,macfuse的回送fs不能与块文件一起工作,所以我们需要一个回送fs来将blockfiles挂载为实际的分区。

最后我得到了它的工作。 总之,这里是要执行的步骤

  1. 安装macfuse
  2. 安装虚拟盒子
  3. 编译问题中提到的vdfuse
  4. 安装vhd磁盘

    sudo ./vdfuse -tVHD -w -f / Path / To / VHD / Path / To / Mountpoint

  5. 附加虚拟分区块文件

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

  6. 安装虚拟分区

    mount -t YourFS / dev / diskK / Path / To / ParitionMountPoint

FUSE在MacOSX上运行,但是你需要头文件。

如果您没有find其他解决scheme,可以使用VirtualBox(或其他支持VHD文件的类似工具)来运行使用该虚拟磁盘映像的虚拟系统,然后使用Samba或sftp等访问或复制所需的文件。

这对我在山狮上工作。 无需安装或编译:

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

只需将您的VHD文件重命名为IMG ..双击它来安装它。 就这样。

请记住,Mac OS X仅为NTFS卷提供读访问权限,因此如果您的VHD具有NTFS卷,则只能读取访问权限。