Yiguang

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

原文地址:http://beiersi.iteye.com/blog/1266645

一、安装virtualbox

Java代码  
  1. sudo apt-get install virtualbox virtualbox-guest-additions virtualbox-guest-additions-iso  

   然后重启系统,listmod命令看一下

Java代码  
  1. $ lsmod |grep vbox  
  2. vboxpci                22882  0   
  3. vboxnetadp             13328  0   
  4. vboxnetflt             27211  0   
  5. vboxdrv               251973  3 vboxpci,vboxnetadp,vboxnetflt  

    如果能看见 vboxdrv 等等就说明装好了。然后安装我们继续安装virtualbox扩展包。首先确认一下virtualbox的版本。

Java代码  
  1. $ VBoxManage -v  

   然后就能看见当前的版本。因为没有添加额外的apt源,版本是4.1.2,不是当前最新的4.1.6。然后去https://www.virtualbox.org/wiki/Download_Old_Builds_4_1 下载对应的 extpack包。我下载的文件是Oracle_VM_VirtualBox_Extension_Pack-4.1.2-73507.vbox-extpack 。然后安装extpack。

Java代码  
  1. sudo vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.2-73507.vbox-extpack  

    安装extpack的目的主要是可以支持VRDP。也就是远程桌面协议。我们可以通过远程桌面来操作虚拟机。尤其是在server没有桌面环境的情况下非常有用。

备注: 写道
使用apt-get安装的virtualbox后,系统会创建小写的vboxmange符号链接,所以我后面都用小写的vboxmange命令来操作。

 

二、使用命令行创建并配置虚拟机。

    主要用到的命令vboxmanage ,下面以创建一台windows xp虚拟机。

Java代码  
  1. $ vboxmanage createvm --name "windows-xp" --ostype "WindowsXP" --register  

    这样就创建好一个名为windows-xp的虚拟机,ostype参数可以用 vboxmange list ostypes 察看。

    调整一下虚拟机内存

Java代码  
  1. vboxmanage modifyvm "windows-xp" --memory 512      

 

    接着创建一个虚拟硬盘,文件名为 /home/vms/windows-xp.vdi,扩展名vdi不用敲

Java代码  
  1. vboxmanage createhd --filename /home/vms/windows-xp --size 40000  

    创建ide控制器

Java代码  
  1. vboxmanage storagectl "windows-xp" --name "IDE Controller" --add ide --bootable on  

    挂上虚拟硬盘,顺便把iso文件作为虚拟光驱挂上

Java代码  
  1. vboxmanage storageattach "windows-xp" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/vms/windows-xp.vdi  
  2. vboxmanage storageattach "windows-xp" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/iso/windows-xp-install.iso    

    这样就把硬盘和光驱都装好了,安装盘也放到光驱里了。

 

    配置网卡1为桥接模式

Java代码  
  1. vboxmanage modifyvm "windows-xp" --nic1 bridged  

    绑定桥接到物理网卡

Java代码  
  1. vboxmanage modifyvm "windows-xp" --bridgeadapter1 eth0  

 

    开启vrde

Java代码  
  1. vboxmanage modifyvm "windows-xp" --vrde on  
  2. vboxmanage modifyvm "windows-xp" --vrdeport 5000  ##监听5000端口  
  3. vboxmanage modifyvm "windows-xp" --vrdeaddress 192.168.2.200  ##监听地址  
  4. vboxmanage modifyvm "windows-xp" --vrdeauthtype external ##认证类型  
  5. vboxmanage modifyvm "windows-xp" --vrdeauthlibrary default ##使用默认的认证库,也就是使用server的用户名和密码登陆  

 

   启动虚拟机

Java代码  
  1. $ vboxmanage startvm "windows-xp" --type headless  
  2. ##因为服务器端没有桌面环境,所以只能以无gui模式启动虚拟机  

 

   提示虚拟机启动完成,然后用netstat -atln命令看一下 5000 端口有没有被监听,如果被监听说明成功了,这时候从令一台电脑用远程桌面工具链接到192.168.2.200:5000既可开始一步一步安装系统了。

 

三、修改vrde认证库

vrde模式的认证库是VBoxAuth,使用系统的用户来认证。官方文档还提供了一个VBoxAuthSimple认证库。使用方法如下:

Java代码  
  1. #设定vrdeauthtype为external  
  2. vboxmanage modifyvm "windows-xp" --vrdeauthtype external  
  3. #设定vrdeauthlibrary 为 VBoxAuthSimple  
  4. vboxmanage modifyvm "windows xp" --vrdeauthlibrary VBoxAuthSimple  
  5. #生成加密的密码字串,比如我要设定一个密码为 iteye  
  6. vboxmanage internalcommands passwordhash "iteye"  
  7. ##输出,复制加密的密码字串  
  8. Password hash: b25f0b08d75ff62083d3035c349695ec510f2847a162b8fba804ec2625bf8a6c   
  9.   
  10. ##添加一个VBoxAuthSimple用户,用户名:beiersi 密码:iteye  
  11. vboxmanage setextradata "windows-xp" "VBoxAuthSimple/users/beiersi" b25f0b08d75ff62083d3035c349695ec510f2847a162b8fba804ec2625bf8a6c  

   这样可以设置一些与系统用户无关的用户和密码用于远程桌面登陆。

 

 

四、常用控制命令

Java代码  
  1. vboxmanage controlvm "虚拟机" poweroff  #关机  
  2. vboxmanage controlvm "虚拟机" reset  #重启  
  3. vboxmanage storageattach "虚拟机" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium emptydrive   
  4. ##弹出光盘  
  5. vboxmanage controlvm  "虚拟机" vrde off #关闭vrde  

 

后记,本来是想在freebsd系统上安装virtualbox的,用ports安装,编译了半天才装好virtualbox-ose,但是安装extpack的时候,总是提示安装有错误,看来freebsd对virtualbox支持始终有限,只能含恨作。ubuntn server上用apt-get安装确实方便许多,速度也相当快,用不了多久连安装带配置就做好一台虚拟机了。

 

 

 

复制虚拟机:
在宿主机上安装好一个Ubuntu系统之后,可以使用这个系统复制出更多的Ubuntu系统;

方法一:vboxmanage clonevm 将现有的guest系统克隆(virutalbox4.0以上);
vboxmanage clonevm "Ubuntu" --name "TestServer" --basefolder vms/ --register
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Machine has been successfully cloned as "TestServer"
使用vboxmanage list vms查看到新的guest已经成功;
"Ubuntu" {e37d9a18-88c4-4093-9da4-3e71d1a8711c}
"TestServer" {db1607ae-a1e4-4827-af2f-00a9a3527129}
然后启动即可。

方法二:vboxmanage clonehd; 
首先:
VBoxManage clonehd Ubuntu.vdi TestServer.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: 140753f4-a4dc-4852-a62c-b113b0e636fb
然后:
VBoxManage createvm --name "TestServer" --ostype Ubuntu --register
vboxmanage storagectl "TestServer" --name "IDE Controller" --add ide --controller PIIX4
vboxmanage storageattach "TestServer" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium vms/TestServer.vdi
VBoxManage modifyvm "TestServer" --memory 512 --acpi on --nic1 bridged
然后启动即可。

posted on 2014-04-17 01:42  Yiguang  阅读(548)  评论(0编辑  收藏  举报