一般我们向虚拟机中复制文件,可以使用网络,使用插件提供的共享文件夹来完成, 但是如果虚拟机的系统年代比较久远,没有网络,VirtualBox 官方也没有插件支持的话, 我们依然有办法复制文件,今天我们来说明如何在 osx 下做到这一点
最近使用 VirtualBox 安装了 FreeDOS 系统来回顾一些旧软件, 想要向新装的系统中复制文件时遇到了困难,因为 VirtualBox 的插件不支持旧的系统, 所以不能使用自带的共享文件夹功能来复制文件,不能使用插件的话, 比较容易想到的做法可能是通过网路来复制,可是也有问题,dos 时期可能分享文件是使用 ftp 协议,而不像现在多数使用 ssh,所以还需要搭建一台 ftp 服务器,我们都知道 ftp 服务器也很陈旧了,dos 下也是有 ssh 的工具可以使用,但是需要另外安装, 那么问题又来了,怎么把安装包复制到虚拟机呢,感觉这是一个循环。
后来想到,有几个办法可以解决这个问题:
1 和 2 需要额外的工具,3 的话使用工具或在 windows 系统下会比较简单, 但其实如果采用 4,我们只需要一条命令行
打开终端并切换到虚拟机所在目录
创建一个 img 链接,因为默认 hdiutil 不能识别 vdi 格式的虚拟磁盘
ln -s srcfile.vdi dstfile.img
确保虚拟机已关机的情况下,在终端输入以下命令来挂载 vdi 虚拟磁盘
hdiutil attach -agent hdid -section 0x1000 dstfile.img
这时我们就可以在 finder 中查看和修改虚拟磁盘的内容了
在加入正确位移的情况下,OSX 是可以挂载 vdi 磁盘文件的,这样一来, 我们就可以只借助系统工具和 VirtualBox,向无法安装扩展的虚拟机复制文件