vboxmanage命令难上手?这篇入门教程让你快速掌握!

吉云

最近一直在折腾虚拟机,主要是用 VirtualBox。一开始嘛都是用那个图形界面点点点,挺直观的。但后来机器多,或者有时候人不在电脑旁边,想通过命令行搞定,就发现那个图形界面不太够用。

摸索 vboxmanage

然后我就去找资料,发现 VirtualBox 自带一个叫 vboxmanage 的命令行工具。这家伙据说能干图形界面所有能干的事,甚至更多。于是我就开始捣鼓起来。

vboxmanage命令难上手?这篇入门教程让你快速掌握!

第一步,总得知道我有哪些虚拟机。我就打开命令行终端(我用的是 Windows,所以是 cmd 或者 PowerShell,Linux 应该也差不多),试着敲 vboxmanage list vms。还真管用,一下子把我装的所有虚拟机名字和它们的 UUID 都列出来。感觉有点小兴奋,这不就开始入门嘛

启动和关闭虚拟机

光列表没用,得能启动。我看看网上别人咋用的,试下 vboxmanage startvm "我的虚拟机名字"。注意,如果你的虚拟机名字里有空格,最好用引号给它包起来。敲完回车,熟悉的虚拟机窗口就弹出来,跟我在图形界面里点启动一个效果。

后来发现,有时候我只是想让虚拟机在后台跑,并不需要那个显示窗口,特别是在服务器上。这时候就要加个参数,vboxmanage startvm "我的虚拟机名字" --type headless。这样一搞,虚拟机就在后台默默运行,任务管理器里能看到进程,但桌面上啥也没有,清爽多。这个 headless 模式对我来说特别实用。

启动就得有关闭。最开始我图省事,直接用 vboxmanage controlvm "我的虚拟机名字" poweroff,这相当于直接拔电源,简单粗暴。后来觉得这样对虚拟机系统不太就改用 vboxmanage controlvm "我的虚拟机名字" acpipowerbutton,这个命令就像是按一下电源按钮,虚拟机会自己走正常的关机流程,感觉安全点。

查看和修改配置

有时候装完虚拟机,时间一长就忘给它分配多少内存、几个 CPU。用 vboxmanage showvminfo "我的虚拟机名字" 这个命令就能看得很清楚,它会列出一大堆详细信息,包括内存、CPU、网络设置、硬盘挂载等等,非常全。

看完就可能想改。比如我觉得某个虚拟机内存不够用,想加点。就可以用 vboxmanage modifyvm "我的虚拟机名字" --memory 2048 这样的命令,把内存改成 2048MB。类似的,改 CPU 个数(--cpus)、改网络模式(比如 --nic1 bridged --bridgeadapter1 "你的物理网卡名")都可以用 modifyvm 这个命令来搞定。改完之后重启虚拟机就生效。

其他常用操作

除上面这些,vboxmanage 还能干很多事。比如:

  • 克隆虚拟机:想复制一个现成的虚拟机环境,用 vboxmanage clonevm "源虚拟机名" --name "新虚拟机名" --register 就行。
  • 快照管理:做实验前打个快照是个好习惯。vboxmanage snapshot "虚拟机名" take "快照名" 创建快照,vboxmanage snapshot "虚拟机名" restore "快照名" 恢复快照,vboxmanage snapshot "虚拟机名" list 查看快照,vboxmanage snapshot "虚拟机名" delete "快照名" 删除快照。
  • 导入导出:要把虚拟机挪到别的电脑上,可以先用 vboxmanage export "虚拟机名" -o "导出的文件路径.ova" 导出成一个 ova 文件,然后到新电脑上用 vboxmanage import "导出的文件路径.ova" 导入回来。

一点小体会

刚开始用的时候,确实觉得命令参数有点多,记不住。特别是虚拟机名字长或者有特殊字符的时候,容易出错。后来发现,直接用 list vms 命令列出来的那个长长的 UUID 来代替虚拟机名字,基本上就没错,虽然丑点,但可靠。

还有就是,这个 vboxmanage 命令一般在你安装 VirtualBox 的目录里,有时候系统环境变量没配好的话,直接敲命令会找不到。这时候要么去安装目录下面执行,要么手动把那个目录加到系统的 PATH 环境变量里去,这样就能随时随地敲命令。

vboxmanage 这个工具,虽然看着是命令行,有点“复古”,但用熟之后,管理虚拟机效率真的高很多,特别是需要批量操作或者远程管理的时候,简直是神器。对我这种喜欢瞎折腾的人来说,掌握它是非常有必要的。

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]