如何使用VirtualBox虚拟机
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用VirtualBox虚拟机相关的知识,希望对你有一定的参考价值。
1. 如何将别人做好的镜像拿到自己的虚拟机上使用.
将已安装好的虚拟系统镜像 XXX.vdi文件copy到本地. 打开Virtual Box管理器.
选择"新建"
->Next
->输入虚拟电脑的名称,该名称将会在Virtual Box管理器的左边显示. 选择好操作系统的类型和版本.
->给虚拟电脑分配内存.默认是512M,可以修改为1024M.
->虚拟硬盘,选择使用现有的虚拟硬盘,打开对话框,找到copy到本地的XXX.vdi文件.
完成.
2. 如何备份虚拟机?
安装完一个系统,还有增强功能后,可以给系统做一个干净的备份,以后如果需要一个干净的系统,就可以直接使用备份了.
使用"导出虚拟电脑"功能给系统做备份. 选择好镜像存放的目录,点击“下一步”即可完成.
3. 如何导入备份?
可以将上一步导出的备份, 使用"导入虚拟电脑", 在Virtual Box管理器中增加一个虚拟系统.
选择“导入虚拟电脑”,选择镜像存放的目录,下一步。
->注意勾选选择最下方的选项"重新初始化所有网卡的MAC地址(R)", 这样新生成的虚拟机就会自动从DHCP获取新的IP与其他导入的虚拟机不会有冲突。并且将”网络控制器”选项取消勾选, 便于启动.
修改虚拟硬盘的配置路径: 从C:\\user 目录改为E:\\VirtualOS\\Server2003_32_Backup_Copy.
点击导入.
->需要等待较长的一段时间才能完成. 完成后,就会在下方产生一个新系统,如有重复,它会自动加 “_N” 来区分。
有2个问题需要注意:
(1). 如果新导入的MAC地址与以前系统的MAC地址冲突, 则该系统将没法上网.可以采取如下操作.
选中导入后的虚拟机, 右击鼠标键选择“设置”菜单. 选择"网络"选项, 点击MAC地址行右边的刷新图表,获取新的 MAC地址,点击确定.
(2). 如果不更改虚拟硬盘的配置路径: 从C:\\user 目录改为E:\\VirtualOS\\Server2003_32_Backup_Copy. 则新导入的该系统对应的"HardDisk"文件生成在了"C:\\Users\\jlzhang\\VirtualBox VMs\\Server2003_32_1" config文件所在的文件夹下了. 它是一个"vmdk"文件. 该文件太大了, 把C盘空间都占用满了.
4. 如何给虚拟机分配一个独立的IP?
有时虚拟机系统需要一个独立的IP与外部的宿主机通信, 这时虚拟机需要获取一个独立的IP.
使用"桥接模式"与外界网络连接. 在Virtual Box管理器左列显示的系统上点右键
-> 选择"设置"
->点击"网络"选项
->在"网卡1"选项页, 连接方式选择"桥接网卡".
确认.
5. 控制菜单中, "正常关机"和"退出"的区别
"退出"是指强制退出. 一般情况下, 虚拟机要正常关机。如果总是强制退出,虚拟硬盘也会发生错误,导致文件损坏。
6. 安装增强功能
VirtualBox Guset Additions的作用包含以下几点:
实现客户机和主机间的鼠标平滑移动
与主机实现文件共享
于主机共享剪贴板的内容,也就是说直接可以在主机、客户机之间复制、粘贴
使用音效系统,要不然没法用虚拟机听音乐了
与主机实现时间同步
自动登录windows
具体的操作是,启动客户机系统,在drives中选择"安装增强功能(Install Guset Additions)"。在弹出的对话框中,基本上一路“下一步”就OK了。安装结束后,需要重启客户机系统后,可以看到右下角有个四方形的图标,表示系统运行了“Oracle VM VirtualBox Guest Additions”。此时,鼠标可以在当前系统和客户机系统之前随意移动,而在装VirtualBox Guset Additions之前,要从客户机系统回到当前系统是需要按组合键“Ctrl+Alt+Delete”的。而且系统根据当前VBox窗口的大小自动调整像素,也可以全屏显示。
该功能的缺陷之处在于,安装Guest Additions后,客户机基本就绑定到特定的VBox环境中了,不利了虚拟机的克隆和迁移。
7. VirtualBox网络配置
VBox中,可以为同一个虚拟机添加四个网卡,对不同的网卡进行不同模式的设置。比如说,添加两块网卡一块的连接方式为NAT,另一块为Host-only Adapter,这样客户机既可以安全上网,也可以和主机通信。
NAT模式
VBox默认是NAT(网络地址转换)方式,Guest OS(客户机系统)装好后(联网方式设为DHCP),就可以直接连网。 使用NAT方式,客户机访问网络由主机提供(其实是通过主机的NAT服务器,这是VirtualBox内置的)。在这种方式下,客户机的网络地址外网不可见,因此外网访问不了客户机,而且主机也无法通过网络访问客户机,要想将主机上的一些资料上传到客户机,是做不来的。
测试时,主机IP是10.8.5.24的内网地址,主机下查看VBox的IP,结果如下:
从客户机内部看, 客户机本身的IP地址是10.0.2.15的内网地址,网关是10.0.2.2,使用route命令,查看结果如下:
主机能ping通169.254.134.226(从主机下查看的客户机IP),但不能ping通客户机10.0.2.15(从客户机内部查看的客户机本身的IP地址);客户机ping不通169.254.134.226,但客户机能ping通主机(主机IP是10.8.5.24),并且能正常上网。
桥接模式(Bridged Adapter)
将客户机的网络连接改为桥接方式,然后到虚拟系统中,将IP与主机IP设置在同一网段。此时,客户机相当于网络上的一台独立主机。主机、虚拟机、网络上的其他工作站,可以直接互相访问。如果只允许客户机与主机通信,只须将主机网卡设置双IP,一个用于上网,一个用于与虚拟机通信,而无须修改客户机的网络连接方式。这跟将两台主机设置成同一网段,然后用一根网线相连,就可以通信是一样的。
内网模式(Internal)
顾名思义就是内部网络模式,虚拟机与外网完全断开,只实现虚拟机于虚拟机之间的内部网络模式。在主机上同时开两台客户机,IP分别设为192.168.1.1和192.168.1.2(掩码都为255.255.255.0,网关不设),可以正常通信。
主机模式(Host-only Adapter)
这种模式,据说VBox在主机中模拟出一张专供虚拟机使用的网卡,所有虚拟机都是连接到该网卡上的(主机上的VirtualBox Host-Only Network网卡),可以通过这张网卡来实现上网及其他功能。
如果要让VBox的虚拟机可以访问外网,需将主机系统的本地连接设为与VirtualBox Host-Only Network共享。如图所示进行设置后,VirtualBox Host-Only Network的IP地址被自动设置,测试时IP为192.168.137.1,子网掩码为255.255.255.0。
在客户机中将IP设为同一网段的地址,并将DNS地址设为主机所用的DNS地址。理论上,这时客户机与主机、网络上的其他工作站都可以连接的,但实际测试中,(重新激活的网卡,又重启了客户机),客户机只能与主机通信,而且只是在192.168.137.0这个网段内进行通信。
8. 如何实现VirtualBox虚拟机与windows主机共享?
参考: http://www.jb51.net/article/97271.htm
9. 如何设置虚拟机与主机之间能够相互复制粘贴?
在VirtualBox中选定虚拟镜像后,点击”Settings“按钮,在Generla->Advanced下,Shared Clipboard默认为Disabled,将其修改为Bidirectional就可以了。
参考技术A 你需要一个系统镜像 点击新建,按教程新建一个虚拟电脑 打开你的虚拟电脑,由于没有加载镜像,它会提示你选择一个镜像或物理设备,你选一个载入就行 其他操作和物理机相同转载:使用命令行启动VirtualBox虚拟机
使用命令行启动VirtualBox虚拟机
装上VirtualBox就琢磨着如何让它开机自动启动,又或者能够通过命令行的形式直接启动指定的虚拟机。
看了下VirtualBox的官方文档,发现有一个命令可以满足我的需求,即VBoxManage。
VBoxManage提供了一系列的虚拟机管理命令,包括创建/删除/启动/修改等等,这里不一一列举。有点像Xen的XM命令。
不过这里只关心启动虚拟机的命令:VBoxManage startvm。VBoxManage的完整命令列表可以参考这里。
VBoxManage startvm子命令可以开启一台状态为关闭或者保存的虚拟机。该命令的语法为:
VBoxManage startvm uuid>|name... [--type gui|sdl|headless]
可以通过虚拟机的uuid或者name来指定某台虚拟机,可以通过另外一个子命令list列出系统已有的虚拟机:
$ VBoxManage list vms
"XP" {8842d793-228c-458e-a880-8051193fd2db}
我系统上已经安装了一台名为XP的虚拟机,后面括号内部的是它的UUID。
VBoxManage startvm子命令可以通过–type参数指定启动的方式,其中gui就是图形化界面,这和我们平时启动的方式一样。
sdl也是图形化界面,但是少掉了部分功能,比如没有菜单等,一般用于调试过程。最后headless是在后台运行,并且默认开启vrdp服务,可以通过远程桌面工具来访问。
关于这三种启动方式的介绍可以看手册中的这一篇。所以一般我们使用gui或者headless类型启动。
使用gui类型启动虚拟机:
$ VBoxManage startvm XP --type gui
执行结束后,就会启动指定的虚拟机,几乎和平时没什么区别。
使用headless类型启动虚拟机:
$ VBoxManage startvm "XP" --type headless
或者
$ VBoxHeadless --startvm "XP"
结果返回:
$ rdesktop -a 16 -N -g 1280x800 127.0.0.1:3389
Autoselected keyboard map en-us
ERROR: connect: Connection refused
翻了下手册,结果发现要获得VRDP的支持还需要安装额外的扩展包,详细说明可以参考这里。
从VirtualBox的下载页面选择相应的版本下载扩展包。下载完成后,双击即可以完成安装,或者在菜单中File-Preference-Extensions可以安装和查看已安装的扩展包。
安装好再次执行上面的远程命令,这下可以看见虚拟机界面了吧。
可以通过ctrl+alt+enter切换全屏。不过我这里用rdesktop全屏后,屏幕就黑了,只有点过的地方才会恢复。
不知道是什么原因,我就干脆用TigerVNC了,同时在启动headless的时候加上-n参数{$ VBoxHeadless -n -s winxp (VBoxHeadless -s winxp --vnc --vncport 5900 --vncpass password)},通过以下命令远程连接:
$ vncviewer localhost:5900
按下F8会出现一个菜单,里面可以切换全屏。
一切相关的命令:
$ VBoxManage list runningvms # 列出运行中的虚拟机
$ VBoxManage controlvm XP acpipowerbutton # 关闭虚拟机,等价于点击系统关闭按钮,正常关机
$ VBoxManage controlvm XP poweroff # 关闭虚拟机,等价于直接关闭电源,非正常关机
$ VBoxManage controlvm XP pause # 暂停虚拟机的运行
$ VBoxManage controlvm XP resume # 恢复暂停的虚拟机
$ VBoxManage controlvm XP savestate # 保存当前虚拟机的运行状态
以上是关于如何使用VirtualBox虚拟机的主要内容,如果未能解决你的问题,请参考以下文章