Vboxmanage 实例

modifyvm 非运行状态时

controlvm 虚拟机运行时用

virtualbox 截图的另一种思路:向每个虚拟机发送printscreen键盘.用双向粘贴技术.但存一个问题比如

一个机器截图还没有把图取出,另一个机器又按下printscreen键盘.所以延时一定要处理好.

启动虚拟机:

vboxmanage startvm x-0146

创建快照:

vboxmanage snapshot x-0146 take 001

为x-0146创建名为001的快照

vboxmanage snapshot x-0146 take 002

为x-0146创建名为002的快照

vboxmanage snapshot x-0146 restore 001

恢愎到快照001

创建连接克隆:

创建连接克隆的必要条件是有快照

vboxmanage clonevm x-0146 --snapshot 001 --options link --name x-0147 --register

将x-0146虚拟机的001的快照连接克隆为名为x-0147的虚拟机,并注册.

用法:

vboxmanage modifyvm x-0146 --nic3 bridged

以桥接的方式为虚拟机X-0146分配(VBOX图形界面里的设置的网络里的)网卡3

vboxmanage modifyvm x-0146 --bridgeadapter3 "Realtek PCIe GBE Family Controller"

将主系统里名为"Realtek PCIe GBE Family Controller"的网卡绑定给桥接网卡3{可以就一块是桥接,那么为什么是3呢?

这个是因为上条语句(vboxmanage modifyvm x-0146 --nic3 bridged)网卡数字是相同的}

在述设置的改变运行后仍然生效.

只在运行时起作的:

vboxmanage controlvm x-0146 nic3 bridged "Realtek PCIe GBE Family Controller"

使用VBoxManage时要记住两件事:第一,VBoxManage必须和一个具体和“子命令”一起使用,比如“list”或“createvm“或“startvm”。

第二,大多数子命令需要在其后指定特定的虚拟机。有两种方式:

指定虚拟机的名称,和其在GUI中显示的一样。注意,如果名称包含空格,必须将全部名称包含在双引号中(和命令行参数包含空格时的要求一样)。

windows下我们也能够让VirtualBox使用命令行,使其在后台运行

VBoxManage startvm <uuid>|<name> --type headless

比如我们的虚拟机名字叫:ubuntu

VBoxManage startvm ubuntu --type headless

这样就可以在后台启动ubuntu了

其余我们常用的virtualBox的命令是: 1.查看可用的虚拟机:

VBoxManage list vms

查看可用虚拟机的详细信息:

VBoxManage list vms -l

2.启动指定虚拟机

VBoxManage startvm <uuid>|<name> [--type gui|sdl|headless]

type参数说明:
gui: 默认窗口
sdl: 简单窗口
headless: 无窗口

3.查看正在运行的虚拟机:

VBoxManage list runningvms

4.操作已经运行的虚拟机:

VBoxManage controlvm | pause|resume|reset|poweroff|savestate

暂停|恢复|重启|关机|休眠

5.修改配置(memory单位为MB):

VBoxManage modifyvm <uuid>|<name> --memory 256 --acpi on --boot1 disk -nic1 bridged

6.创建磁盘(–size 取值单位MB –sizebyte 取值单位字节)

VBoxManage createhd --filename RedHat9.vdi --size 8000

7.动态挂卸USB

vboxmanage controlvm WinXP3 usbattach 3bd984a4-3cf3-4a58-94fa-171cb0a1c3be
vboxmanage controlvm WinXP3 usbdetach 3bd984a4-3cf3-4a58-94fa-171cb0a1c3be

8.修改winxp3虚拟机的USB过虑器是否为活的

vboxmanage usbfilter modify 0 --target WinXP3 --active no

vboxmanage usbfilter modify 1 --target WinXP3 --active yes

我们可以使用VBoxManage –help查询

9.截图:

vboxmanage controlvm x-0151 screenshot k:\151.png

10.给虚拟机X分配1G的内存

vboxmanage modifyvm x --memory 1024

11.给虚拟机X分配3个CPU并且峰值限在80%

vboxmanage modifyvm x --cpus 3 --cpuexecutioncap 80

查询资料还可以查询https://www.virtualbox.org/manual/ch08.html

下面摘自https://www.cnblogs.com/pbss/articles/1987361.html以便方便查询

VBoxManage [-v|-version]         显示virtualbox的版本号
VBoxManage -nologo               隐藏logo
VBoxManage -convertSettings      允许自动转换设置文件
VBoxManage -convertSettingsBackup  允许自动转换设置文件,并在转换前作备份
VBoxManage -convertSettingsIgnore  允许自动转换设置文件,但是不保存结果

VBoxManage list vms|runningvms   显示列表虚拟机|正在运行的虚拟机
               |ostypes|hostdvds virtualbox支持的系统类型|宿主机的光盘驱动器
               |hostfloppies     宿主机的软盘驱动器
               |hostifs|hostinfo 宿主机的网络接口|宿主机的信息
               |hdds|dvds        已注册的虚拟硬盘|已注册的虚拟光盘
               |floppies|usbhost 已注册的虚拟软盘|宿主机的USB设备
               |usbfilters       USB筛选器
               |systemproperties 虚拟机的基本信息

VBoxManage showvminfo <uuid>|<name>     显示指定虚拟机的信息
                     [-details]         显示详细信息
                     [-statistics]      显示统计信息
                     [-machinereadable] 以清晰的格式显示虚拟机信息

VBoxManage registervm  <filename>       将指定文件所在的虚拟机添加到列表

VBoxManage unregistervm <uuid>|<name>   从虚拟机列表清除指定的虚拟机
                        [-delete]       从虚拟机列表删除指定的虚拟机

VBoxManage createvm     -name <name>    创建指定名称的虚拟机
                        [-register]      将创建的虚拟机添加到列表
                        [-basefolder <path> 指定虚拟机的基础目录
                        [-settingsfile <path>] 指定虚拟机配置文件的基础目录
                        [-uuid <uuid>]  创建指定uuid的虚拟机

VBoxManage modifyvm     <uuid|name>       编辑指定的虚拟机的配置
                        [-name <name>]    修改虚拟机的名称
                        [-ostype <ostype>]修改虚拟机的操作系统类型
                        [-memory <memorysize>]   修改虚拟机的内存大小
                        [-vram <vramsize>]       修改虚拟机的显存大小
                        [-acpi on|off]           启动或禁止acpi电源管理接口
                        [-ioapic on|off]         启动或禁止I/O APIC电源管理接口
                        [-pae on|off]            启动或禁止CPU的PAE支持,PAE是
Physical Address Extension : 物理地址扩展
                        [-hwvirtex on|off|default]启动或禁止CPU的硬件虚拟化支持
                        [-nestedpaging on|off]    开启或关闭CPU的嵌套页面列表支持
                       
[-monitorcount <number>] 
设置显示器数目,VRDP多用户模式时                        [-bioslogofadein on|off] 
开启或关闭bioslogo渐显效果
                        [-bioslogofadeout on|off] 开启或关闭bioslogo渐隐效果
                        [-bioslogodisplaytime <msec>]设置bioslogo显示时间(以毫秒为单位)
                        [-bioslogoimagepath <imagepath>]设置bioslogo图像路径,用于自定义bioslogo
                        [-biosbootmenu disabled| 设置是否显示bios启动菜单 关闭
                                       menuonly| 只菜单
                                       messageandmenu] 信息和菜单
                        [-biossystemtimeoffset <msec>] 设置bios系统时间补偿(以毫秒为单位)
                        [-biospxedebug on|off] 打开或关闭biospxe调试
                        [-boot<1-4> none|floppy|dvd|disk|net&gt;] 设置启动顺序
                       
[-hd<a|b|d> none|<uuid>|<filename>]
为虚拟机添加三个IDE设备之一(第2个主盘被vm保留作为光驱,不能占用)在三个IDE中,你可以指定(硬盘)的vdi文件名或者它的UUID
                        [-idecontroller PIIX3|PIIX4] 设置IDE控制器的类型
                        [-sata on|off] 开启或关闭SATA硬盘控制器
                        [-sataportcount <1-30>] 设置虚拟机最多支持的SATA控制器数目
                        [-sataport<1-30> none| 没有硬盘连接到SATA控制器
                                       <uuid>| 指定uuid的硬盘连接到SATA控制器
                                       <filename>] 指定文件名的硬盘连接到SATA控制器
                        [-sataideemulation<1-4> <1-30>] 指定一个SATA设备工作在IDE兼容模式,IDE设备编号是1-4,SATA设备编号是1-30
                        [-dvd none| 不连接DVD光驱
                            <uuid>| 指定UUID的DVD光驱连接
                        <filename>| 将指定的光盘映像文件挂接到DVD光驱
                      host:<drive>] 将宿主机的DVD光驱挂接到虚拟机的DVD光驱
                        [-dvdpassthrough on|off]打开|关闭虚拟机里光盘的刻录功能
                        [-floppy disabled| 不连接软驱
                                    empty| 连接软驱但不插入软盘
                                   <uuid>| 指定UUID的软驱连接
                               <filename>| 将指定的软盘映像文件挂接到软驱驱
                             host:<drive>] 将宿主机的软驱驱挂接到虚拟机的软驱
                        [-nic<1-N> none| 虚拟机不添加网卡
                                   null| 虚拟机有网卡但不连接
                                    nat| 网络连接使用NAT模式
                                 hostif| 网络连接使用桥接模式
                                 intnet] 网络连接使用内部网络模式
                        [-nictype<1-N> Am79C970A| 虚拟机连接AMD PCNet PCI II网卡
                                        Am79C973| 虚拟机连接AMD PCNet FAST III网卡(默认)
                                         82540EM| 虚拟机连接Intel PRO/1000 MT Desktop网卡
                                         82543GC] 虚拟机连接Intel PRO/1000 T Server网卡
                        [-cableconnected<1-N> on|off]插入或拔出网线
                        [-nictrace<1-N> on|off] 开启或关闭网络追踪
                        [-nictracefile<1-N> <filename>] 将网络流量追踪数据保存到文件
                        [-nicspeed<1-N> <kbps>] 设置网络连接的速度
                        [-hostifdev<1-N> none| 不连接到主机网络接口
                                 <devicename>] 桥接模式下连接到指定的主机接口
                        [-intnet<1-N> <network name>] 内网模式下为虚拟机指定内部网络名称
                        [-natnet<1-N> <network>| 配置NAT网络接口的地址
                                        default] 默认NAT网络接口的地址是10.0.x.0/24
                        [-macaddress<1-N> auto| 自动生成虚拟网卡的MAC地址
                                         <mac>] 指定虚拟网卡的MAC地址
                        [-uart<1-N> off| 不启用虚拟串口
                        <I/O base> <IRQ>]启用虚拟串口,并设置虚拟串口的I/O参数和IRQ参数
                        [-uartmode<1-N> disconnected| 启用虚拟串口,但不连接到宿主机的串口
                                       server <pipe>| 在宿主机创建PIPE通道,并将虚拟机串口连接到这个通道
                                       client <pipe>| 不创建PIPE通道,而是将虚拟机串口连接到已存在的通道
                                       <devicename>] 将虚拟机串口连接到宿主机的串口
                        [-gueststatisticsinterval <seconds>] 配置虚拟机静态时间间隔
                        [-audio none| 虚拟机不连接声卡
                                null| 将虚拟机的声卡连接到空的声音设备
                              dsound] 将虚拟机的声卡连接到宿主机的声卡
                        [-audiocontroller ac97| 将虚拟机声卡虚拟为ICH AC97声卡
                                          sb16] 将虚拟机声卡虚拟为soundblaster 16声卡
                        [-clipboard disabled| 不共享剪贴板
                                 hosttoguest| 将宿主机的剪贴板共享给虚拟机
                                 guesttohost| 将虚拟机的剪贴板共享给宿主机
                               bidirectional] 宿主机和虚拟机共使用一个剪贴板
                        [-vrdp on|off] 开启|关闭virtualbox内置的VRDP服务器
                        [-vrdpport default| 使用默认的vrdp端口3389
                                    <port>] 指定vrdp端口
                        [-vrdpaddress <host>] 指定VRDP主机地址
                        [-vrdpauthtype null| 不用授权,任何客户机都可以连接到VRDP服务器
                                   external| 只有宿主机的用户才可以连接到VRDP服务器
                                      guest] 只有虚拟机的用户才可以连接到VRDP服务器
                        [-vrdpmulticon on|off] 打开|关闭VRDP多用户连接模式
                        [-vrdpreusecon on|off] 打开|关闭VRDP断线重连
                        [-usb on|off] 打开|关闭虚拟USB控制器
                        [-usbehci on|off] 打开|关闭虚拟USB2.0控制器
                        [-snapshotfolder default| 将系统快照保存到默认文件夹
                                          <path>] 将系统快照保存到指定文件夹

VBoxManage startvm      <uuid>|<name> 开启指定UUID|名称的虚拟机
                        [-type gui|vrdp] 设置虚拟机标准显示设备GUI界面|VRDP

VBoxManage controlvm    <uuid>|<name> 改变正在运行的虚拟机的状态
                         pause| 暂停,这时虚拟机窗口显示灰色
                        resume| 恢复暂停的虚拟机
                         reset| 复位
                      poweroff| 强行关闭
               acpipowerbutton| 关机
               acpisleepbutton| 使虚拟机处于睡眠状态
                     savestate| 保存状态然后关闭,相当于休眠
           keyboardputscancode <hex> [<hex> ...] 键盘扫描码设置
               setlinkstate<1-4> on|off 连接|断开网络连接
               usbattach <uuid>|<address> 连接到指定UUDI|地址的USB设备 
               usbdetach <uuid>|<address> 断开指定UUDI|地址的USB设备  
               dvdattach none| 不连接虚拟DVD光驱
                       <uuid>| 连接到指定UUID的DVD光驱
                   <filename>| 连接到指定名称的DVD映像文件
                  host:<drive> 连接到宿主机的DVD光驱
               floppyattach none| 不连接虚拟软驱
                          <uuid>| 连接到指定UUID的虚拟软驱
                      <filename>| 连接到指定名称的软盘映像文件
                     host:<drive> 连接到宿主机的软驱

setvideomodehint <xres> 设置虚拟机的屏幕分辨率 水平像素
                                <yres> 垂直像素
                                 <bpp> 颜色深度
                             [display] 刷新频率
               setcredentials <username> 指定VRDP自动连接参数 用户名
                              <password> 密码
                                <domain> 域
             [-allowlocallogon <yes|no>] 允许|禁止本地登陆

VBoxManage discardstate     <uuid>|<name> 丢弃指定UUID|名称的虚拟机的保存状态

VBoxManage adoptstate       <uuid>|<name> <state_file> 将虚拟机从指定的保存状态中恢复

VBoxManage snapshot         <uuid>|<name> 为指定的虚拟机拍快照
                            take <name> 为快照取名
                        [-desc <desc>]| 给快照添加描述
                        discard <uuid>|<name> | 丢弃指定的快照
                        discardcurrent -state| 恢复到最近的快照
                                        -all | 恢复到倒数第二个快照
                        edit <uuid>|<name>| 编辑指定的快照
                                   -current 编辑当前快照
                          [-newname <name>] 修改快照名称
                          [-newdesc <desc>] 修改快照描述
                        showvminfo <uuid>|<name> 显示快照的虚拟机信息

VBoxManage registerimage    disk|dvd|floppy <filename> 注册硬盘、光盘、软盘映像文件
                            [-type normal| 注册为普通类型(可创建快照,可读写)
                                immutable| 注册为只读类型(相当于加了硬盘卡)
                             writethrough] 注册为可写类型(这种类型不能创建快照)
                               (disk only) (注册类型选项只适用于硬盘)

VBoxManage unregisterimage  disk| 从虚拟介质管理器删除指定的硬盘
                             dvd| 从虚拟介质管理器删除指定的DVD光盘 
                           floppy 从虚拟介质管理器删除指定的软盘
                          <uuid>| 删除时指定UUID
                       <filename> 删除时指定映像文件

VBoxManage showvdiinfo      <uuid>|<filename> 显示指定UUID|名称虚拟硬盘的信息

VBoxManage createvdi        -filename <filename> 创建指定名称的虚拟硬盘
                            -size <megabytes> 指定虚拟硬盘的大小(以兆为单位)
                            [-static] 创建固定大小的虚拟硬盘
                            [-comment <comment>] 添加一段解释性文字
                            [-register] 注册新创建的虚拟硬盘
                            [-type normal| 注册类型 普通(可以创建快照)
                             writethrough] 注册类型 可写(不能创建快照)
                          (default: normal) 默认是普通类型
VBoxManage modifyvdi        <uuid>|<filename> compact 压缩指定的虚拟硬盘

VBoxManage clonevdi         <uuid>|<filename> <outputfile> 克隆指定的VDI虚拟硬盘

VBoxManage convertdd        [-static] <filename> <outputfile> 将raw硬盘转换成vdi虚拟硬盘
VBoxManage
convertdd        [-static] stdin <outputfile> <bytes>
将标准输入参数指定的设备转换成vdi虚拟硬盘,比如:dd if=/dev/sda1 | VBoxManage convertdd stdin
/media/disk/C.vdi

Dos批处理片断LOOP

@echo off
set /a v=0
:loop
set /a v+=1
echo %v%
dir %v%
if %v% neq 2 goto loop
pause

批量linkclone

@echo off
set /a v=0
:loop
set /a v+=1
vboxmanage clonevm x0 --snapshot 01 --options link --name x-08%v% --register
if %v% neq 7 goto loop
pause

我的常用批处理(链接克隆)

echo off
set i=0
:LOOP
set /a i+=1
vboxmanage clonevm x0 --snapshot 01 --options link --name x-0%1%i% --register
if %i% equ 1 goto BG1
if %i% equ 2 goto BG2
if %i% equ 3 goto BG3
if %i% equ 4 goto BG4
if %i% equ 5 goto BG5
if %i% equ 6 goto BG6
if %i% equ 7 goto BG7
goto ISLOOP
:BG1
vboxmanage modifyvm x-0%1%i% --nic1 bridged
vboxmanage modifyvm x-0%1%i% --bridgeadapter1 "Realtek PCIe GBE Family Controller"
goto ISLOOP
:BG2
vboxmanage modifyvm x-0%1%i% --nic1 bridged
vboxmanage modifyvm x-0%1%i% --bridgeadapter1 "Realtek PCIe GBE Family Controller #2"
goto ISLOOP
:BG3
vboxmanage modifyvm x-0%1%i% --nic1 bridged
vboxmanage modifyvm x-0%1%i% --bridgeadapter1 "Intel(R) PRO/1000 MT Dual Port Network Connection"
goto ISLOOP
:BG4
vboxmanage modifyvm x-0%1%i% --nic1 bridged
vboxmanage modifyvm x-0%1%i% --bridgeadapter1 "Intel(R) PRO/1000 MT Dual Port Network Connection #2"
goto ISLOOP
:BG5
vboxmanage modifyvm x-0%1%i% --nic1 bridged
vboxmanage modifyvm x-0%1%i% --bridgeadapter1 "Intel(R) 82580 Gigabit Network Connection"
goto ISLOOP
:BG6
vboxmanage modifyvm x-0%1%i% --nic1 bridged
vboxmanage modifyvm x-0%1%i% --bridgeadapter1 "Intel(R) 82580 Gigabit Network Connection #2"
goto ISLOOP
:BG7
vboxmanage modifyvm x-0%1%i% --nic1 bridged
vboxmanage modifyvm x-0%1%i% --bridgeadapter1 "Intel(R) 82580 Gigabit Network Connection #3"
goto ISLOOP
:ISLOOP
if %i% lss 7 goto LOOP
pause
echo on

原文地址:https://www.cnblogs.com/mmzoe/p/8811285.html

时间: 2024-10-25 05:02:28

Vboxmanage 实例的相关文章

如果vagrant up启动后,所有东西都没有了,可能是启动了一个新的实例,

解决: 先查看所有实例,并记写每个实例的id,方法如下: 在windows的cmd.exe命令行,进入VirtualBox安装目录,运行命令: VBoxManage list vms 得到如:"src_default_1403300208068_90865" {db83545f-61d2-4621-8edc-081c3b8a7530} 大括号中的字符串为id,找到有效实例的id,替换VagrantFile所在目录:.vagrant/....../id的值即可 http://blog.s

solr分布式索引【实战一、分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例】

1 private static Properties prop = new Properties(); 2 3 private static String confFilePath = "conf" + File.separator + "config.properties";// 配置文件目录 4 static { 5 // 加载properties 6 InputStream is = null; 7 InputStreamReader isr = null;

Spring事务管理(详解+实例)

写这篇博客之前我首先读了<Spring in action>,之后在网上看了一些关于Spring事务管理的文章,感觉都没有讲全,这里就将书上的和网上关于事务的知识总结一下,参考的文章如下: Spring事务机制详解 Spring事务配置的五种方式 Spring中的事务管理实例详解 1 初步理解 理解事务之前,先讲一个你日常生活中最常干的事:取钱. 比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱:然后ATM出1000元钱.这两个步骤必须是要么都执行要么都

【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例

1.系统版本信息 System:Windows旗舰版 Service Pack1 Kettle版本:6.1.0.1-196 JDK版本:1.8.0_72 2.连接数据库 本次实例连接数据库时使用全局变量. 2.1 创建新转换:spoon启动后,点击Ctrl+N创建新转换 2.2 在新转换界面中,右键点击DB连接,系统会弹出[数据库连接]界面. windows系统环境下,可用${}获取变量的内容. 说明: 连接名称:配置数据源使用名称.(必填) 主机名称:数据库主机IP地址,此处演示使用本地IP(

ORACLE11g R2【RAC+ASM→单实例FS】

ORACLE11g R2[RAC+ASM→单实例FS] 11g R2 RAC+ASMà单实例FS的DG,建议禁用OMF. 本演示案例所用环境:   primary standby OS Hostname node1,node2 std OS Version RHEL6.5 RHEL6.5 DB Version 11.2.0.4 11.2.0.4 db_name stephen stephen db_unique_name stephen standby service_names stephen

Laravel 5.4 中的异常处理器和HTTP异常处理实例教程

错误和异常是处理程序开发中不可回避的议题,在本地开发中我们往往希望能捕获程序抛出的异常并将其显示打印出来,以便直观的知道程序在哪里出了问题并予以解决,而在线上环境我们不希望将程序错误或异常显示在浏览器中(出于安全考虑),这个时候我们仍然要捕获异常,只不过不是显示到浏览器中,而是记录到日志中,方便日后排查问题. 百牛信息技术bainiu.ltd整理发布于博客园 Laravel当然支持PHP原生的错误和异常处理,但是在此基础上进行了一些封装处理,从而更方便在不同开发环境切换以及对错误和异常的处理.

Hibernate简述及入门实例

一.Hibernate简述 总的概括,Hibernate是一个ORM的轻量级持久层框架,解决了对象和关系数据库中表的不匹配问题(阻抗不匹配)以及拥有开发代码不用去继承hibernate类或接口的优势(无侵入性).hibernate框架实现使得开发人员可以避免反复地编写javajdbc部分代码,应用面向对象的思维操作关系型数据库. 二.使用myeclipse创建hibernate实例两种方法(以hibernate3.5.2及mysql为例) a)手动编写hibernate.cfg.xml及*.hb

linux下mysql多实例安装(转)

转自:http://www.cnblogs.com/xuchenliang/p/6843990.html 1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务:: 1.2.MySQL多实例的特点有以下几点 1:有效利用服务器资源,当单个服务器资源有剩余时,可以充分利用剩余的资源提供更多的服务. 2:节约服务器资源 3:资源互相

微信小程序实例教程(一)

序言 开始开发应用号之前,先看看官方公布的「小程序」教程吧!(以下内容来自微信官方公布的「小程序」开发指南) 本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果.这个小程序的首页将会显示欢迎语以及当前用户的微信头像,点击头像,可以在新开的页面中查看当前小程序的启动日志. 1. 获取微信小程序的 AppID 首先,我们需要拥有一个帐号,如果你能看到该文档,我们应当已经邀请并为你创建好一个帐号.注意不可直接使用服务号或订阅号的 AppID. 利用提供的帐号,登录https