如何在 osx 上挂载块文件?我试过
hdiutil attach filename
Run Code Online (Sandbox Code Playgroud)
然而,这终止于
hdiutil: attach failed - not recognized
Run Code Online (Sandbox Code Playgroud)
hdiutil 似乎只适用于 iso/dmg 图像。在 ubuntu 上,块文件可以很容易地挂载
mount -o loop filename mountpoint
Run Code Online (Sandbox Code Playgroud)
背景:我使用 vdfuse(http://forums.virtualbox.org/viewtopic.php?f=26&t=33355&start=0)来挂载虚拟磁盘文件(例如 vhd)。vdfuse 本身工作正常,虚拟磁盘中包含的分区在挂载点上显示为块文件。
VHD 文件 -> /my/mountpoint/Partition1, Partition2, ...
在 ubuntu 上,块文件可以通过
mount -o loop /my/mountpoint/Partition1
Run Code Online (Sandbox Code Playgroud)
但是 -o 循环选项在 osx 上不存在。
是否可以(如何)在 OS X 中挂载由 Windows 7 创建的 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/ ) 并查看了示例文件系统。
这导致我使用以下构建脚本
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}
Run Code Online (Sandbox Code Playgroud)
您实际上不需要在您的机器上编译 VirtualBox,只需安装最新版本的 VirtualBox。
所以现在我可以部分安装 vhds。单独的分区在我的挂载点上显示为块文件 Partition1、Partition2、...。然而,Mac OS X 不包含环回文件系统,并且 macfuse 的环回 fs …
有没有办法启动已经连接到远程系统的 services.msc(例如从命令行)?我想避免点击操作 -> 连接到远程计算机,因为我必须经常这样做......