SUN VirtualBox 的命令行启动关闭方法简介

    技术2025-04-12  44

    SUN VirtualBox 除了方面易用的图形界面外,还有功能强大的命令行管理工具。 下面就先介绍下从命令行启动VirtualBox 中虚拟主机的方法! 通过命令行启动 VirtualBox,可以省去直接启动虚拟机显示图形界面的那部分资源。这种形式非常适用于在服务器上虚拟 n 台机器同时提供服务。使用 Host Interface 网络连接方式,可以让虚拟机的虚拟网卡获取和主机一样的网络地址等信息,从而可以直接对外提供服务。 首先,我们可以使用VBxManager 命令行管理工具来查看当前的虚拟基设置和状态 QHo@qhoferrari1k:~$ VBoxManage list vms VirtualBox Command Line Management Interface Version 2.1.4 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. Name:            xitmdbmr Guest OS:        Solaris (64 bit) UUID:            3ce3fd01-7e17-46b3-8394-be9c1b17ee66 Config file:     /export/home/QHo/.VirtualBox/Machines/xitmdbmr/xitmdbmr.xml Memory size:     1536MB VRAM size:       16MB Boot menu mode:  message and menu ACPI:            on IOAPIC:          on PAE:             off Time offset:     0 ms Hardw. virt.ext: on Nested Paging:   off VT-x VPID:       off State:           running (since 2009-03-31T20:15:45.711000000) Monitor count:   1 3D Acceleration: on Floppy:          empty SATA:            enabled SATA 0:          /vms/vdi/xitmdbmr01.vid.vdi (UUID: 21d2e947-8b2b-4ea1-813d-6e7c7624116b) IDE Controller:  PIIX4 DVD:             empty NIC 1:           MAC: 08002798DAFE, Attachment: Host Interface 'bge0 - Broadcom BCM57xx Gigabit Ethernet', Cable connected: on, Trace: off (file: none), Type: 82543GC, Reported speed: 0 Mbps NIC 2:           disabled NIC 3:           disabled NIC 4:           disabled NIC 5:           disabled NIC 6:           disabled NIC 7:           disabled NIC 8:           disabled UART 1:          disabled UART 2:          disabled Audio:           disabled (Driver: Unknown, Controller: Unknown) Clipboard Mode:  Bidirectional VRDP:            disabled Shared folders:  <none> Guest: Statistics update:                   disabled Name:            dcsvr08 Guest OS:        Windows 2008 (64 bit) UUID:            cf34078e-29e3-4f4f-9a11-d77bac6efd04 Config file:     /export/home/QHo/.VirtualBox/Machines/dcsvr08/dcsvr08.xml Memory size:     1024MB VRAM size:       32MB Boot menu mode:  message and menu ACPI:            on IOAPIC:          on PAE:             off Time offset:     0 ms Hardw. virt.ext: on Nested Paging:   off VT-x VPID:       off State:           powered off (since 2009-03-31T20:34:29.935000000) Monitor count:   1 3D Acceleration: off Floppy:          empty SATA:            enabled SATA 0:          /vms/vdi/dcsvr08vid01.vdi (UUID: 83486c52-9cc5-4910-8fc3-4a7c7ec0bbca) IDE Controller:  PIIX4 DVD:             /opt/VirtualBox/amd64/additions/VBoxGuestAdditions.iso (UUID: 4f4f1b87-7a61-442a-b5e3-a624520af8c6) NIC 1:           MAC: 080027EDB7E7, Attachment: NAT, Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps NIC 2:           disabled NIC 3:           disabled NIC 4:           disabled NIC 5:           disabled NIC 6:           disabled NIC 7:           disabled NIC 8:           disabled UART 1:          disabled UART 2:          disabled Audio:           disabled (Driver: Unknown, Controller: Unknown) Clipboard Mode:  Bidirectional VRDP:            disabled Shared folders:  <none> Guest: Statistics update:                   disabled QHo@qhoferrari1k:~$ 上面的 是在我Ferrari 上执行 VBoxManage list vms 命令的输出, 可以看到我的VBox里有两天虚拟机 ,xitmdbmr   Solaris (64 bit) 和dcsvr08 Windows 2008 (64 bit) 下面通过实例来说明如何从命令行启动和关闭VirtualBox 虚拟机的两种常用方式。 第一种:使用 VRDP 方式通过命令行启动虚拟机: QHo@qhoferrari1k:~$ VBoxManage startvm dcsvr08 -type vrdp VirtualBox Command Line Management Interface Version 2.1.4 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. Waiting for the remote session to open... Remote session has been successfully opened. QHo@qhoferrari1k:~$ 第二种 :使用 Headless 启动无前端图形界面方式: QHo@qhoferrari1k:~$ VBoxHeadless -startvm "dcsvr08" VirtualBox Headless Interface 2.1.4 (C) 2008-2009 Sun Microsystems, Inc. All rights reserved. Listening on port 3389 注意:此时如果用ctrl-C 键将导致虚拟机异常退出 3389是VRDP(远程桌面)监听端口。 启用VRDP后,一旦虚拟机启动完毕,我们就可以通过远程桌面/XManage等GUI远程管理工具来登录客户操作系统。 如下图所示,在opensolaris上使用“终端服务客户端”远程登录到刚才启动的虚机dcsvr08

    2009-4-1 06:01 上传 下载附件 (84.64 KB)

    要确认虚拟机是否在运行,可以使用命令VBoxManage list runningvm 来查看。 QHo@qhoferrari1k:~$ VBoxManage list runningvms VirtualBox Command Line Management Interface Version 2.1.4 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. 3ce3fd01-7e17-46b3-8394-be9c1b17ee66 cf34078e-29e3-4f4f-9a11-d77bac6efd04 QHo@qhoferrari1k:~$ 注意: 这里显示的是正在运行的虚拟主机 UUID。 从命令行关闭虚拟机 通过VBoxManage 命令行工具的VBoxManage controlvm   <uuid>|<name> 子命令可以改变虚拟机的运行状态, 其中常用的几个选项是: pause resume reset poweroff savestate acpipowerbutton acpisleepbutton 下面示例使用 poweroff 选项关闭虚拟机 dcsvr08 QHo@qhoferrari1k:~$ VBoxManage controlvm dcsvr08 poweroff VirtualBox Command Line Management Interface Version 2.1.4 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. QHo@qhoferrari1k:~$ VBoxManage list runningvms VirtualBox Command Line Management Interface Version 2.1.4 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. 3ce3fd01-7e17-46b3-8394-be9c1b17ee66 QHo@qhoferrari1k:~$ 在poweroff 后马上list runningvms ,可以看到dscvr08已经被关闭,现在只有一台虚机处于运行状态。 SUN VirtualBox 的命令行启动/关闭方法简介就到此结束。 在了解了如何从命令行启动VirtualBox虚机以后,我们就可以通过启动脚本(UNIX/Linux)或启动任务(Windows)让 VirtualBox的虚机随宿主操作系统的启动而启动,通过编写关闭脚本、批处理、计划任务等,就可以对VirtualBox的虚机的运行进行灵活调 度。 这里仅为抛砖引玉,具体如何灵活运用大家可以自己实践和揣摩!

     

    **************************************************************************************************

    作为一款功能强大的开源虚拟机软件,VirtualBox 不仅提供有图形化的用户界面,而且也包含命令行界面。VirtualBox 的命令行界面程序为 VBoxManage,通过它你可以完成从命令行创建虚拟机、修改虚拟机的选项设置、对虚拟机进行控制等几乎所有的操作。如果在 Headless Server 上,你将发现 VirtualBox 的命令行界面非常有用。

    通过执行 VBoxManage --help 命令,你可以获得 VBoxManage 的完整用法。本文并不打算解释其中的每一个选项,仅给出创建一个虚拟机的必要步骤。如果你感兴趣,不妨亲自去探索 VBoxManage 的其他用法。

    要从命令行创建虚拟机,你可以执行以下三步,我们以 Ubuntu 9.10 为例:

    创建一个新的虚拟机,虚拟机的名称通过 --name 选项指定:

    VBoxManage createvm --name "Ubuntu 9.10" --register

    创建该虚拟机所用的虚拟硬盘,用 --filename 指定虚拟硬盘的名称,--size 选项指定虚拟硬盘的大小,本例为 5 GB:

    VBoxManage createhd --filename "Ubuntu910.vdi" --size 5000 --remember

    修改虚拟机的选项设置:

    VBoxManage modifyvm "Ubuntu 9.10" --memory "512MB" --hda "Ubuntu910.vdi" --dvd /home/linuxtoy/karmic-desktop-i386.iso --acpi on --accelerate3d on --boot1 dvd --nic1 nat

    其中,

    --memory 指定内存的大小--hda 指定所用的虚拟硬盘--dvd 指定所用的 ISO 映像--acpi on 启用 ACPI--accelerate3d on 启用 3D 加速--boot1 引导次序--nic1 网络设置

    如果你愿意,那么现在便可以通过 VBoxManage startvm "Ubuntu 9.10" 来启动虚拟机。

     

    *********************************************************************************************

    通过命令行启动 VirtualBox,可以省去直接启动虚拟机显示图形界面的那部分资源。这种形式非常适用于在服务器上虚拟 n 台机器同时提供服务。使用 Host Interface 网络连接方式,可以让虚拟机的虚拟网卡获取和主机一样的网络地址等信息,从而可以直接对外提供服务。

    下面以 Solaris 10 主机上运行虚拟 Windows XP 为例。

    1. 查看主机上的可用虚拟机: 2. 使用 VRDP 方式通过命令行启动虚拟机: 当然也可以用 Headless 启动无前端图形界面方式:

    $ VBoxHeadless -startvm "winxp"

    3. 查看已经运行虚拟机:

    这一串编号是虚拟机的 UUID。

    4. 在另外一台计算机上远程桌面连接该 XP 虚拟系统,顺利登陆:

    5. 下面是一些配置示例:

    (1) 修改虚拟机配置:

    $ VBoxManage modifyvm "winxp" -memory "256MB" -acpi on -boot1 dvd -nic1 nat

    (2) 创建一个虚拟磁盘:

    $ VBoxManage createhd -filename "WinXP.vdi" -size 10000 –register

    (3) 将虚拟磁盘和虚拟机关联:

    $ VBoxManage modifyvm "winxp" -hda "WinXP.vdi"

    (4) 挂载光盘镜像 ISO:

    $ VBoxManage openmedium dvd /full/path/to/iso.iso

    (5) 将光盘镜像 ISO 和虚拟机关联

    VBoxManage modifyvm "winxp" -dvd /full/path/to/iso.iso

    6. 如果需要创建另外一个虚拟系统,可以通过 createvm 命令,这是一个 SUSE 的例子:

    最新回复(0)