我有一个需要写一个快照后的VirtualBox客人的硬盘(我不能修改原始的支持文件(VDI,DD,无论什么)。我希望VBox有一些方法来通过VBoxManage命令修改不同的快照磁盘或他们的API(很像VMWare允许你通过他们的pipe理命令/ API直接读写扇区到磁盘,而不需要与原始文件交互)。
我唯一的解决scheme是编写一系列的任务,使用VBoxManage storageattach插入可引导的CD,装入find的任何分区,执行命令并自动closures。 closures时,我宁愿与机器进行交互。
理想情况下,我希望VirtualBox可以在Linux主机上公开一些虚拟块设备,这样我就可以使用任何需要的驱动程序来挂载它,并执行我的必要任务。
我知道有些工具可以安装VDI,但由于多种原因,这些工具无法使用。 最重要的是我不能修改后备存储(因此是快照),两个存在并不总是VDI(iSCSI目标可能是后备存储而不是本地文件)
VBox有一些命令使用VBoxManage的访客控制( http://www.virtualbox.org/manual/ch08.html ),但它需要打开机器,安装客人补充,以及来宾帐户的凭证。 它也不允许任何低于文件级别的访问。
改进的解决方法:
您可以创build一个可启动的CD映像(或者一个附加的磁盘,它成为启动磁盘,之后删除),它不会挂载磁盘,而是启动sshd。 主机上的脚本可以通过ssh连接,并通过sshfs导出磁盘的设备文件。 但我不得不承认,我从来没有试图通过sshfs访问设备文件。 如果这是不可能的,那么我的下一个尝试是通过例如FUSE将设备文件映射到常规文件。
通过与VirtualBox开发者的对话,这是不可能的。 他们唯一的build议是使用可执行的光盘执行必要的操作。