VirtualBox的使用技巧

VirtualBox命令行用起来很方便,下面是一些常用的功能,记录下来以免忘记。

1. sharedfolder

随着VMs的增多,迫切需要一个“共享文件夹”

HOST

# mkdir -p /home/sharedfolder/linux
# mkdir -p /home/sharedfolder/windows
# chown -R nobody:nogroup /home/sharedfolder
# vboxmanage sharedfolder add <vm1> --name "sharedfolder" --hostpath "/home/sharedfolder"
# vboxmanage sharedfolder add <vm2> --name "sharedfolder" --hostpath "/home/sharedfolder"

最后接着将公共文件放到sharedfolder中。

Linux Guest

# mkdir /mnt/sharedfolder
# mount -t vboxsf sharedfolder /mnt/sharedfolder

注意,文件类型是vboxsf,不是vboxfs,而且需要root帐号才能mount。
{: class=“warning”}

Windows Guest

C:\net use s: \\vboxsvr\sharedfolder

该命令将HOST中的“共享文件夹”映射成本地的“驱动器s”。

TroubleShooting

  • 错误1:

现象:The machine '' is already locked for a session (or being unlocked)

原因:vm处于运行状态,需先将该vm关机后再执行该操作。

2. 自启动VM

待续

3. memory balloon

待续

4. VM管理

4.1 正确的查看VBox进程

在root中,vboxmanage list runningvms并不能看到non root帐号所运行的VMs,所以不要贸然地对VMs进行操作,应该用

# ps aux | grep VBox
chenr    13605  0.6  3.8 193768 157236 pts/5   Sl   12:31   1:14 /usr/lib/virtualbox/VBoxHeadless --startvm netmgmt-deb6 -vrde=off
chenr    13618  0.0  0.0  12848  3864 ?        S    12:31   0:01 /usr/lib/virtualbox/VBoxXPCOMIPCD
chenr    13623  0.0  0.1  26416  8112 ?        Sl   12:31   0:03 /usr/lib/virtualbox/VBoxSVC --auto-shutdown
chenr    15770  1.9  3.7 606472 152532 pts/5   Sl   15:24   0:35 /usr/lib/virtualbox/VBoxHeadless --startvm win2k3-template --vrde=off

进行确认

当一个VM关机后,vboxheadless进程也会自动终止。
{: class=“info” }

5. snapshot

5.1 创建快照

在4.1版本中,online snapshot有bug,解决办法是先“暂停”VM,再创快照。

1、暂停虚拟机

$ VBoxManage controlvm "centos_5.6_64" pause

2、快照

$ VBoxManage snapshot "centos_5.6_64" take "after_install_office2011"

3、继续使用虚拟机

$ VBoxManage controlvm "centos_5.6_64" resume

5.2 恢复快照

1、列出所有snapshot

$ VBoxManage showvminfo "centos_5.6_64"

2、中止虚拟机

$ VBoxManage controlvm "centos_5.6_64" poweroff

3、恢复到某个snapshot

$ VBoxManage snapshot "centos_5.6_64" restore ee927385-5306-4efe-92bb-92b8279a6f37

6. vmdk to vdi

qemu-img convert /path/to/original.vmdk converted.bin
VBoxManage convertdd converted.bin converted.vdi