admin管理员组

文章数量:1532772

2024年2月15日发(作者:)

前言:

将本文翻译的目的,是要让广大中国用户使用虚拟机技术在Windows平台下方便学习Linux系统,为了让朋友们日后更加容易的从Windows平台转换到Linux平台工作学习打下基础,虽然,Linux系统比起Windows来说易用性差点,感觉不是普通用户能使用的,但是,我们本着学习、创新的心态来对待Linux,不必让微软抓住中国用户只会用Windows而垄断市场,更好的保护我们国家的软件产业而努力!朋友们,有空的话,不妨学习使用一下Linux系统,国产的我推荐红旗Linux,感觉与XP相像,只是Linux下软件少得可怜!!

鉴于本人英语、电脑知识水平有限,在译本中可能存在翻译不顺或是翻译错误的问题,在打字输入和排版过程中也可能存在一些问题,请阅读译本的朋友们见谅,也希望朋友们指正本人的错误所在,万分感谢!!!如果朋友在阅读过程当中有问题,或在一些技术或是翻译等等问题想与本人讨论,请加本人QQ:546508545,或是发电子邮件:ldshe@

----lusir

2008.12.25

Sun xVM VirtualBox 用户手册 2.0.6版

目录

1 引言

1.1 虚拟化基础

1.2 软件VS硬件虚拟化(VT-x 和 AMD –V)

1.3 功能概述

1.4 所支持的主操作系统

1.5 所支持的客操作系统

3

1.6 64位客户端

2 安装

2.1 在Windows主机上安装

2.1.1 安装环境

2.1.2 安装

2.1.3 卸载

2.1.4 自动安装

2.2 在Mac OS X主机上安装

2.2.1 安装

2.2.2 卸载

2.2.3 自动安装

2.3 在Linux主机上安装

2.3.1 安装环境

2.3.2 VirtualBox 内核模块

2.3.3 USB与高级联网支持

2.3.4 安装

2.3.5 在Linux启动VirtualBox

2.4 在Solaris 主机上安装

2.4.1 安装

2.4.2 在Solaris启动VirtualBox

2.4.3 卸载

2.4.4 自动安装

2.4.5 设置一个zone运行VirtualBox

3 VirtualBox入门

3.1 启动图形用户界面

3.2 创建一个虚拟机

3.3 虚拟机设置基础

3.4 运行虚拟机

3.4.1 键盘与鼠标的支持

3.4.2 变更可移动媒介

3.4.3 保存虚拟机的状态

3.4.4 快照

3.5 虚拟磁盘管理器

3.6 删除虚拟机

3.7 虚拟机设置

3.7.1 一般设置

3.7.2 硬盘设置

3.7.3 光驱与软驱设置

3.7.4 声音设置

3.7.5 网络设置

3.7.6 串行端口设置

3.7.7 USB支持

3.7.8 共享文件夹

3.7.9 远程显示

4

4 The VirtualBox Guest Additions

4.1 引言

4.2 Windows Guest Additions

4.2.1 安装Windows Guest Additions

4.2.2 更新Windows Guest Additions

4.2.3 自动安装

4.2.4 Windows Vista联网

4.3 Linux Guest Additions

4.3.1 安装Linux Guest Additions

4.3.2 视频加速接口与高分辨率图形方式

4.3.3 更新Linux Guest Additions

4.4 Solaris Guest Additions

安装Solaris Guest Additions

卸载Solaris Guest Additions

更新Solaris Guest Additions

4.5 OS/2 Guest Additions

4.6 共享文件夹

4.7 无缝窗口技术

5 虚拟存储

5.1 硬盘控制器:IDE,SATA,AHCI

5.2 虚拟磁盘镜像文件(VDI)

5.3 克隆磁盘镜像

5.4 VMDK镜像文件

5.5 iSCSI 服务器功能

5.5.1 通过互联网访问iSCSI对象

6 虚拟联网

6.1 虚拟网络硬件

6.2 联网方式介绍

6.3 “Not attached”方式(无连接方式)

6.4 网络地址解析(NAT)

6.4.1 设置NAT的转发端口

6.4.2 NAT的PXE引导

6.4.3 NAT限制

6.5 主机接口联网介绍

6.6 主机接口联网与Windows主机桥接

6.7 Mac OS X主机系统的主机接口联网

6.8 主机接口联网与Linux主机桥接

6.8.1 永久主机接口与桥接

6.8.2 虚拟机启动时动态创建接口

6.9 Solaris主机系统的主机接口联网

6.10 内部联网

7 可选择的前端;远程虚拟机

7.1 介绍

5

4.4.1

4.4.2

4.4.3

7.2 使用VBoxManage控制虚拟机

7.3 VBoxSDL,

简化的 VM 显示接口

7.4 远程虚拟机(VRDP支持)

7.4.1 VBoxHeadless , VRDP服务器

7.4.2 Step by step:在headless服务器上创建虚拟机

7.4.3 远程USB

7.4.4 RDP认证

7.4.5 RDP加密

7.4.6 VRDP多重连接

8 VBoxManage 引用

8.1 VBoxManage列表

8.2 showvminfo命令

8.3 registervm / unregistervm命令

8.4 createvm命令

8.5 modifyvm命令

8.5.1 一般设置

8.5.2 存储设置

8.5.3 联网设置

8.5.4 串行端口,声音,剪贴板,VRDP和USB设置

8.6 startvm命令

8.7 controlvm命令

8.8 discardstate命令

8.9 snapshot命令

8.10 registerimage/unregisterimage命令

8.11 Showvdiinfo命令

8.12 Createvdi命令

8.13 Modifyvdi命令

8.14 Clonevdi命令

8.15 Convertdd 命令

8.16 Addiscsidisk命令

8.17 Createhostif/removehostif命令

8.18 Getextradata/setextradata命令

8.19 Setproperty命令

8.20 Usbfilter add/modify/remove命令

8.21 Sharedfolder add/remove命令

8.22 Updatesettings命令

8.23 Metrics命令

9 高级主题

9.1 VirtualBox设置资料

9.2 Windows客户系统自动登录(VBoxGINA)

9.3 自定义的外部VRDP认证

9.4 VBoxSDL安全标记

9.5 自定义VESA分辨率

9.6 客户系统的多重监视器

6

9.7 Linux上释放修改VBoxSDL

9.8 使用串行端口

9.9 使用原主机硬盘

9.9.1 连通整个物理硬盘

9.9.2 连通单个物理硬盘分区

9.10 不使用CD/DVD/软驱启动虚拟机

9.11 设置NAT网络接口地址

9.12 设置使用图形前端的最大分辨率

9.13 设置BIOS DMI 信息

10 VirtualBox 编程接口

11 常见故障与解决方法

11.1 一般故障

11.1.1 收集调试信息

11.1.2 缓慢主机文件系统上VDI客户机显示IDE错误

11.1.3 响应客户机IDE刷新请求

11.2 Windows客户机

11.2.1 更改VM设置后Windows启动失败(蓝屏)

11.2.2 Windows2000安装失败

11.2.3 Windows客户机记录蓝屏信息

11.2.4 Windows Vista客户机无法联网

11.2.5 Windows客户机可能引起的高CPU占用率

11.3 Linux客户机

11.3.1 Linux客户机可能引起的高CPU占用率

11.3.2 AMD 巴塞罗那CPU(AMD Barcelona CPUs)

11.4 Windows 主机

11.4.1 VBoxSVC 进程外COM服务问题

11.4.2 无法识别更改的CD/DVD

11.4.3 使用Microsoft RDP 客户端时反应缓慢

11.4.4 在单一系统上运行iSCSI启动程序与对象

11.5 Linux 主机

11.5.1 Linux 内核模块加载失败

11.5.2 Linux主机找不到CD/DVD驱动

11.5.3 Linux主机找不到CD/DVD驱动(早期版本)

11.5.4 Linux主机找不到软驱

11.5.5 刻录CD/DVD出现不正常客户端IDE错误信息

11.5.6 VBoxSVC IPC 问题

11.5.7 USB异常

11.5.8 PAX/grsec内核

11.5.9 Linux内核vmalloc池用尽

12 更新目录

12.1 2.0.4版(2008-10-24)

12.2 2.0.2版(2008-09-12)

12.3 2.0.0版(2008-09-04)

12.4 1.6.6版(2008-08-26)

7

………………………………………………………

13 已知问题

14 第三方许可证

14.2 资料

14.3 许可证

14.3.1 GNU通用公共许可证(GPL)

14.3.2 较小的GNU通用公共许可证

14.3.3 Mozilla公共许可证(MPL)

14.3.4 X联盟许可证(X11)

14.3.5 Zlib许可证

14.3.6 OpenSSL许可证

14.3.7 Slirp许可证

……………………………..

15 VirtualBox隐私政策

词汇

1引言

Sun xVM VirtualBox 是一款功能强大的虚拟机工具集合,定位于桌面计算机、企业服务器和嵌入式系统。使用VirtualBox,你可以在使用Intel和AMD处理器的机器上虚拟32位与64位的操作系统,可以是软件虚拟化也可以是硬件虚拟化(请看1.4节,所支持的主机操作系统,P14)。

你会在1.3节功能概览(P11)中获得简要的功能综述;在第12章更新目录(P142)中你会看到关于版本信息更新的详细列表。

1.1 虚拟化基础

使用VirtualBox ,你可以在现有的操作系统上通过叫作“虚拟机”的特有环境运行原装的操作系统,当然也包括可以安装在这些系统上的软件。物理上8

的计算机通常叫作“host”,也就是“主机”或“宿主系统”;虚拟机系统叫“guest”,也就是“客户机”或“寄宿系统”。

下边这幅图片向你展示在Linux主机上怎样通过VirtualBox 在一虚拟机窗口上运行Windows Vista客户机操作系统:

VirtualBox 允许您直接在主机电脑上设置客户机来运行原装操作系统,当然会让客户机操作系统认为它是运行在真正的计算机上。然而VirtualBox 在后台会截获客户机操作系统执行过程中的操作,以防它不会影响主机系统上的其他程序。

VirtualBox 提供的这些技术和功能对很多种情况是非常有用的:

操作系统支持:使用VirtualBox ,您可以不用重新启动主机来使用运行在其他操作系统上软件(例如,在Linux上可以使用Windows软件)。即使你物理计算机的硬件不支持,你也可以在虚拟机上安装早期的操作系统例如DOS和OS/2。

基础设施的强化:虚拟化技术可以显著地减少硬件与电能的损耗。现在强大的硬件所提供的全性能其实是很少真正用到的。典型的服务器平均负荷只有理论上高负荷的一小部分。所以,可以在不使用多台实际上只用了一小部分资源的物理计算机上,您可以运行多台虚拟机各来使用一部分主机资源并平衡各部分的负载。使用VirtualBox ,您甚至可以运行虚拟机仅仅作为9

VirtualBox 远程桌面协议(VRDP)的服务器,当然包括客机端完整的USB支持。这就允许企业单位仅仅在少数有远程桌面协议的服务器上统一桌面系统,而实际的客户端又可以显示VRDP的数据。

测试环境与破坏的恢复:一旦安装了VirtualBox ,它与它的虚拟硬盘可以被用作任意暂停,启动,复制,备份,并在主客机之间互相传输的容器。还有,使用VirtualBox 的“快照”功能可以让您保存虚拟机特定的工作状态并在需要时复原到这个状态。通过这个方式,您可以在计算机环境中自由地做试验而不须考虑系统会被破坏。如果出现了错误(例如安装了木马或感染了病毒),您可以很轻松地恢复到先前的快照中从而避免了频繁地备份与恢复系统。

当涉及到虚拟化技术时(也为了了解文档中接下来的章节),VirtualBox 会帮助你开始了解一些关键术语,特别是下面的术语:

主机操作系统(Host OS):物理计算机上运行VirtualBox 的操作系统。不同的主机操作系统有不同的VirtualBox 版本(请看1.4节,所支持的操作系统,P14,来获得更多的信息)。虽然在此文档中VirtualBox 的各个版本通常会被一起讨论,但由于平台的不同,我们也会在适时的时候指出具体的差异。

客户机操作系统(guest OS):这是运行在虚拟机里面的操作系统。理论上,VirtualBox 可以运行任何X86架构的操作系统(DOS,Windows,OS/2,FreeBSD,OpenBSD),但为了获得更加接近真正物理上的机器运行环境,我们针对某些系统做了一系列的优化。当您把您喜爱的操作系统作为客户机运行时,我们有选择地对其提供支持并进行优化(当中包括最常见的操作系统)。

请看1.5节,所支持的客户操作系统,P14,以获得更多相关信息。

虚拟机(VM): VM是VirtualBox 为你的客户操作系统创建的一个特殊的运行环境。换句话说就是你可以在VM里面运行客户机操作系统。通常,VM会在你的计算机桌面上以一个窗口显示,但这取决于你使用了VirtualBox 中哪个前端设置,它会以全屏模式显示或通过使用远程桌面协议(RDP)进行远程控制。

有时,在抽象上我们会使用“虚拟机”这个术语。在VirtualBox 内部,它把VM当作是一套可以决定其操作的参数集合。这些参数的设置反映在VirtualBox 的图形用户界面以及VBoxManage命令行程序;请看第8章,VBoxManage参考,P98.那包括硬件设置(内存的大小,选取哪种虚拟化的硬盘容器文件,加载什么光驱等等)和状态信息(VM是否正在运行,保存状态,快照等等)。

换句话说,VM是一个您可以在其设置对话框上看到的东西集合。

Guest Additions: 使用“Guset Additions”,我们所说的捆绑在VirtualBox 中的特殊软件包。虽然它是VirtualBox 的一部分,但它是为安装在VM里的客10

户机系统提供性能的改善并增加额外的功能而设计的。这在第4章,The

VirtualBox Guest Additions ,P54, 有详细的介绍。

1.2 软件虚拟化VS硬件虚拟化(VT-x and AMD-V)

默认情况下,VirtualBox 在虚拟机中为您的客户机提供的是“软件虚拟化”。简而言之,这意味着虚拟机的代码(客户机操作系统和其他安装在虚拟机上的程序)是被允许在您主机处理器上直接执行的,同时VirtualBox 利用一组复杂的技术去截获可能会妨碍你主机系统运行的操作。

在这种情况下,VirtualBox 需要为您的客户机来伪造一个虚拟的运行环境。例如,客户机想访问它的硬盘,VirtualBox 截获它的操作并将这些请求定位在您所设置的虚拟机的虚拟硬盘上,一般来说,是一个你主机系统上的镜像文件。

VirtualBox 有许多精良的技术保证在没有添加特别硬件上而达到这个目标。不过,现在的Intel和AMD处理器支持所谓的“硬件虚拟化”。

AMD64位处理器内置的虚拟化技术叫作“AMD-V”(最初的提到的“Pacifica”代号)。另外,从Barcelona(K10)架构开始,AMD系列处理器一直支持嵌套页表技术,它可以显著地硬件虚拟化进行加速。VirtualBox 从2.0版开始支持AMD系列处理器的嵌套页表技术。

Intel的虚拟化技术叫作“VT-x”(起初叫作“Vanderpool”)。在新的Nehalem架构处理器上提供嵌套页表技术,Intel叫它为”扩展页表“(EPT)。VirtualBox

会在以后的版本中提供支持。

尽管VirtualBox 支持这些硬件功能,但它们是可选择的:您可以在每一台虚拟机上选择使用或不使用硬件虚拟化技术。事实上,这主要看实际上的工作量,VirtualBox 的软件虚拟化在速度上会比硬件虚拟化更快。其它需要硬件虚拟化的产品通常比VirtualBox 更复杂。使用VT-x 和AMD-V技术,CPU会开辟一个特殊的执行环境以执行客户机代码并且在VMM被要求激活时,CPU可以随时暂离执行环境并随时再次进入。在多数情况下,硬件虚拟化花销更大,硬件虚拟化所得的好处可能不比性能损耗好多少。

另一方面,使用硬件虚拟化技术,可以执行更少的VirtualBox 虚拟化代码,这样会营造一个更稳定的系统。所以,如果你遇到问题,你可以考虑使用硬件虚拟化技术。

下面两种情形必需使用硬件虚拟化技术:

对于某些罕见的客户机系统,如使用专用的处理器指令的OS/2系统,不支持我们的软件虚拟化。

11

如果你想运行64位的客户机操作系统(VirtualBox 2.0版本已经提供了支持),而大多数64位的CPU又内置了硬件虚拟化技术。这些情况的例外有如早期的Intel 赛扬和AMD Opteron系列的CPU。

1.3 功能概览

下面是VirtualBox 主要功能的简述:

全新架构;前卫的模块化。

VirtualBox 是一个极其模块化设计的软件,具有明确界定的内部程序界面。拥有规范的客户端与服务器代码的隔离环境。这使得VirtualBox 在不同界面模式下都是容易被操控的。举个例子,你可以在VirtualBox 的图形用户界面上单击按钮来启动VM,而在命令行甚至是远程模式下来操控它。详情请看第7章,可选择的前端,远程虚拟机,P89.

无须硬件虚拟化支持。

正如前面所说的,在很多情况下,VirtualBox 不需要像Intel VT-x 或AMD-V这样的处理器提供内置的支持 。相对的,我们使用VirtualBox 是为了能在这些硬件出现以前的老硬件上得到其他更多的虚拟化手段的支持。

可移植性

VirtualBox 可以运行在许多32位和64位的主机操作系统上(Windows,Linux,Mac OS X和Solaris),并逐渐支持新的平台(详情请看1.4节,所支持的主机操作系统,P14)。

Guest Additions

VirtualBox 的Guest Additions功能其实是安装在它所支持的客户机操作系统中,为了改善其性能并提供与主机系统额外的整体性和通讯功能的软件包集合。安装Guest Additions功能后,虚拟机会支持自动调整视频分辨率,以及无缝窗口功能和其他更多功能。详情请看第4章,VirtualBox Guest Additions,P54.

特别地,Guest Additions支持“共享文件夹”,可以让你在主机与客户机间互相访问文件。详情请看,第4章第6节,共享文件夹,P61.

XML配置存储

VirtualBox 使用XML文件来存储所有的配置:一个XML文档存储全局设置,每台虚拟机各有一个XML文档来存储配置。这就允许你在不同的前端甚至是主机系统中传送VM的定义。详情请参考第9章第1节,VirtualBox 配置数据,P117.

强大的硬件支持

除了别的以外,VirtualBox 还支持:

-支持全功能的ACPI。VirtualBox 支持全功能的高级配置和电源接口(ACPI)。这就可以从真正的机器或第三方虚拟机上移置PC镜像的克12

隆到VirtualBox 中。使用独一无二的ACPI电源状态支持,VirtualBox 可以报告ACPI以让主机系统掌握客户机系统的电源状态。对于使用电池的笔记本电脑,客户机通过这种方式来节省电能并通知用户所剩的电量(例如在全屏模式)。

-支持I/O APIC。VirtualBox 虚拟了现代许多PC系统中拥有的输入/输出高级可编程中断控制器(I/O APIC)。这让我们可以从真正的机器或第三方虚拟机中将PC镜像克隆到VirtualBox 中。

-支持USB设备。即使你主机系统没有安装相应的驱动程序,VirtualBox

使用了虚拟USB控制器也可以让你随意的连接USB设备到虚拟机中。USB所支持的设备类型相当丰富。详情请看:3.7.7.1章节,USB设置,P51.

-多屏幕分辨率。VirtualBox 虚拟机可以设置比真正显示器多几倍的分辨率。这就让VirtualBox 可以适应许多主机系统中显示器。

-内置支持iSCSI。这一特色功能可以让你不通过主机系统而直接地连接iSCSI存储服务器。VM直接访问iSCSI对象不需要额外的开销,但如果那是在容器文件中虚拟化硬盘的话,这开销还是免不了的。详情请看第5.5章节,iSCSI服务器,P69.

-PXE 联网引导。VirtualBox 整合的虚拟网卡完全支持通过预启动执行环境(PXE)远程启动的模式。

多版快照

VirtualBox可以保存VM状态的连续快照。你可以恢复虚拟机状态到任意一个快照。详情请看,3.4.4章节,快照,P40.

VRDP远程访问

你可以在一个特殊的VirtualBox 程序中运行任意的虚拟机。这个程序就像是VirtualBox 远程桌面协议(VRDP)服务器。使用这个特色功能,VirtualBox 提供对任意虚拟机高性能远程访问。自定义RDP服务器已经直接内置在虚拟化层并提供前所未有的性能和丰富功能。

VRDP支持详情请看7.4章节,远程虚拟机(VRDP支持),P92.

基于以上特性,VirtualBox 为您提供更多的独特功能:

-可扩展RDP认证

VirtualBox 已经支持Windows的Winlogo和Linux的PAM的RDP认证。另外,它包括一个易使用的SDK,允许您创建任意其他认证方法的接口。详情请看,9.3章节,自定义外部VRDP认证,P119.

-USB over RDP

13

通过RDP虚拟通道的支持,VirtualBox 允许您连接任意的本地USB设备到一个运行在远程VirtualBox RDP服务器上中的虚拟机;详情请看,7.4.3章节,远程USB。P95.

1.4 所支持的主机操作系统

当前,VirtualBox可以运行在下面的主机操作系统上:

14

Windows主机:

-Windows XP,全部service packs(32位)

-Windows Server2003(32位)

-Windows Vista(32位或64位)

苹果Mac OS X主机(只支持Intel架构的所有版本)

Linux主机(32位或64位)

-Debian GNU/Linux 3.1(“sarge”),4.0(“etch”)和5.0(“lenny”)

-Fedora Core 4 to 9

-Gentoo Linux

-Redhat Enterprise Linux 3, 4 and 5

-SUSE Linux 9 and 10, openSUSE 10.1, 10.2, 10.3 and 11

-Ubuntu 6.06 (“Dapper Drake”), 6.10 (“Edgy Eft”), 7.04 (“Feisty

Fawn”),7.10 (“GutsyGibbon”), 8.04 (“Hardy Heron”)

- Mandriva 2007.1 and 2008.0

使用VirtualBox 的自动安装版或手动安装版,可以在大多数基于Linux内核2.4或2.6的系统运行VirtualBox .详情请看2.3章节,在Linux主机系统上安装,P19.

Solaris主机(32位或64位):

– OpenSolaris (2008.05 或更高版, “Nevada” build 86 或更高版)

– Solaris 10 (u4或更高版, 支持体验版)

1.5所支持的客户机操作系统

自从VirtualBox 开始为X86架构系统提供一般性虚拟化环境以来,它就可能会运行各种的操作系统,甚至包括一些Sun Microsystems官方不支持的操作系统。然而,我们的焦点在于尽可能地优化一些有选择的客户机系统的性能,如:

Windows NT 4.0所有版本和Service packs都很好地被支持;然而,对于一些较老的Service packs会有一点问题。我们推荐安装最新的Service

pack(补丁包)。Guest Additions可提供有限的功能集。

Windows2000/XP/Server2003/Vista所有地版本和Service pack可完整地被支持(32位和64位的Vista要在上面所列的前提下才被支持)。可以对这些系统使用Guest Additions增强功能。

DOS/Windows3.x/95/98/ME 已经进行过有限的测试。这些系统使用较老的安装机制,不推荐使用。没有可用的Guest Additions安装包。

15

Linux2.4 有限支持。

Linux2.6所有版本包括32位和64位都被很好的支持。我们强烈建议用户使用2.6.13或更高的版本以获得更好的性能。但是,2.6.18版(和某些2.6.17版)采用竞争条件,会让在VirtualBox 的客户机启动失败。如果你一定要使用2.6.17以上内核的版本,我们建议您使用2.6.19或最新版本。Guest Additions可用。

Solaris 10,OpenSolaris 32位与64位版能完整地支持。Guest Additions可提供有限的功能集。

FreeBSD有限支持。Guest Additions不可用。

OpenBSD 3.7和3.8版被支持。Guest Additions不可用。

OS/2Warp4.5 需要硬件虚拟化的支持。我们官方只支持MCP2;其他OS/2版本可能会不运作。Guest Additions提供有限的功能集。

1.6 64位客户机系统

从2.0版开始,VirtualBox 支持64位的客户机操作系统。以下是使用时须注意的条件:

1. 你需要一个支持硬件虚拟化的64位CPU(请查看1.2章节,软件VS硬件虚拟化(VT-x与AMD-V),P10)和一台64位的主机操作系统。

2. 你必须在那些64位操作系统(Windows Vista,Linux or OpenSolaris)使用VirtualBox 64位版。这样你可以在虚拟机使用32位或是64位的操作系统;无论硬件是否支持,32位版的VirtualBox 只能运行32位的虚拟机系统。

3. 你必须激活硬件虚拟化功能;软件虚拟化是不支持64位的虚拟机的。

注意:在很多情况下,VirtualBox 要第一次使用硬件虚拟化功能时,往往需要先在BIOS中设置可用。

对于支持64位的客户机操作系统没有额外的设置。如果上边的条件都满足(特别地,硬件虚拟化需要激活),64位的操作系统就可用,你可以很轻松地安装64位版的客户机操作系统。

警告:如果你想使用64位模式,在虚拟机中你必须设置I/O APIC可用。这点尤其对64位Windows虚拟机要注意。可查阅3.7.1.2章节,“高级”标签,P44。另外,对于64位Windows客户机系统,你必须确定VM中使用了Intel的联网16

设备,因为这没有支持AMD PCnet卡的64位驱动程序;请查阅,6.1章节,虚拟联网硬件,P72.

2 安装

根据你的主机系统的不同,VirtualBox 的安装方式也各异,我们针对Windows系统,Linux系统和Solaris系统提供了三节的各自安装指南。

2.1

在Windows主机系统上安装

2.1.1 安装前提

VirtualBox 支持许多版本的Windows主机操作系统,请参考1.4章节,所17

支持的主机操作系统,P14.

另外,你当前的主机系统要有Windows Installer1.1或更高版本。一般你安装了最近所有的Windows更新都会包含了这个安装程序。

2.1.2 安装

以下是启动VirtualBox 安装程序的两种方式:

O 直接双击Microsoft Installer档案文件(MSI文件)

O 在命令行中输入:msiexec /i

无论哪种方式进行安装,安装程序都会显示安装欢迎窗口,并允许您自由选取所安装的组件,让您选择所安装的目录位置。除了VirtualBox 应用程序外,以下是可选择安装的组件:

USB支持 这个组件包含有独特的驱动,以提供对虚拟机的USB设备的完整支持。

联网 这个组件包含有额外的网络驱动,VirtualBox 需要它提供主机接口联网的支持(这样通过你虚拟机中的虚拟网卡,能让物理网络上其他主机访问到你的虚拟机)。

根据你Windows的设置,你可能在安装这些驱动时会看到类似于“未签名的驱动”之类的警告,这时请你选择“继续”,否则的话,VirtualBox 在安装之后可能不会正常的工作。

安装文件会在主机系统的程序启动文件夹中创建一个VirtualBox 组,允许你启动应用程序和访问相关文档。

默认的标准设置中,VirtualBox 会被本地系统所有用户使用。如果你不想这样,你可以使用下面的语句来调用installer:

Msiexec /i ALLUSERS=2

这样的话,VirtualBox 安装后只能被当前用户使用。

2.1.3 卸载

就像与我们使用Microsoft Installer进行安装一样,我们随时都可以通过Windows的控制面板使用“添加/卸载”功能卸载VirtualBox 。

2.1.4 自动安装

使用标准的MSI可以进行自动安装。

2.2 在Mac OS X主机上安装

18

2.2.1 安装

针对Mac OS X主机系统,VirtualBox 发布了一个磁盘镜像文件(dmg),以下是安装步骤:

1. 双击dmg文件将其内容展开

2. 会弹出一个窗口叫你双击在其内的VirtualBox .mpkg安装文件

3. 接着运行安装文件,选择你要安装的位置

安装完成后,你会在“Finder”的“应用程序”文件夹下找到VirtualBox 的图标。

2.2.2 卸载

卸载VirtualBox ,再次打开磁盘镜像文件(dmg),双击卸载图标即可

2.2.3 自动安装

你可以使用安装文件的命令行方式来执行VirtualBox 的非交互式安装。

像上面一样,挂载磁盘镜像文件(dmg),然后打开终端会话并执行以下命令:

sudo installer –pkg /Volumes/VirtualBox/ -target /Volumes/Macintosh HD

2.3 在Linux主机系统上安装

2.3.1 安装前提

VirtualBox 支持很多种版本的Linux主机系统,相关内容请参考1.4章节,所支持的主机操作系统,P14.

在Linux系统下,你在安装VirtualBox 前必须先安装下面的软件包(一些系统会在你安装VirtualBox 时自动安装这些组件):

 Qt 4.3.0或更高版本

 SDL 1.2.7或更高版本(这个图形库通常就是所谓的libsdl或与之相类似)

注意:准确的说,这些软件包只有在你想使用VirtualBox 的图形用户界面时才是必要的。尤其,VirtualBox ,我们主要的图形用户界面,Qt与SDL两个都是必须的。VBoxSDL,我们精简的图形用户界面(GUI),只须SDL的支持。相比之下,如果您只想运行VirtualBox 的VRDP服务器,Qt与SDL就不是必须的。

2.3.2 VirtualBox 内核模块

19

大部分人使用专门为他们的Linux系统设计的VirtualBox 安装包成功安装时,可以跳过这一节,除非他们在安装时出现了问题。他们需要记住的是,如果他们的Linux内核进行升级时,他们要重新安装VirtualBox (或在root帐户下执行如下命令重新创建VirtualBox 内核模块: /etc/init.d/vboxdrv setup)

VirtualBox 使用独特的内核模块去执行物理内存的分配和获得客户机系统执行的处理器的控制权。没有这个内核模块,你也可以操作虚拟机的配置界面,但你将不能启动任何一台虚拟机。

为了能够安装这个内核模块,你将要准备您的系统以构建外部内核模块。在不同的系统中,这个过程是不相同的,我们只会对我们已经测试过的系统进行描述。

 大部分Linux发行版可以简单地通过安装正确的软件包来设置。通常有GNU编译器(GCC),GNU Make (make)和包含有内核代码的头文件软件包。头文件软件包的版本号要与你使用的内核版本号一致。

-对于当前的Linux发行版(例如,Fedora Core 5或更高版本,Ubuntu

7.10(Gutsy)或更高版本和Mandriva 2007.1 或更高版本),我们推荐安装DKMS。这架构会帮助编译内核模块并处理内核的升级。

-在最新的Debian和Ubuntu发行版中,如果已经存在Linux-kbuild软件包,那么你要安装正确的Linux-headers版本。当前的Ubuntu发行版已经默认安装正确的软件包。

-在早期的Debian和Ubuntu发行版中,你必须安装正确的Kernel-headers软件包版本。

-对于Fedora和Redhat 系统,这个软件包是kernel-devel.

-对于SUSE和OpenSUSE Linux,你必须安装正确的kernel-source和kernel-syms软件包版本。

 作为选择,如果你编译你自己的内核,/usr/src/linux会指向你的内核源文件,在编译的过程当中 ,你不能删除这些已经创建的文件,这样你的系统才会正确被设置好。

2.3.3 USB和高级联网支持

为了使用VirtualBox 的USB支持,你想运行VirtualBox 的用户帐户必须具有读写权限来访问USB文件系统(usbfs).另外,如果你想使用主机接口联网,你要需要有使用/dev/net/tun目录的权限。有关主机接口联网内容,请查看6.5章节,主机接口联网(HIF)介绍,P76.

20

2.3.4 安装

对于许多常见的Linux发行版,VirtualBox 提供了一些封装格式包以支持本地应用。(请看1.4章节,所支持的主机操作系统,P14)。另外,在大多数Linux系统中都有两种安装方式。

2.3.4.1 在Debian/Ubuntu下安装VirtualBox 软件包

首先,下载对应于你主机系统的VirtualBox 软件包。下面的例子将呈现你在Ubuntu Edgy系统下进行安装VirtualBox 。使用dpkg命令安装Debian软件包:

sudo dpkg –i VirtualBox_2.0.2_Ubuntu_

你会被询问接受VirtualBox 个人使用和评估许可证。这里,除非你选择“是”,否则安装将会失败。

在安装过程中,将会创建一个vboxusers用户组。请注意,只有是vboxusers用户组的成员才有权力去运行VirtualBox 。用户可以通过GUI 用户/组管理器或使用以下命令

sudo usermod –a –G vboxusers username

向vboxusers用户组添加成员。

需要注意的是,添加当前用户到vboxusers用户组,需要当前用户登出系统并再次登录。这要在成功安装后用户手动去执行操作。

安装程序也会为你的系统寻找合适的VirtualBox 内核模块。软件包包含有适合大多数常见内核配置的预编译文件。如果没有找到适当的内核模块,安装脚本尝试生成一个本身模块。如果编译过程没有成功,你会看到一个警告,并且软件包将会取消配置。你可以查看 /var/log/文件以了解编译失败原因。你一定要安装适当的linux内核头文件(请查看2.3.2章节,VirtualBox 内核模块,P19)。纠正所有问题后,执行

sudo /etc/init.d/vboxdrv setup

这将又一次启动安装程序试图编译这些模块。

如果在软件包里找到合适的内核模块或者模块安装成功,安装脚本会尝试加载这些模块。如果加载失败,请查看11.5.1章节,Linux不能加载内核模块,P137.

一旦VirtualBox 安装和配置成功,你可以在开始菜单选择“VirtualBox ”或使用命令行方式来启动VirtualBox (请查看2.3.5章节,Linux下启动VirtualBox ,21

P25)。

2.3.4.2 使用其他安装()

其他的安装方式一般下面的步骤:

 解压程序文件到你所选择的目标目录下。默认的情况下,会解压到目录/opt/VirtualBox-2.0.2下

 编译VirtualBox 内核模块(vboxdrv)并进行安装。

 创建目录/etc/init.d/vboxdrv,初始化脚本启动VirtualBox 内核模块

 创建一个新的vboxusers系统组。

 在VBoxManage / usr / bin 创建 VirtualBox、 VBoxSDL、 VBoxVRDP、

VBoxHeadless 的符号链接。

 创建/etc/udev/,一个udev说明文件,将会使得vboxusers组中用户有权使用 VirtualBox 。

 向/etc/vbox/写入安装目录。

必须要以root根用户来执行安装程序,并使用install或uninstall作为第一参数。如果你不想安装程序出现提示询问是否接受许可协议(例如,执行无人值守的自动安装),你可以添加license_accepted_unconditionally参数。最后,如果你不想使用默认的安装目录,你可以指定你要的安装目录作为额外的参数。

sudo ./ install /opt/VirtualBox

或者你不使用sudo命令,也可以在root根用户下执行下列语句:

./ install /opt/VirtualBox

之后,你需要向vboxusers用户组添加任何一个可使用VirtualBox 的用户,可以通过GUI用户管理器工具或在root根用户下执行以下命令:

sudo usermod –a –G vboxusers username

注意:在一些旧的Linux发行版本,usermod命令不支持-a选项(不影响其他组的成员身份而向给定组添加用户)。在这种情况下,使用groups命令查找当前用户所在组的成员资格,之后在命令行-G选项后利用逗号隔开组列表,例如:

Usermod -G group1,group2,vboxusers username

如果VirtualBox 客户机系统的用户想访问主机USB设备,你也要将这个用户添加到适当的能访问USB的用户组,例如usb或usbusers.

22

2.3.4.3 执行手动安装

无论出于何种原因,如果你不能像前面所描述的那样使用外壳(shell)脚本安装程序,你可以执行手动安装来调用安装程序就像下面语句:

./ --keep –noexec

这将在当前目录下解压缩安装所需的所有文件到install文件夹下。VirtualBox 应用程序文件被包含在2源文件里面,你可以将其解压到你系统任何目录下,例如:

23

sudo mkdir /opt/VirtualBox

sudo tar jxf ./install/2 -C /opt/VirtualBox

或使用root根用户执行:

mkdir /opt/VirtualBox

tar jxf ./install/2 -C /opt/VirtualBox

VirtualBox 内核模块源文件放在src目录下,要编译些模块,要转到此目录并使用命令

make

如果所有的文件正确编译,执行下面的命令安装模块到合适的模块目录下:

sudo make install

如果你不想使用sudo,请使用root根用户并执行

make install

VirtualBox 内核模块需要一个设备节点来管理操作。 上述make命令会依据您的 Linux 系统告诉您如何创建设备节点。这个过程与经典Linux 的/dev目录、现在不推荐使用的devfs目录和近代使用的Linux udev目录的安装稍有不同。

在某些 Linux 发行版上,,您可能会遇到构建模块的困难。你要分析从编译环境反馈回来的信息,并诊断出可能引起问题的原因。一般来说,确保正确的Linux内核源对编译进程可用。

注意,使用VirtualBox 的用户在VirtualBox 内核模块设备节点/dev/vboxdrv需要具有读写权限。您可以使用下面命令来确定vboxusers用户组拥有所需的权限

groupadd vboxusers

chgrp vboxusers /dev/vboxdrv

chmod 660 /dev/vboxdrv

又或者,使用下面的命令使所有用户都可访问(不安全,不推荐这样做!)

chmod 666 /dev/vboxdrv

你也要在VirtualBox 客户机添加被允许使用主机USB设备的用户到恰当的USB24

用户组。这些组通常叫做usb或usbusers.

接着,你必须要安装内核模块的系统初始化脚本:

cp /opt/VirtualBox/ /etc/init.d/vboxdrv

(假定你已安装VirtualBox 到/opt/VirtualBox目录下)并使用正确的方法激活初始化脚本。你需要创建VirtualBox 的配置文件:

mkdir /etc/vbox

echo INSTALL_DIR=/opt/VirtualBox > /etc/vbox/

为了方便使用,你也可以创建下面的符号链接:

ln -sf /opt/VirtualBox/ /usr/bin/VirtualBox

ln -sf /opt/VirtualBox/ /usr/bin/VBoxSVC

ln -sf /opt/VirtualBox/ /usr/bin/VBoxManage

2.3.4.4 更新和卸载VirtualBox

在更新或卸载VirtualBox 前,你必须终止当前正在运行的任何虚拟机并退出VirtualBox 或VBoxSVC应用程序实例。更新VirtualBox ,只须简单地运行更新版本的安装程序即可。卸载VirtualBox ,调用下面的安装程序:

sudo ./ uninstall

或使在root下执行:

./ uninstall

若要手动卸载 VirtualBox,只须执行手动安装步骤的相反的顺序。

2.3.4.5 Debian自动安装包

在第一次安装前,Debian安装包需要一些用户反馈信息。Debconf系统用来执行这个任务。若要以免在安装过程中产生任何用户交互,可以定义默认值。Vboxconf文件包括下面debconf设置:

virtualbox virtualbox/module-compilation-allowed boolean true

virtualbox virtualbox/delete-old-modules boolean true

25

如果找到适合当前内核的模块,第一行允许编译 vboxdrv 内核模块。第二行允许软件包删除之前安装的任何旧版本vboxdrv内核模块。

这些默认设置可以在VirtualBox Debian安装包安装之前使用下面的命令来应用:

debconf-set-selections vboxconf

2.3.4.6 .rpm自动安装包

与debconf 系统相比,.rpm 格式不提供相若的配置系统。为了配置.rpm软件包安装进程,/etc/default/virtualBox 中某个文件将被解析。下面的设置将会阻止Udev管理的自动生成:

INSTALL_NO_UDEV=1

下面的设置可以防止Vboxusers组的创建:

INSTALL_NO_GROUP=1

如果指定了命令

INSTALL_NO_VBOXDRV=1

那么,如果没有找到当前内核模块,软件包安装程序将不会创建vboxdrv内核模块。

2.3.5 Linux上启动VirtualBox

启动 VirtualBox 最简单的方法是在终端运行您选择 (VirtualBox、 VBoxManage、

VBoxSDL 或 VBoxHeadless) 的程序。这些的符号链接将为您启动所需的程序。

如果你事先没有安装VirtualBox 而又想执行它,下面只是对这方面感兴趣的作详细说明。 通过编译vboxdrv内核模块(见上文),并插入到Linux内核来启动它。VirtualBox 由后台服务程序(VBoxSVC)和一些应用程序组成。如果需要,后台程序可以自动启动。所有的VirtualBox 应用程序通过Unix本地域套接字与后台程序通信。在不同的用户帐户下可以有多个后台实例程序运行,应用程序只与在当前用户下作为应用程序运行的后台程序通信。本地域套接字位于你系统临时文件目录下的一个叫作.vbox--ipc.子目录内。如果通信或是后台服务程序启动出了问题,你可以删除这个目录。

所有的 VirtualBox 应用程序 (VirtualBox VBoxSDL VBoxManage、 VBoxHeadless)

需要在库路径的VirtualBox 目录中:

26

LD_LIBRARY_PATH=. ./VBoxManage showvminfo "Windows XP"

2.4 在Solaris主机系统上安装

VirtualBox 支持许多Solaris版本的主机操作系统,详情查看前面1.4章节P14。

如果你之前安装过VirtualBox ,请在Solaris系统中卸载它后再安装最新的版本。可查看2.4.3章节有关卸载的操作指南。

2.4.1 安装

VirtualBox 有发行标准的Solaris软件包,请下载适合你当前Solaris系统的软件包。安装时,必须要在root根用户和全局域下,VirtualBox 安装程序加载内核驱动在非全局域下是不被执行的。为了验证你当下处在哪个域,可以执行zonename命令,如下面的命令:

gunzip -cd | tar xvf –

从VirtualBox 1.6.2开始,我们增加了VirtualBox 内核接口模块(vbi).这个模块的作用是防止VirtualBox 内核驱动不受SunOS内核的影响。如果你没有安装vbi(查看/platform/i86pc/kernel/misc/vbi文件是否存在),执行下面的命令进行安装:

pkgadd -G -d

OpenSolaris后续版本可能内含VirtualBox 内核接口模块,此情况下,在你升级OpenSolaris前你要删除当前的VirtualBox 。

接下来,使用下面的语句来安装主要VirtualBox 软件包:

pkgadd -d

注意:如果要使用Solaris域,要在当前域而不是其他域安装VirtualBox ,可以使用命令pkgadd -G.更多信息可以查阅pkgadd手册;也可以查看2.4.5章节,配置一个域运行VirtualBox ,27页;

然后,安装程序将提示你输入你想要安装的软件包。选择“1”或“all”继续。然后,安装程序将会询问你是否要允许 postinstall 脚本执行,选择 “ y ”继续,这是安装 VirtualBox 内核模块必要执行的脚本。接下来,安装程序将安装

VirtualBox 并执行 postinstall 安装脚本。

一旦postinstall脚本执行完后,安装就完成了。现在你可以安全地删除你系统中解压的软件包和autoresponse文件。VirtualBox 应该安装在/opt/VirtualBox 文件夹下。

27

2.4.2 在Solaris下启动VirtualBox

启动 VirtualBox 最简单的方法是在终端运行您选择 (VirtualBox、 VBoxManage、

VBoxSDL 或 VBoxHeadless) 的程序。这些的符号链接将为您启动所需的程序。

或者,你直接从/opt/VirtualBox 调用所需的程序。在你没有输入全路径时使用这些已提供的链接更容易地启动程序。

在终端执行VBoxQtconfig,你可以设置VirtualBox Qt GUI的一些元素,如字体和颜色等。

2.4.3 卸载

卸载Solaris 上的VirtualBox需要root用户权限。 要执行卸载,可以启动一个root终端会话并执行:

pkgrm SUNWvbox

确认后,系统将会删除VirtualBox 。

要卸载VirtualBox 内核接口模块,可以执行:

pkgrm SUNWvboxkern

2.4.4 自动安装(无人值守安装)

执行 VirtualBox 无互动安装,VirtualBox 已提供一个名为 autoresponse 响应文件,安装程序将使用这个响应文件作为输入的响应来取代那些询问。

正如前面所述的,在正常的安装步骤下提取软件包,然后在root权限下打开一个终端会话并执行命令:

pkgadd -d VirtualBox-2.0.4-SunOS-x86 -n -a autoresponse SUNWvbox

执行无互动卸载,在root权限下打开终端会话并执行命令:

pkgrm -n -a /opt/VirtualBox/autoresponse SUNWvbox

2.4.5 配置一个可运行VirtualBox 的域(zones)

从VirtualBox 1.6开始,VirtualBox 可以在Solaris的域下运行。关于Solaris域的介绍,请参考/bigadmin/features/articles/solaris_.

28

假设在您的域下已安装VirtualBox,你必须给予这个域使用 VirtualBox设备节点的权限。可以通过执行下列步骤来实现。 启动一个root权限的终端并执行命令:

zonecfg -z vboxzone

在zonecfg 提示下,添加设备资源并匹配相关属性到该域。 下面显示它是如何做的:

zonecfg:vboxzone>add device

zonecfg:vboxzone:device>set match=/dev/vboxdrv

zonecfg:vboxzone:device>end

zonecfg:vboxzone>verify

zonecfg:vboxzone>exit

使用你想运行VirtualBox 的域名称替换 “ vboxzone ”,接下来,使用zoneadm重新启动域,你应该能够在所配置的域下运行VirtualBox .

3. VirtualBox 入门

在1.1章节,P8,虚拟化基础知识中已提到 VirtualBox可以允许您运行每个在其虚拟计算机中的客户机系统。客户机操作系统会运行在虚拟机 (VM)上,根据您创建的虚拟机系统的设置,让客户机系统就像一个真正的计算机上运行一样。

虚拟机也会让所有在客户机系统上运行的软件感觉是运行在真正的计算机上。

您有相当地自由权力来决定向客户机提供什么样虚拟的硬件。这些虚拟的硬件可用于与主机系统或其它客户机进行通信。例如,如果您向VirtualBox提供一个

CDROM ISO镜像文件,VirtualBox 可以显示在客户机系统显示这个文件,就像是在使用真正的物理 CD-ROM。同样地,通过虚拟网卡可以让客户机系统访问真正网络,更上一层,您也可以选择让主机系统、 其他客户机系统或互联网上的29

计算机来访问客户机系统。

VirtualBox 会提供很多高级接口,这些接口会在以后的章节中详细介绍:

• 7.3章节,VBoxSDL, 91页,简化的 VM 显示接口,说明如何使用简化的图形界面依次运行一个 VM;

• 7.4.1 章节,VBoxHeadless,VRDP服务器, 93页,展现如何远程运行虚拟机;

•第8章,VBoxManage 引用, 98页,说明如何从命令行完全创建、 配置和控制虚拟机。

对 VirtualBox详述,从图形用户界面开始是最简单的方法。

3.1

启动图形用户界面

正如前面所说的,在系统中安装VirtualBox 后,你可以通过以下方式来启动VirtualBox :

• 在Windows 主机上,在开始 “ 程序 ” 菜单上,单击“ VirtualBox ” 组中的相关项(一般都是VirtualBox )。

• 在Mac OS X 主机上,在Finder 中,双击“ 应用程序 ” 文件夹 “ VirtualBox ”

项上。 (你可以将此项拖到Dock中)。

• 在linux 或 solaris 主机上,依据您的桌面环境, “ VirtualBox ” 项可能已被置于在您 “ 应用程序 ” 菜单的“ 系统 ” 或 “ 系统工具 ”组中。 另外,您还可以在终端键入 VirtualBox来启动它。

之后,将会出现如下所示窗口:

30

您可以看到在左边窗格列出了到目前为止你所创建的所有虚拟机(上面示例)。窗格上面的一行按钮允许您创建新的虚拟机和对已有的虚拟机进行操作。右边的窗格,显示当前所选择的虚拟机的相关属性。

当你是第一次启动VirtualBox ,上面没有虚拟机,当然,上面所述的也会显示为空。

3.2 创建虚拟机

在用户界面中单击 “ 新建 ” 按钮,将会引导您设置新的虚拟机 (VM)。单击按钮后将会显示创建向导:

31

在下面的页面,向导会要求您提供 创建 VM所需的最少信息。一般有:

1. 你的VM所要显示的名字,并输入你要安装的操作系统的种类。

这个名字将会在VirtualBox 主窗口上显示,并会保存你的相关设置。这只是纯粹的信息,但后面一旦你创建多个VM,你将会为这些VM提供的信息而感觉到方便。因此,“Windows XP SP2”会比“My VM”的名字更有用。

“ 操作系统类型 ” ,选择稍后您想安装的操作系统。 虽然这个设置就目前来说不会有长远的影响,但VirtualBox 将使用此设置来显示操作系统并根据您的选择提供推荐配置(例如,内存和硬盘空间量的分配),后续的 VirtualBox 版本可能针对特定的系统提供特定虚拟化功能。 因此建议您将它设置为正确的操作系统类型。

2. 虚拟机的内存容量是独立拥有的。一旦一台虚拟机启动,VirtualBox 会从主机中分配出已经设定的容量大小给这个客户机系统。客户机操作系统也能确实地反映它的内存容量大小。

注意: 要谨慎使用此设置! 在VM运行时,您给 VM的内存容量是无法用于您的主机操作系统的。所以不要设置过多。例如,如果主机具有 1 GB内存,而你为一个特定的虚拟机设置了512MB的内存大小,当这个VM运行时,你主机系统与在其上的其他软件将只能使用剩下的512MB内存。 如果您同时运行两个

VM,分配给VM的内存甚至更多(如果内存分配不足,VM甚至是不能够启动的)。另一方面您应当分配给客户 OS (和将在其上运行的应用程序)足够的内存,32

以便它们能正常运行。

Windows XP 客户机系统至少需要100 MB RAM才能正常运行,Windows Vista甚至在RAM小于512 MB时,拒绝安装。如果您要在VM 中运行大型图形软件,可能需要更多的 RAM。

这是经验之谈,如果您的主机具有1 GB RAM 或以上,通常分配给每个 VM 512

MB是安全的。 但在任何情况下要确保您主机系统始终至少有 256-512 MB 的

RAM 可用,否则,可能会导致您主机操作系统过度地在内存与硬盘上交换数据,这样可能会造成您主机系统死机。

相对其他设置,在您创建VM后,你还可以调整这个设置。

3. 接下来,要为您的 VM 指定一个虚拟硬盘。VirtualBox 可以有多种方法为VM提供硬盘空间,但最常见的方法是在“ 真正 ” 硬盘上使用一个大容量的镜像文件, VirtualBox 会向 VM展示它的特性犹如是一个完整的硬盘。

向导向您显示如下的窗口:

该向导允许您创建一个镜像文件或使用现有的镜像文件。 此外请注意的是,磁盘镜像与 VM是相隔离的,这样即使您删除了 VM,您也可以保留镜像文件,或将其复制到另一台主机并为它创建一个新的 VM。

33

在向导中有以下选项:

• 如果以前创建的虚拟硬盘的并没有附加到其他虚拟机上,那么您可以在向导窗口的下拉列表中选择这些虚拟硬盘。

• 或者,单击 “ 新建 ” 按钮,创建新的虚拟硬盘。

• 最后, 单击“ 现有“ 按钮,启动虚拟磁盘管理器,对虚拟磁盘进行更复杂的操作,有关虚拟磁盘管理器,将在3.5章节,四十一页中详细描述。

如果您首次使用 VirtualBox,您将要创建新的磁盘镜像。 因此,单击 “ 新建 ”

按钮。

这将打开一个 “ 创建新虚拟磁盘向导 ” 窗口。

VirtualBox 支持两种类型的镜像文件:

•动态扩展镜像文件,它的尺寸大小只随客户系统在虚拟硬盘上存储数据时的容量大小的增长而增长。因此,动态扩展镜像文件最初在主机硬盘驱动器上一般较小,并且之后只增长到它所填充数据大小。

• 固定大小镜像文件,创建时将立即在主机硬盘上占用指定的容量大小。即使在刚开始时,只使用了虚拟硬盘的部分空间,但在主机硬盘上却是占用了指定大小的空间。 当占用更多的空间时,固定大小文件将花费较少的开销,因此略高效于动态扩展镜像文件。

有关更多的差异的详细信息,请参阅5.2章节, 虚拟磁盘镜像VDI) 文件,67页。

要防止物理硬盘被完全使用,VirtualBox 限制了镜像文件的大小。 但是,它需要足够大的空间用于支持您想要安装的操作系统和应用程序,对于较新的

Windows 或 Linux 客户系统,您可能需要几个 GB大小用来它用:

34

选择或创建镜像文件后,单击 “ 下一步 ”, 转到下一页。

4. 点击 “ 完成 ”按钮后,将创建新的虚拟机。 然后您将在主窗口左侧列表中看到具有您所输入名称的虚拟机。

3.3 虚拟机配置基础

当您从VirtualBox主窗口列表中选择虚拟机时, 您将在右侧窗口的 “ 详细信息 ” 选项卡下看到该虚拟计算机的设置摘要。

在VirtualBox 主窗口顶部工具栏中 “ 设置 ” 按钮上单击,将调出一个详细设置窗口,其中您可以设置很多当前 VM所选的属性。 但要注意:尽管是可以在安装一个客户操作系统后修改VM 的所有设置,而某些更改可能会破坏客户系统的正常运作。

注意:如果VM 是在 “ 正在运行 ” 或 “ 保存 ” 的状态时,“ 设置 ” 按钮是被禁用的。 这是因为,设置对话框允许您更改所创建虚拟计算机的基本特性,而当更改它的内存大小时,可能会让已执行的客户机系统异常。 因此,如果 “ 设置 ” 按钮被禁用,首先要关闭当前 VM后才使用。

VirtualBox 提供多种多样的参数来设置虚拟机,在3.7章节, 43页,详细介绍了在 “ 设置 ” 窗口更改虚拟机的各种设置。 当然使用命令行界面可35

以提供更多的参数设置,请参阅第 8 章 VBoxManage 引用,98 页。

现在,如果您刚创建一个空的 VM,为了安装客户操作系统,您可能想要在 CD-ROM 或 DVD-ROM 来首次启动它,那么您可能最有兴趣来关注设置“ CD/DVD-ROM ” 部分。

因此,有两个可用的选择:

• 如果您有真正的CD 或 DVD 媒介,并用它来安装客户操作系统 (例如一张安装Windows 的CD 或 DVD光盘),那么您可以把它放入您的主机 CD 或

DVD 驱动器中。

然后,在设置对话框中转到 “ CD/DVD-ROM ” 部分,并选择 “ 主机驱动器 ” ,选中正确的驱动器盘符 (或在Linux 主机的情况下,选择“设备文件”)。

这将允许VM 访问您的主机驱动器上的媒介,然后您就可以继续从光盘进行安装了。

•如果您已从互联网下载了安装媒介 ISO 映像文件 (很可能的一个情况,一个 Linux发行版),您通常将此文件刻录到一个空 CD 或 DVD盘中,继续执行前面的步骤。但在VirtualBox 中,您可以跳过此步骤,直接装入 ISO 文件。

36

VirtualBox 会提交该文件为 CD 或 DVD-ROM 驱动器到虚拟机,就像使用虚拟硬盘映像一样。

在这种情况下,在设置对话框中转到 “ CD/DVD-ROM ” 部分,选择

“ ISO 镜像文件 ”。 这将调出虚拟磁盘映像管理器,接着您执行以下步骤:

1. 单击 “ 添加 ” 按钮,将您的 ISO 文件添加到注册镜像列表。这将会显示一个普通的文件对话框,允许您找到在您主机计算机上的 ISO 文件。

2. 回到管理器窗口,选择刚添加的 ISO 文件并单击 “ 选择 ” 按钮。为您的 VM 选择 ISO 文件。

虚拟磁盘镜像管理器在3.5章节, 虚拟磁盘管理器,41页中详细介绍。

3.4 运行虚拟机

单击主窗口的“ 开始 ” 按钮会启动当前所选的虚拟机。这样会打开一个新的窗口,你所选择的虚拟机也会启动。 通常会在窗口的虚拟系统监视器上的显示所有东西,就像第8页 1.1 章节 虚拟化基础知识中可见一样。

通常,您可以像使用真正机器一样使用虚拟机,但是有几点还是值得一提。

3.4.1 键盘与鼠标的支持

3.4.1.1 捕获与释放键盘、鼠标

由于虚拟机中操作系统并不 “ 知道 ” 它不是运行在真正的计算机上,所以它会期望独占控制您的键盘和鼠标。但是,这样的情况除非您是让VM运行在全屏模式下时才会发生,其他情况是您的 VM

需要与其他应用程序甚至可能是要与您的主机上其他 VM 共享键盘和鼠标。

因此,在安装主机操作系统后的最初并在安装Guest Additins (我们马上会解释) 之前, 只有两种情况的一种 – 您 VM 或你主机系统及其他应用程序 – 可以 “ 拥有 ” 键盘和鼠标。 这时,您将看到另一个鼠标指针,并且它将始终被限制在VM 窗口内。一般地,您可以通过单击来激活 VM。

为了让您主机操作系统随时获取键盘和鼠标的控制权,VirtualBox在键盘上预留了一个特殊键: “ 主机键 ”(host Key)。

默认情况下,这是键盘上的右 Ctrl 键; Mac 主机上, 默认主机键37

是左命令键。 您可以在 VirtualBox 全局设置中更改此默认设置。无论怎样,在 VM 窗口的底部右侧始终显示当前设置的主机键,即使你忘记了也可以通过它来知道主机键:

详细信息如下:

• 如果在主机桌面上的VM 窗口具有键盘焦点则键盘由VM拥有,然后,如果您在客户操作系统打开许多窗口,在您 VM 中具有焦点的窗口将的则独享键盘)。 这意味着,如果您想在您的 VM 内使用键盘,请您首先单击VM 窗口的标题栏。

要释放键盘,请按下主机键,一般地,像上面所说,是右control键。

请注意,如果 VM 拥有了键盘,某些关联键(如 Alt-Tab键) 将不再由主机控制,而是由虚拟机控制。

您按主机键以重新启用主机键盘后,所有按键都会通过主机,同样像Alt-Tab关联键将不再由虚拟机拥有而是主机拥有。

• 在您单击 VM 窗口后,鼠标将由VM拥有.主机鼠标指针会消失,鼠标指针将会在虚拟机系统里面出现并使用。

请注意鼠标的拥有权是独立于键盘的: 如果在 VM 窗口标题栏上单击后,鼠标不一定能由VM拥有。

要释放的VM鼠标的拥有权,也是按主机键。

由于这个性能不是很方便, VirtualBox 提供了一个叫作“ VirtualBox Guest Additions ”一系列工具和设备驱动程序来支持客户系统实现VM 键盘和鼠标的无缝操作。 最重要的,这套工具会自动在主机与客户机窗口之间切换。

这将会在第4章,P54,The VirtualBox Guest Additions 有详细38

的介绍。

3.4.1.2 键入特殊字符

操作系統期待某些特殊的組合鍵以启动某些相应的程序。一些组合键很难被输进虚拟机中,这有点像有三个候选人要相互竞争获得这些组合键的输入,这些人就是主机操作系统,VirtualBox和客户机操作系统。它们三个当中谁获得这些组合键是由许多因素影响的,这也包括键码本身。

• 主机操作系统为自己保留某些组合键。 例如如果您希望重新启动您虚拟机中客户操作系统,却使用Ctrl+Alt+Delete按键组合是不可能达到这个目的的。因为这个组合键是硬性捆绑到主机的操作系统中(Windows 和 Linux 都会截获),因此按下此组合键将重新启动您的主机系统。

在Linux中,组合键 Ctrl+Click Alt Backspace 通常用来重置 X 服务器 (如有粘滞,重新启动整个图形用户界面)。 X 服务器截获此组合键,按它将重新启动您的主机图形用户界面 (并终止所有运行当中的程序,包括 VirtualBox和在VirtualBox 下运行的程序)。

第三,也是在Linux 下,组合键 Ctrl+ Alt +Fx (其中Fx 是F 1到F12的功能键) 通常允许在虚拟终端之间相互切换。 Ctrl+Alt+Delete,这个组合键是由主机操作系统截获,因此,始终切换的是主机系统上的终端。

如果您想向虚拟机的客户操作系统发送这些组合键,您需要使用以下方法之一:

– 使用在虚拟机器窗口的 “ Machine(装置) ” 菜单中的项。您会发现 “Insert Ctrl+ Alt+Delete” 和 “ Ctrl+ Alt+ Backspace ” ; 后者将只在 Linux 客户系统起作用。

– 按特殊组合键加上主机键(通常是右 Ctrl 键),然后VirtualBox将会翻译到虚拟机中:

*主机键+ del ,发送 Ctrl+Alt +Del 到虚拟机中(重新启动客户系统) ;

*主机键+ Backspace ,发送Ctrl+ Alt+Backspace到虚拟机中(重新启动图形用户界面);

*主机键+ F 1 (或其他功能键),模拟 Ctrl+ Alt+F 1 (或

39

其他功能键,即若要在一个 Linux 客户系统的虚拟终端之间相互切换)。

• 对于某些其他组合键如 Alt+Tab (在打开的窗口之间切换),如果虚拟机拥有当前焦点VirtualBox 允许您设置是否让这些组合键被该主机或是客户系统截获。这是虚拟机的全局设置,可以在 “ 文件“-》“ 全局设置 ” -》 ” “ 输入 ” -》 “ 自动捕获键盘 ” 下找到。

3.4.2 变更可移动媒介

运行一个虚拟机时, 您可以从虚拟机窗口的 “ 设备 ” 菜单中更改可移动媒体。 在这里,您可以详细地选择VirtualBox 提供到VM的如 CD、 DVD 或软盘。

这些设置与在 VirtualBox 主窗口的 “ 设置 ” 对话框设置效果是一样的,但由于 VM 处于 “ 运行 ” 或 “ 保存 ” 状态时,将禁用该对话框,所以此额外的菜单使您不必每次都关闭或重启VM,就可以更改媒体。

因此,在 “ 设备 ” 菜单中, VirtualBox 允许您将主机的驱动器附加到客户机中或使用磁盘映像管理器选择软盘或DVD镜像,所有这些已经在3.3章节, 34页,虚拟机基础配置,中有所述。

3.4.3 保存虚拟机的状态

当您单击的虚拟机窗口的 “ 关闭 ” 按钮 (在窗口的顶部,就像您会在您的系统上关闭任何其他窗口一样) (或按主机键+ “Q”),VirtualBox 将会询问您是否要 “ 保存 ”VM的状态 或 “关闭“VM的”电源 ”。

40

这两个选项之间的区别是关键:

• Save the machine state(保存机器状态): 使用此选项

VirtualBox将 “ 冻结 ” 虚拟机,通过完全保存其状态到您的本地磁盘中。 当您稍后恢复 VM (通过在 VirtualBox 主窗口中再次单击 “ 开始 ” 按钮) 时, 您会发现 VM 继续在它被停止地方运行。

所有程序仍是打开的,并且您的计算机恢复了运行。

保存虚拟机的状态,方法上有点类似于笔记本电脑的暂停 (例如通过关闭笔记本电脑盖)。

• Send the shutdown signal(发送关闭信号)。 这会将发送一个 ACPI

关闭信号到虚拟机当中,与在真实的计算机上按电源按钮有相同的效果。 只要在 VM中安装并运行一个相当现代的操作系统,这将触发 VM 中一个规范的关机机制。

• Power off the machine(关闭计算机电源): 使用此选项

VirtualBox 也停止运行虚拟机,但不保存其状态。

这相当于直接在没有正确关闭的计算机上拔掉电源插头。 如果再次启动计算机时,您的操作系统就必须完全重新启动,可能会开始漫长的其 (虚拟的) 系统磁盘检查。

因此,这通常不应该这样做,因为它可能会使得磁盘上的数据丢失或使得客户系统的异常。

VirtualBox主窗口中的 “ Discard ” 按钮将丢弃虚拟机所保存的状态。 这与关掉电源的效果是一样的,也会有相应的警告。

3.4.4 快照

使用 VirtualBox快照,您可以保存供以后使用的特定的虚拟机状态。 在以后的时间里,即使已经更改了VM,您也可以还原到该状态。

为了确保一个客户系统不被意外更改,或是软件、病毒的恶意行为而损坏,这是尤其有用的。

一旦您已经用自己想要的方式设置了虚拟机,只需采取一个快照,在任何时候你所安装的客户系统出问题了,您就可以还原到其快照状态。

若要使用 VM 的快照,执行下列步骤:

41

如您 VM当前在是“ 保存 ” 或 “ 关闭电源 ” 状态

(在VirtualBox主窗口VM旁边有显示),请单击主窗口顶部的 “ 快照 ” 选项卡利,然后单击小相机图标 (“进行快照操作”)。

如果您的 VM当前正在运行, 从VM 窗口中的“ 控制 ” 的下拉菜单中选择“ 采取快照 ”。

2. 之后将会弹出窗口,要求您为快照命名。 此名称纯粹是为了帮助您记住快照状态。 例如,一个有用的名称如

“ 刚安装的系统”。

3. 您新的快照将会显示在“ 快照 ”选项卡下的列表中,在下边的列表中您将看到称为 “ 当前状态 ”的项 ,表示您的 VM 当前状态是基于的快照较早前的变化。(如果稍后操作另一个快照,您将看到他们显示在列表中,每个后续快照都是在较早前的快照的派生而来)。

要恢复到较早的快照,您点击 “ 当前状态” 项并选择 “放弃当前状态 ”。 这将会为VM带回来最近的快照的状态。 相同的方式,您可以为合并几个较早的快照。

注意: 快照恢复会影响到您VM的虚拟硬盘驱动器,如虚拟硬盘驱动器的整个状态将被还原。 这也意味着已创建了自该快照以来的所有文件和所有其他文件数据更改都将丢失。 为了使用快照功能而防止这类数据丢失,可以通过 VBoxManage 接口添加一块可写模式的虚拟硬盘来存储您的数据。 由于通过写入模式的硬盘驱动器不包括在快照中,当恢复一台计算机时他们将保持不变。详细信息参见第 5 章, 虚拟存储, P65。

1.

本来想将这个英文资料整个手册翻译,但由于时间不够,而且大部分功能国内朋友用不到,现在就将最有用的Guset Addition部分进行翻译,后面(也包括3.5节后)的章节将不再进行翻译。

42

第4章 The VirtualBox Guest Additions

上一章涵盖VirtualBox入门及虚拟机中操作系统的安装。本章将通过提供主机和客户机之间的紧密集成使您的生活更容易,并提高客户系统的交互式性能。这章将介绍Guest Additions详细信息。

4.1介绍

正如在第 1.1章节,虚拟化基础, 中所说Guest Additions旨在虚拟机内安装, 他们包括设备驱动程序和优化客户操作系统的以获得更好的性能和可用性的系统应用程序。

VirtualBox Guest Additions为所有受支持的客户操作系统提供一个称的单一CD-ROM 镜像文件。要为特定VM安装Guest Additions,您要在VM的虚拟 CD-ROM中装入此 ISO

文件,并安装它。

请查看1.5 章,所支持的客户操作系统,第 14 页,获取有关VirtualBox所完全支持的客户操作系统的详细信息,

The Guest Additions提供以下功能:

整合鼠标指针

为了克服3.4.1.1章节,捕获和释放键盘和鼠标,第 37页,所描述的鼠标支持的限制,The Guest Additions提供无缝鼠标支持。

实际上,一个特定的鼠标驱动程序安装在了客户系统里面与你的主机 “ 真正 ” 鼠标驱动程序进行通信。这样将只有一个鼠标指针,当客户系统捕获了鼠标指针后无须再按主机键来释放鼠标。

更好的视频支持

在任何客户操作系统中 VirtualBox 模拟虚拟显卡提供了所有基本的功能,安装Guest Additions,自定义视频驱动程序将提供的额外高且非标准的视频模式,以及加速视频性能。 此外,Windows 和最近的Linux、 Solaris 和 OpenSolaris 客户系统,当安装了Guest

Additions时,您将可以自由调整大小虚拟机窗口的大小并且客户系统将会自动调整视频分辨率 (如果您在客户系统显示设置中已手动输入的任意的设置)。

对于Linux,Solaris 客户系统,Xorg Server 1.3 或更高版本需要自动调整 (由于Fedora 9供应的X服务器中存在 bug,此功能已在Fedora 9 客户系统当中禁用)。 服务器版本可以到 Xorg检查相应的43

版本。

时间同步

安装Guest Additions, VirtualBox 可以确保客户系统时间更好地同步。 这就修复了这样一个问题,一个操作系统通常期望不被干扰而拥有100%的计算机时间,当你的VM与你的主机操作系统或其他主机上的应用程序一起运行这将不再是什么问题了。因此,客户操作系统的计时将被Guest Additions来重新同步到主机系统当中。

共享的文件夹

这是给主机与客户系统之间提供交换文件的一个简单方法。

类似Windows普通的网络共享,您可以告诉 VirtualBox一个作为共享文件夹的某一文件夹, VirtualBox 会使其像网络共享一样对于客户操作系统可用。 有关的详细信息,请参阅第 4.6章节, 共享文件夹。

无缝的 Windows

使用此功能,您可以映射显示在桌面上个别的虚拟机窗口到主机桌面上,就像在主机上运行的应用程序一样。 请参见4.7 章节,无缝 Windows 的有关详细信息。

共享剪贴板

安装 Guest Additions,客户系统(可选)可与您主机的操作系统共享剪贴板,请参见3.7.1章节, 常规设置。

4.2 Windows Guest Additions

VirtualBox Windows Guest Additions旨在为虚拟机中所安装运行的

Windows 系列的操作系统提供支持。VirtualBox Windows Guest Additions 支持以下版本的 Windows 客户系统:

• Microsoft Windows NT 4.0 (any service pack)

• Microsoft Windows 2000 (any service pack)

• Microsoft Windows XP (any service pack)

• Microsoft Windows Server 2003 (any service pack)

• Microsoft Windows Vista (all editions)

通常是建议安装 Windows Guest Additions的。

4.2.1安装 Windows Guest Additions

挂载Guest Additions镜像文件后,Windows客户系统将会自动启动Guest

Additions安装程序,将Guest Additions安装到你Windows客户系统中。

44

4.2.1.1 挂载 Additions 镜像文件

在虚拟机菜单栏的 “ 设备 ” 菜单中,点击 “ 安装guest additions(增强工具) ” 菜单项,VM 窗口中将自动挂载Additions。

如果想手动装入Additions,可以执行下列步骤:

1. 启动已安装在虚拟机中的Windows。

2. 在虚拟机菜单栏“ 设备 ” 菜单中,选择 “ 挂载CD /

DVD-ROM ”然后选择“ CD/ DVD-ROM 镜像 ”。 这将打开虚拟磁盘管理器,虚拟磁盘管理器有关内容请查看3.5章节。

3. 在虚拟管理磁盘器中, 按下 “ 添加 ” 按钮并浏览您的主机文件系统,找到 文件:

在 Windows 主机上, 您可以在 VirtualBox 安装目录中找到此文件(通常在 C:Program filesSunxVM VirtualBox)。

在Mac OS X 主机上, 您可以在应用程序包中找到此文件。

在 Linux 主机上, 您可以在安装 VirtualBox文件夹下的additions文件夹中找到此文件(通常 /opt/VirtualBox-2.0.6)。

4. 返回虚拟磁盘管理器,选择该 ISO 文件,然后按 “ 选择 ” 按钮。这将装入 ISO 文件并在您的 Windows 客户系统的CD-ROM中呈现。

4.2.1.2 运行安装程序

除非您在 Windows中禁用自动启动功能,否则

Windows 会立即从Additions ISO自动启动 VirtualBox

Guest Additions安装程序。 如果已关闭自动启动功能,从

CD/DVD 驱动器选择 启动安装程序。

安装程序将向 Windows 驱动程序数据库中添加多个设备驱动程序,然后调用硬件检测向导。

在这个过程当中,它可能显示驱动程序未经过数字签名的警告。 您必须选择确认以继续安装Additions。

安装后, 重新启动客户操作系统以激活Additions。

4.2.2 升级 Windows Guest Additions

Windows Guest Additions,可以通过再次运行安装程序进行45

更新。 然后,这将替换以前的驱动程序到所更新的版本。

或者,您可以打开 Windows 设备管理器,选择 “ 更新驱动程序 „„ “ ,更新两个设备:

lBox 图形适配器

lBox 系统设备

为上面每一个选项选择您将提供的驱动程序,并使用 “ 磁盘查找 ” 将向导指向 CD-ROM 驱动器。

4.2.3 自动安装(无从值守安装)

为了可以在Windows 2000 和 XP实现完全无人参与安装,Guest Additions驱动程序文件已分别放在 ISO 文件上。 像其它第三方驱动程序文件一样,这些文件必须复制到的

Windows OEM 目录下。 使用 PCI 硬件检测,他们将会识别并自动安装。

4.2.4 Windows Vista 联网

Windows Vista 不再附带AMD PCnet 以太网卡的驱动程序,而这个驱动VirtualBox 默认情况下会为客户系统提供(请参阅第 6.1章节 虚拟网络硬件)。 因此,虚拟机中的 Vista

安装后, 最初将无法连接网络。

是为了方便, VirtualBox 附带一个 32 位的AMD

PCnet 驱动,在 Windows Guest Additions中。 如果在32 位

Vista 中安装了Guest Addition,这个驱动程序将自动安装上。

可能由于某种原因,您希望手动安装驱动程序,您可以在Guest Addition ISO 上找到它。 要安装此驱动程序,挂载Guest Addition,然后,启动 Windows 硬件向导,并直接将它指向Guest Addition CD目录,一般在

32bitWindows3rdPartyAMD_PCnet目录下可以找到

PCnet 卡的驱动程序。

或者,更改 Vista 客户 VM 设置,使用一个 Intel 网络卡而不是默认的 AMD PCnet 卡 。

遗憾的是,没有 64 位驱动程序可供 AMD PCnet 卡使用。

因此, 64 位 Windows VM 应使用 Intel 网络设备

4.3 Linux Guest Additions

像 Windows Guest Additions 一样,VirtualBox Guest

46

Additions for Linux 也是采用一套设备驱动程序和应用程序的形式安装在客户操作系统上。

VirtualBox Guest Additions for Linux支持以下的 Linux 发行版:

• Fedora Core 4, 5, 6, 7 and 8

• Redhat Enterprise Linux 3, 4 and 5

• SUSE and openSUSE Linux 9, 10.0, 10.1, 10.2 and 10.3

• Ubuntu 5.10, 6.06, 7.04, 7.10 and 8.04

如果其他Linux发行版,只要它们基于相同的软件版本,Guest Additions就可能起作用。

在 SUSE 和 openSUSE 10.2,Ubuntu 6.10 (所有版本) 和 Ubuntu 6.06 (Server Edition) 等默认的

Linux 内核版本中存在让虚拟机运行时并在启动过程中可以导致其崩溃的错误。 Guest Additions也可以在这些系统中正常工作。

与 Windows 客户系统一样,我们建议安装

VirtualBox Linux Guest Additions。

4.3.1 安装Linux Guest Additions

如上文所述,在相同的 ISO 光盘上提供 VirtualBox Guest

Additions for Linux。 他们还附带指导您完成安装过程的安装程序,由于Linux 发行版之间的不同, 可能导致安装过程稍微复杂一点。

安装过程包括以下步骤:

1. 在安装Guest Additions之前必须准备为您的客户系统生成外部内核模块。 这是与VirtualBox 内核模块章节中所述的过程一样,只是主机系统改为了客户系统而已。

2. 在 Linux 客户系统的虚拟 CD-ROM 驱动器中装入 文件,与前面在Windows客户系统操作过程是一样的。

3. 转到您的CD-ROM 驱动器目录文件夹下,并作为root权限执行:

sh ./

47

如果是64位的Linux客户系统,请使用

sh ./

VirtualBox Guest Additions包含几个不同的驱动程序。

如果因任何原因您不想将它们安装所有的驱动程序,您可以指定安装的驱动程序,在命令行输入-例如的

sh./ X 11

安装 X 窗口图形驱动程序。 在命令中键入

sh./ help

查询更多有关信息。

4.3.2 图形加速器和高分辨率图形模式

在 Linux 客户系统中, VirtualBox 视频加速可通过 X

Window系统来使用,特别的,最新的 Linux 发行版中,这将会 在 Server中体验到。 在安装过程中, X 窗口将被设置为使用 VirtualBox 视频驱动程序。 最近的 Linux 客户系统 (即是运行 Server 版本 1.3 或更高版本,除Fedora9外)图形样式可以通过鼠标调整大小 VirtualBox 窗口,或使用 VBoxManage 工具发送视频模式提示来执行。

如果您只使用最近新版的 Linux 客户系统,可以跳过本节其余内容。 在旧的客户系统中,任何图形模式在使用安装前,都要进行设置。 如果这些模式不做满足您的要求,您可以通过编辑通常位于X 服务器 /etc/X11/ 的配置文件更改您的设置。

VirtualBox 可以使用任何默认的适合分配给虚拟机虚拟视频内存的X 图形模式。 您还可以添加您自己的模式到 X

服务器配置文件。 您只需将它们添加到“Screen”块的”Display”子块的 “ Modes ”列表中。 例如示部分有添加一个自定义 2048 x 800 的分辨率模式:

Section "Screen"

Identifier "Default Screen"

Device "VirtualBox graphics card"

Monitor "Generic Monitor"

DefaultDepth 24

SubSection "Display"

Depth 24

Modes "2048x800" "800x600" "640x480"

EndSubSection

EndSectio

4.3.3 更新Linux Guest Aditions

48

Guest Aditions可以简单地通过再次使用已更新的光盘镜像执行安装过程来进行更新。 这将替换驱动程序到更新的版本。

更新后,您应重新启动系统。

4.6 共享文件夹

共享文件夹允许您主机系统的文件与您客户系统的文件进行互相访问,就像 Windows 网络上的普通共享 –然而,共享文件夹无需进行网络配置。 共享文件夹必须驻留在物理主机上,然后与客户系统共享 ; 共享使用的是由 VirtualBox

提供的主机的特殊服务和客户系统的文件系统驱动程序来完成。

要使用此功能,VirtualBox Guest Aditions要被安装上。

但是请注意,只有 Windows (2000 或更新版本)和Linux

客户系统才支持共享文件夹功能。

为了与VirtualBox虚拟机共享一个主机文件夹,您必须指定该文件夹的路径,并为其选择一个 “ 共享名称 ”,以便客户系统可以访问使用它。因此,首先在主机上创建共享的文件夹 , 然后在客户系统上连接到它。

为特定的虚拟机设置共享的文件夹的方法有多种:

• 在运行的虚拟机的图形用户界面,您可以从 “ 设备 ”

菜单中选择“ 共享文件夹 ” 项或单击虚拟机窗口底部的状态栏上的文件夹图标。

• 如果虚拟机当前未运行,可以在每个虚拟机 “ 设置 ”

对话框中配置共享文件夹。

•在VBoxManage 命令行界面您可以使用命令来创建使用的共享文件夹; 请参考第 8 章 VBoxManage。 该命令如下:

VBoxManage sharedfolder add "VM name" -name "sharename"

-hostpath "C:test"

有两种共享类型:

1. VM 共享只可用于已定义的 VM当中 ;

49

2.瞬态 VM 共享,可在运行时添加和删除,并在VM停止之后不复存在 ; 对于这类,在上面的命令行中添加 -transient 参数。

默认情况下共享文件夹在主机上具有读 / 写访问权限。 要限制客户系统只有只读访问权限,创建一个只读属性的共享文件夹。这在创建共享文件夹时,使用 GUI 或在VBoxManage追加-readonly参数就可以做到。

然后,您可以从VM内部以装入一个普通的网络共享相同的方式装入共享文件夹:

• 在Windows客户系统当中,从 VirtualBox 1.5.0版以后,共享文件夹在Windows

资源管理器中是可见的,并是可浏览的。因此,为了将主机共享的文件夹附加到 Windows 客户系统去,你要打开 Windows 资源管理器,在“ 我的网络中心(位置) ”"-> “ 整个网络 ”"-> “ VirtualBox 共享文件夹 ”下查找。

通过右键单击共享文件夹,并从弹出菜单中选择“ 映射网络驱动器 ”,您可以为该共享文件夹分配一个驱动器号。或者,在 Windows 命令行上使用以下命令:

net use x: vboxsvrsharename

vboxsvr 是一个固定的名称 (请注意该 vboxsrv 也会工作),将你要使用的驱动器字母替换“ x: “,并在VBoxManage指定共享的文件名替换“sharename”。

• 在 Linux 客户系统下,使用以下命令:

mount -t vboxsf [-o OPTIONS] sharename mountpoint

用 VBoxManage指定的共享文件夹名称替换掉上边命令的sharename,和用你要所挂载的共享文件夹的路径替换掉mountpoint(例如/mnt/share)。 通常应用装入规则的是,如果它不还存在,必须首先创建此目录。

4.7 Seamless windows 无缝窗口技术

VirtualBox的“ 无缝 窗口” 功能,你可以让虚拟机中显示的窗口看起来就像是在主机上打开的窗口一样。 (假定安装了Guest Additions)以下的客户系统将支持此功能:

• Windows guests (从 VirtualBox 1.5开支持);

• Linux 或伴随 1.3版本或更高的 Solaris/OpenSolaris guests,

除了Fedora 9, 因为在它X server 中存在一个bug(从 VirtualBox

50

1.6版开始支持)

无缝窗口技术启用了之后 (见下文), VirtualBox 将不会显示你客户系统的桌面背景,这就就允许你无缝地运行客户操作系统窗口与主机系统窗口的接合:

要启用无缝模式,在虚拟机启用之后,按下主机键 (通常是右Ctrl 键)+“ L ”。

这会增大VM显示窗口到您的主机屏幕的尺寸,并且将掩盖客户操作系统背景。

要回到 “ 正常 ”的 VM 显示窗口, (即要禁用无缝窗口技术),再次按主机键和 “ L ”即可。

51

本文标签: 系统使用安装客户