VirtualBox 拥有一套命令行工具,你可以使用 VirtualBox 的命令行界面 (CLI) 对远程无界面的服务器上的虚拟机进行管理操作。在这篇教程中,你将会学到如何在没有 GUI 的情况下使用 VBoxManage 创建、启动一个虚拟机。VBoxManage 是 VirtualBox 的命令行界面,你可以在你的主机操作系统的命令行中用它来实现对 VirtualBox 的所有操作。

VBoxManage 拥有图形化用户界面所支持的全部功能,而且它支持的功能远不止这些。它提供虚拟引擎的所有功能,甚至包含 GUI 还不能实现的那些功能。如果你想尝试下不同的用户界面而不仅仅是 GUI,或者更改虚拟机更多高级和实验性的配置,那么你就需要用到命令行。

当你想要在 VirtualBox 上创建或运行虚拟机时,你会发现 VBoxManage 非常有用,你只需要使用远程主机的终端就够了。这对于需要远程管理虚拟机的服务器来说是一种常见的情形。

准备工作

在开始使用 VBoxManage 的命令行工具前,确保在运行着 Ubuntu 16.04 的服务器上,你拥有超级用户的权限或者你能够使用 sudo 命令,而且你已经在服务器上安装了 Oracle Virtual Box。 然后你需要安装 VirtualBox 扩展包,这是运行 VRDE 远程桌面环境,访问无界面虚拟机所必须的。

安装 VBoxManage

通过 Virtual Box 下载页,你能够获取你所需要的软件扩展包的最新版本,扩展包的版本和你安装的 VirtualBox 版本需要一致!

也可以用下面这条命令来获取 VBoxManage 扩展。

$ wget http://download.virtualbox.org/virtualbox/5.0.20/Oracle_VM_VirtualBox_Extension_Pack-5.0.20-106931.vbox-extpack

运行下面这条命令,确认 VBoxManage 已经成功安装在你的机器上。

$ VBoxManage list extpacks

在 Ubuntu 16.04 上使用 VBoxManage

接下来我们将要使用 VBoxManage 向你展现通过命令行终端工具来新建和管理虚拟机是多么的简单。

运行下面的命令,新建一个将用来安装 Ubuntu 系统的虚拟机。

# VBoxManage createvm --name Ubuntu16.04 --register

在运行了这条命令之后,VBoxMnage 将会新建一个叫 做“Ubuntu16.vbox” 的虚拟机,这个虚拟机的位置是家目录路径下的 “VirtualBox VMs/Ubuntu16/Ubuntu16.04.vbox”。在上面这条命令中,“createvm” 是用来新建虚拟机,“--name” 定义了虚拟机的名字,而 “registervm” 命令是用来注册虚拟机的。

现在,使用下面这条命令为虚拟机创建一个硬盘镜像。

$ VBoxManage createhd --filename Ubuntu16.04 --size 5124

这里,“createhd” 用来创建硬盘镜像,“--filename” 用来指定虚拟机的名称,也就是创建的硬盘镜像名称。“--size” 表示硬盘镜像的空间容量,空间容量的单位总是 MB。我们指定了 5Gb,也就是 5124 MB。

接下来我们需要设置操作系统类型,如果要安装 Linux 系的系统,那么用下面这条命令指定系统类型为 Linux 或者 Ubuntu 或者 Fedora 之类的。

$ VBoxManage modifyvm Ubuntu16.04 --ostype Ubuntu

用下面这条命令来设置虚拟系统的内存大小,也就是从主机中分配到虚拟机系统的内存。

$ VBoxManage modifyvm Ubuntu10.10 --memory 512

现在用下面这个命令为虚拟机创建一个存储控制器。

$ VBoxManage storagectl Ubuntu16.04 --name IDE --add ide --controller PIIX4 --bootable on

这里的 “storagect1” 是给虚拟机创建存储控制器的,“--name” 指定了虚拟机里需要创建、更改或者移除的存储控制器的名称。“--add” 选项指明存储控制器所需要连接到的系统总线类型,可选的选项有 ide / sata / scsi / floppy。“--controller” 选择主板的类型,主板需要根据需要的存储控制器选择,可选的选项有 LsiLogic / LSILogicSAS / BusLogic / IntelAhci / PIIX3 / PIIX4 / ICH6 / I82078。最后的 “--bootable” 表示控制器是否可以引导系统。

上面的命令创建了叫做 IDE 的存储控制器。之后虚拟介质就能通过 “storageattach” 命令连接到该控制器。

然后运行下面这个命令来创建一个叫做 SATA 的存储控制器,它将会连接到之后的硬盘镜像上。

$ VBoxManage storagectl Ubuntu16.04 --name SATA --add sata --controller IntelAhci --bootable on

将之前创建的硬盘镜像和 CD/DVD 驱动器加载到 IDE 控制器。将 Ubuntu 的安装光盘插到 CD/DVD 驱动器上。然后用 “storageattach” 命令连接存储控制器和虚拟机。

$ VBoxManage storageattach Ubuntu16.04 --storagectl SATA --port 0 --device 0 --type hdd --medium "your_iso_filepath"

这将把 SATA 存储控制器及介质(比如之前创建的虚拟磁盘镜像)连接到 Ubuntu16.04 虚拟机中。

运行下面的命令添加像网络连接,音频之类的功能。

$ VBoxManage modifyvm Ubuntu10.10 --nic1 nat --nictype1 82540EM --cableconnected1 on
$ VBoxManage modifyvm Ubuntu10.10 --vram 128 --accelerate3d on --audio alsa --audiocontroller ac97

通过指定你想要启动虚拟机的名称,用下面这个命令启动虚拟机。

$ VBoxManage startvm Ubuntu16.04

然后会打开一个新窗口,新窗口里虚拟机通过关联文件中引导。

你可以用接下来的命令来关掉虚拟机。

$ VBoxManage controlvm Ubuntu16.04 poweroff

“controlvm” 命令用来控制虚拟机的状态,可选的选项有 pause / resume / reset / poweroff / savestate / acpipowerbutton / acpisleepbutton。controlvm 有很多选项,用下面这个命令来查看它支持的所有选项。

$VBoxManage controlvm

完结

从这篇文章中,我们了解了 Oracle Virtual Box 中一个十分实用的工具 VBoxManage,文章包含了 VBoxManage 的安装和在 Ubuntu 16.04 系统上的使用,包括通过 VBoxManage 中实用的命令来创建和管理虚拟机。希望这篇文章对你有帮助,另外别忘了分享你的评论或者建议。

在 Linux 上使用 VirtualBox 的命令行管理界面相关推荐

  1. linux上的网络相关命令行

    建立网络设备连接拓扑时所用到的命令: 设置网络设备IP:ip addr add x.x.x.x/24 dev tap0 启动网络设备:ip link set dev tap0 up 查看当前网络设备信 ...

  2. 命令行管理 Linux服务器困难?别怕,今天介绍一款基于 Web 的Linux管理神器:Webmin

    对于任何 Linux 初学者来说,从命令行管理和管理 Linux 服务器都是非常困难的,在这种情况下,您可以使用 Webmin 从基于 Web 的界面管理您的 Linux 服务器. Webmin 是一 ...

  3. iOS:如何在iphone、ipad上安装一些常用命令行命令

    iOS:如何在iphone.ipad上安装一些常用命令行命令 相信对Linux.Unix比较熟悉的朋友,在iphone或 ipad越狱后发现通过Cydia可以安装OpenSSH,一定都想安装上并且通过 ...

  4. linux gpu 测试工具,推荐 7 大 Linux GPU 监控和诊断命令行工具

    原标题:推荐 7 大 Linux GPU 监控和诊断命令行工具 作者:Linux迷 链接:https://www.linuxmi.com/7-linux-gpu-jiankong.html 视频卡是一 ...

  5. 高效Linux用户需要了解的命令行技能

    高效Linux用户需要了解的命令行技能 出处: Quora   译文出处: 凌坤(@灵犀志趣_凌坤) 最近在Quora上看到一个问答题目,关于在高效率Linux用户节省时间Tips.将该题目的回答进行 ...

  6. 【Linux学习】之访问命令行

    [Linux学习]之访问命令行 文章目录 [Linux学习]之访问命令行 一.基础知识 二.练习 1.使用 date 命令来显示当前的日期和时间. 2.以12小时制显示当前时间(例如,11:42:11 ...

  7. Day07 红帽Linux —从命令行管理文件

    红帽Linux - 从命令行管理文件 文章目录 红帽Linux - 从命令行管理文件 一.目录文件夹内容及作用 练习题目 答案 二.路径定位和目录信息 路径定位 路径 切换目录 查看目录内容 ls指令 ...

  8. 提高Linux效率的30个命令行常用快捷键

    来自:51CTO博客,作者:老男孩oldboy 链接:https://blog.51cto.com/oldboy/2112948 说明 我们经常有时候需要敲命令,但是效率比较低,今天看到一篇非常不错的 ...

  9. 如何修改 linux 命令行登录界面

    如何修改 linux 命令行登录界面 1. 在网站设计字符图形 根据文字生成字符画: http://patorjk.com/software/taag http://www.network-scien ...

  10. Linux下怎么退出telnet命令行

    Linux下怎么退出telnet命令行 经常要用到telnet来测试端口是否正常开放. 但是在telnet进入某个端口后无法退出,没办法,为了继续测试只好关掉这个dos(或其他)窗口,重新打开一个. ...

最新文章

  1. Android自定义控制(五)仿新浪微博的下拉刷新
  2. Java黑皮书课后题第6章:**6.18(检测密码)一些网站对于密码具有一些规则。编写一个方法检测字符串是否是一个有效密码。编写一个程序,提示用户输入一个密码,如果符合规则,则显示…否则显示…
  3. github的使用教程
  4. 微软新浏览器_要超越Chrome?微软新发布的这款浏览器,有翻天覆地的变化!
  5. linux获取文件的md5,linux shell 获取文件md5的命令linux操作系统 -电脑资料
  6. polycom安卓手机客户端_安卓 emoji 表情:全变了
  7. 模拟数据解决二分类问题项目描述
  8. MySQL 索引最左匹配原则的理解
  9. Fenzo:来自Netflix基于Java语言的Mesos调度器
  10. 使用java jpcap实现网络嗅探器
  11. java retro2me_retro2me中文模拟器不闪退美化版-retro2me中文模拟器不闪退版(j2me模拟器最新版本)v2.1.0不崩溃版_新绿资源网...
  12. 如何写一个播放器-解析MNVideoPlayer(一)
  13. 【元胞自动机】基于元胞自动机模拟地铁火灾疏散模型matlab代码
  14. Trivy是CD流水线上面向容器的脆弱性扫描器
  15. 网络攻防 横向移动_网络安全101的数据分析:检测横向移动
  16. 终于修改了EXE的图标罗
  17. 谷歌表格图表 横坐标 滚动_如何使用Google表格的“探索”功能构建即时图表
  18. 日语基础复习 Day 4
  19. 图像压缩之奇异值分解(SVD)
  20. 电脑性能,如何提高电脑性能 方法介绍【图文教程】

热门文章

  1. Echarts快速入门
  2. 微信 PC(电脑端) 多开批处理
  3. URL、域名、子域名、主机名
  4. [经验技巧] 小米线刷详细图文教程(具体步骤)
  5. linux硬盘检测健康状态脚本,系统运维|使用 smartmontools 查看硬盘的健康状态
  6. python requests 乱码_解决使用requests中文乱码
  7. 大脑中的CD19表达与CAR-T治疗关系
  8. JavaScript(JS)的基本语法
  9. golang通过浏览器操作服务器中文件
  10. python统计套利_基于python的统计套利实战(四)之策略实现