linux下安装virtualbox虚拟机命令操作

By Lucas

linux下安装virtualbox虚拟机命令操作

inux下安装virtualbox虚拟机命令操作
无意间看到一篇虚拟机性能介绍的文章,说到开源的virtualbox性很不错,于是最近到官方网站www.virtualbox.org下了当前最新版本VirtualBox-3.1-3.1.2_56127学习研究了一下,开始在windows 7下虚拟安装xp及centeros5系统操作了一下,启动速度比vmware要快得多,操作习惯上也很相似,又在linux下操作了一番,界面操作启动和在windows上差不多,虚拟机上xp启动的速度一般在16-17秒左右,在一台 Intel(R) Xeon(R) CPU 1.86GHz (双CPU,4核每CPU),8G内存,Red Hat 3.4.6-8 linux操作系统下(系统自身比较干净,还没安装过其他应用),同时创建了3台虚拟1CPU,1G内存,xp,X界面下操作几乎同时启动,实体机瞬间当前LOAD高达14,感觉很卡,同时不知道何故,3台XP完全启动后其中总一台5分钟内会挂掉。后来改用命令模式操作,3台起来一点问题都没有,xp上跑一些自动测试脚本,观察了一天,还算稳定,有空计划继续往上加上几台看看。

桌面界面上操作相对比较简单,命令操作有点复杂,但是性能比较高,下面介绍一下命令模式下安装操作过程。

1.rpm包安装

​ rpm -ivh VirtualBox-3.1-3.1.2_56127_rhel4-1.i386.rpm
因为我的系统版本比较老是RHEL3,不过内核升级到了2.6.9,本想找源码包编译安装,直接拿这个在上面rpm包安装试了好像也没报错。

2.添加vboxusers 用户组

​ usermod -a -G vboxusers root
上面virtualbox rpm包安装好后会自动生成vboxusers组,系统上要用虚拟机的用户都可以把这个组添加进去。

3.创建虚拟机

​ VBoxManage createvm –name “winxp” –register
VBoxManage 是virtualbox的虚拟机管理命令,命令模式下操作几乎都跟他有关。这里创建了一个winxp的虚拟机。
创建完后可以用 VBoxManage list vms 命令查看一下当前可用的虚拟机,也可以用VBoxManage showvminfo winxp 命令查看一下当前虚拟机winxp的状态及一些默认配置。 #4.修改虚拟机设置

4.修改虚拟机设置

​ 首先先创建一个磁盘:

VBoxManage createmedium [disk|dvd|floppy] –filename
[–size |–sizebyte ]
[–diffparent |
[–format VDI|VMDK|VHD] (default: VDI)
[–variant Standard,Fixed,Split2G,Stream,ESX]

​ VBoxManage createvdi –filename /home/virtualbox/winxp.vdi –size 5000 –remember
修改虚拟机winxp设置,操作系统,内存,显存,启动顺序,磁盘位置,sata磁盘控制器,电源管理接口,CPU设置,网卡接口,远程管理等

Warning: ‘–vrdp’ is deprecated. Use ‘–vrde’.
Warning: ‘–vrdpport’ is deprecated. Use ‘–vrdeport’.
Warning: ‘–vrdpmulticon’ is deprecated. Use ‘–vrdemulticon’.

VBoxManage modifyvm “winxp” –ostype “WindowsXP” –memory “512” –vram “16” –boot2 disk –boot1 dvd –hda “/home/virtualbox/winxp.vdi” –sata on –acpi on –pae on –hwvirtex on –nic1 hostif –cableconnected1 on –nictype1 “Am79C973” –bridgeadapter1 eth0 –intnet1 brigh1 –macaddress1 auto –vrdp on –vrdpport 4000 –vrdpmulticon on
上面参数具体说明可以用 VBoxManage modifyvm –help 查看了解
执行上面命令,可能会碰到如下错误:
ERROR: Could not find a storage controller named ‘IDE Controller’
在国外网站上查到需要添加一下IDE接口就可以了,执行如下命令:
VBoxManage storagectl winxp –name “IDE Controller” –add ide
再执行上面命令即可。

5.挂载ISO安装盘

​ VBoxManage openmedium dvd /home/virtualbox/winxpsp3.iso

6.系统安装

​ 先将挂载的ISO文件,加到虚拟机的DVD光驱里
VBoxManage modifyvm “winxp” –dvd /home/virtualbox/winxpsp3.iso
可能会报错:
ERROR: No storage device attached to device slot 0 on port 1 of controller ‘IDE Controller’
是IDE 端口没设置好
执行如下操作:
将winxp.vdi 磁盘放在设备0的第0个端口
VBoxManage storageattach winxp –storagectl “IDE Controller” –port 0 –device 0 –type hdd –medium /home/virtualbox/winxp.vdi
将ISO挂载在设备0的第1个端口
VBoxManage storageattach winxp –storagectl “IDE Controller” –port 1 –device 0 –type dvddrive –medium /home/virtualbox/winxpsp3.iso

7.开始启动

​ VBoxManage startvm “winxp” -type vrdp
或者
VBoxHeadless -startvm “winxp” &、

第一种:使用 VRDP 方式通过命令行启动虚拟机: (虚拟机名为:dcsvr08)
QHo@qhoferrari1k:~$ VBoxManage startvm dcsvr08 -type vrdp

第二种 :使用 Headless 启动无前端图形界面方式: QHo@qhoferrari1k:~$ VBoxHeadless -startvm “dcsvr08”

再通windows远程桌面远程连接过去,IP:4000 ,这个端口是之前设置好的,也可以启动的时候加参数,没有加密,直接连远程连接操作。

8.安装客户端增强插件

mkdir /mnt/iso
mount -o loop /usr/share/virtualbox/VBoxGuestAdditions.iso /mnt/iso
进入系统,打开光驱安装即可

9.系统复制克隆

virtualbox 不像vmware的磁盘文件,拷贝过来是不能直接使用,因为virtualbox的磁盘文件里都被记录了独立的uuid,所以复制只能用自带的命令克隆磁盘。
vboxmanager clonevdi $(pwd)/winxp.vdi $(pwd)/winxp2.vdi
注意,路径要写全,因为默认路径会指向/root/.virtualbox/
然后再添加注册个虚拟机:
VBoxManage createvm –name “winxp1” –register
查看一下默认设置:
VBoxManage showvminfo winxp2
修改虚拟机配置:
VBoxManage modifyvm “winxp2” –ostype “WindowsXP” –memory “512” –vram “16” –boot1 disk –boot2 dvd –hda “/home/virtualbox/winxp2.vdi” –sata on –acpi on –pae on –hwvirtex on –nic1 hostif –cableconnected1 on –nictype1 “Am79C973” –bridgeadapter1 eth0 –intnet1 brigh2 –macaddress1 auto –vrdp on –vrdpport 5000 –vrdpmulticon on
启动系统:
VBoxManage startvm “winxp” -type vrdp

10.文件共享(数据空间)

virtulbaox 可以通过映射,直接将实体机文件共享到虚拟机中。
VBoxManage sharedfolder add winxp –name share –hostpath /home/virtualbox/share –transient
界面下操作很简单,数据空间打开实体机文件,虚拟机打开网络映射挂载上来就可以。如果虚拟机是linux,需要加载磁盘格式模块:
modprobe vboxvfs
mount -t vboxsf share_net_filename(实体机共享名) /home/virtualbox/share(虚拟机中文件路径)
这样基本实现了virtualbox在linux命令下安装,virtualbox命令很多,还在继续研究学习中。

3389是VRDP(远程桌面)监听端口 。 启用VRDP后,一旦虚拟机启动完毕,我们就可以通过远程桌面/XManage等GUI远程管理工具来登录客户操作系统 。

要确认虚拟机是否在运行 ,可以使用命令VBoxManage list runningvm 来查看。
QHo@qhoferrari1k:~$ VBoxManage list runningvms

从命令行关闭虚拟机
通过VBoxManage 命令行工具的VBoxManage controlvm | 子命令可以改变虚拟机的运行状态,
其中常用的几个选项是:

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已经被关闭,现在只有一台虚机处于运行状态。

http://fengshihua.cublog.cn

据有资料说:虚拟机上安装的虚拟系统的内存使用量必须要符合VBOX的要求,即不能超过机器物理内存的40%,换言之,要预留足够的内存供真实系统使用,否则会经常异常死机,或无法运行虚拟系统。举例:我机器内存为512M,虚拟XP分配128M内存,显存分配32M即可。如果虚拟XP分配256M内存,则无法正常运行虚拟,总是异常退出。

环境:Ubuntu 15.04 64bit,virtualbox 5.0.16

准备:下载安装好virtualbox,virtualbox-extensions,准备好iso系统文件,如archlinux.iso。

1.建立好vbox的目录。

$ cd
$ cd VirtualBox\ VMs/
$ mkdir arch
$ cd arch

2.新建一个vbox磁盘,–size参数设置大小,单位:M。

$ vboxmanage createmedium disk –filename arch.vdi –size 10000

3.新建vbox虚拟机文件,–ostype设置虚拟机安装的系统格式(windows/ubuntu等),可以使用vboxmanage list ostypes查看vbox支持的系统格式。

$ vboxmanage createvm –name arch –ostype “linux_64” –register

4.新建SATA磁盘控制器并将步骤<2>中新建的磁盘绑定到虚拟机文件。

$ vboxmanage storagectl arch –name “SATA Controller” –add sata –controller IntelAHCI
$ vboxmanage storageattach arch –storagectl “SATA Controller” –port 0 –device 0 –type hdd –medium arch.vdi

5.新建IDE控制器,设置它为dvd,并绑定ios文件到该dvd,注意–medium为你的iso路径。

$ vboxmanage storagectl arch –name “IDE Controller” –add ide
$ vboxmanage storageattach arch –storagectl “IDE Controller” –port 0 –device 0 –type dvddrive –medium /path/to/arch.iso

5.查看自己的网卡,并设置vbox网卡为桥接。

$ ifconfig

输出:

wlp18s0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0

我的网卡是wlp18s0,所以将vbox nic1网卡绑定到它。

$ vboxmanage modifyvm arch –nic1 bridged –bridgeadapter1 wlp18s0

6.设置io控制,启动项,内存等。

$ vboxmanage modifyvm arch –ioapic on
$ vboxmanage modifyvm arch –boot1 dvd –boot2 disk –boot3 none –boot4 none
$ vboxmanage modifyvm arch –memory 1024 –vram 128

7.设置rdpe远程桌面。

$ vboxmanage modifyvm arch –vrdeport 3389 –vrdeaddress 0.0.0.0

8.后台开启vbox。

$ vboxmanage startvm arch –type=headless

9.现在就可以用rdesktop联接后台了

$ rdesktop localhost:3389

rdesktop xxx.xxx.xx.xx:3389

10.安装完成后退出dvd上的iso。

$ vboxmanage storageattach arch –storagectl “IDE Controller” –port 0 –device 0 –type dvddrive –medium none

11.查看正在运行的vbox系统,关机。

$ vboxmanage list runningvms
$ vboxmanage controlvm arch poweroff

最后,其余功能可以查看帮助。

$ vboxmanage –help

webvbox

wget ‘http://sourceforge.net/projects/phpvirtualbox/files/latest/download'