首页 > 系统相关 >在 Linux 上使用 VirtualBox 的命令行管理界面

在 Linux 上使用 VirtualBox 的命令行管理界面

时间:2023-08-01 15:47:29浏览次数:47  
标签:Ubuntu16.04 -- 虚拟机 命令 命令行 Linux VBoxManage VirtualBox

VirtualBox 拥有一套命令行工具,你可以使用 VirtualBox 的命令行界面 (CLI) 对远程无界面的服务器上的虚拟机进行管理操作。在这篇教程中,你将会学到如何在没有 GUI 的情况下使用 VBoxManage 创建、启动一个虚拟机。VBoxManage 是 VirtualBox 的命令行界面,你可以在你的主机操作系统的命令行中用它来实现对 VirtualBox 的所有操作。
在 Linux 上使用 VirtualBox 的命令行管理界面在 Linux 上使用 VirtualBox 的命令行管理界面
VBoxManage 拥有图形化用户界面所支持的全部功能,而且它支持的功能远不止这些。它提供虚拟引擎的所有功能,甚至包含 GUI 还不能实现的那些功能。如果你想尝试下不同的用户界面而不仅仅是 GUI,或者更改虚拟机更多高级和实验性的配置,那么你就需要用到命令行。

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

准备工作

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

安装 VBoxManage

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

在 Linux 上使用 VirtualBox 的命令行管理界面在 Linux 上使用 VirtualBox 的命令行管理界面

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

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

在 Linux 上使用 VirtualBox 的命令行管理界面在 Linux 上使用 VirtualBox 的命令行管理界面

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

$ VBoxManage list extpacks

在 Linux 上使用 VirtualBox 的命令行管理界面在 Linux 上使用 VirtualBox 的命令行管理界面

在 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

在 Linux 上使用 VirtualBox 的命令行管理界面在 Linux 上使用 VirtualBox 的命令行管理界面

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

$ 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

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

在 Linux 上使用 VirtualBox 的命令行管理界面在 Linux 上使用 VirtualBox 的命令行管理界面

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

$ VBoxManage controlvm Ubuntu16.04 poweroff

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

$VBoxManage controlvm

在 Linux 上使用 VirtualBox 的命令行管理界面在 Linux 上使用 VirtualBox 的命令行管理界面

完结

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

原文来自:https://linux.cn/article-7582-1.html

本文地址:https://www.linuxprobe.com/virtualbox-cmd-manage.html编辑员:逄增宝,审核员:逄增宝

本文原创地址:https://www.linuxprobe.com/virtualbox-cmd-manage.html

标签:Ubuntu16.04,--,虚拟机,命令,命令行,Linux,VBoxManage,VirtualBox
From: https://www.cnblogs.com/linuxpro/p/17596670.html

相关文章

  • Tabby:连接VirtualBox上配置的静态IP双网卡
    前情提要通过VirtualBox:设置默认IP双网卡-ShineLe-博客园配置了双网卡,均为静态IP,一个仅主机,一个NAT仅主机IP:192.168.10.11/24NAT:10.0.0.11/24之后我在用Tabby连接时碰到了一系列问题:两台机器能互相ping通,但却无法telnet也无法ssh;SSHConnectingto192.168.10.11......
  • Linux服务器宕机原因有哪些可以通过那些命令详细排查
    dmesg:这个命令可以查看系统启动时内核产生的日志信息,可以通过检查日志来了解是否有硬件或内核问题。journalctl:这个命令可以查看系统日志,包括服务启动、停止、错误信息等,可以帮助找到服务是否出现问题。top和htop:这两个命令可以查看系统当前的进程状态和资源占用情况,可能可......
  • linux环境下重启Tomcat服务
    1、如何在Linux操作系统定时重启Tomcat服务?2、linux环境下重启Tomcat服务3、linux重启tomcat服务命令4、Linux设置tomcat开机自动启动5、如何在Linux操作系统定时重启Tomcat服务6、linux如何启动tomcat用什么命令如何在Linux操作系统定时重启Tomcat服务?使用当时部署to......
  • Qt调用动态库的三种方式(linux)
     本文章主要记录Qt在linux电脑上调用so库的三种调用方式方式一:静态加载so库方式二:动态加载so库(QLibrary)方式三:动态加载so库(dlopen) 其他:封装的so库叫做:libsoowCapture.so,这个so库又依赖了其他的so库,我是把所有的so库放在lib文件夹里面。库文件+目录结构如下图:   ......
  • Linux systemd配置
    介绍:systemd是Linux系统工具,用来启动守护进程,已成为大多数发行版的标准配置。它是一个初始化程序(init)和SystemV初始化脚本的现代替代者。Systemd可以接管后台服务、结束、状态查询,以及日志归档、设备管理、电源管理、定时任务等许多职责。Systemd是所有进程之母,负责将Linux主......
  • Linux 编译 libjpeg-9e
     jpeg的库有两个:一个是官方的libjpeg 还有一个是libjpeg-turboJPEG库(libjpeg-turbo):https://libjpeg-turbo.org/Libjpeg库:http://www.ijg.org/ *:我用的是官方的libjpeg,进入官网下载的时候,要注意zip的这个包是Windows的,tar.gz的这个包才是linux的 ./configure-h......
  • [转]Linux密码保存文件及各位置参数含义
    原文地址:linux哪个目录存放密码-睿象云平台“/etc”目录用来存放系统主要的配置文件,例如用户的账号密码等文件,有两个存放密码的文件:1、shadow文件,用于存储系统中用户的密码信息;2、gshadow文件,用于存储系统中组用户的密码信息。本教程操作环境:linux5.9.8系统、DellG3电脑。lin......
  • Linux常用耗资源命令汇总
    在Linux中,以下命令可能在处理大量数据或复杂操作时比较消耗资源。一般来说,涉及大量数据处理、计算或者I/O操作的命令会比较耗费系统资源。​注意:所有命令资源消耗都是相对的,基于文件的处理量来展现find命令通常会比较消耗资源,因为它需要遍历整个文件系统来查找文件......
  • linux sbatch 提交jupyter
    点击查看代码#!/bin/bash#SBATCH-pBatch2#SBATCH-N1#SBATCH-n1#SBATCH-c1#SBATCH--job-name=jupyter#SBATCH--output=jupy.out#SBATCH--error=jupy.err#SBATCH--parsableport=8003ip=`ifconfig|grep-m1inet|awk'{print$2}'`jup......
  • 导入mysql 乱码问题及 Linux 中的文件格式转换
    问题下载了一个单词sql文件,导入mysql报错,查看文件类型:%fileenglish_word.sqlenglish_word.sql:Non-ISOextended-ASCIItext与另一个导入成功的文件对比,发现格式不一样:%fileenglish-root.sqlenglish-root.sql:UTF-8Unicodetext,withverylonglines,withnoli......