声明:本人是vBox菜鸟级用户,还没学到这个地方呢,翻译此部分是由于卡饭 豆先生 的指导,说是前边的部分基本上都可以找到中文资料了,有哪里翻译不合适的地方,请各位多提宝贵意见。
第九章9.11--9.17(第9章完结篇)
vBox用户手册第9章 高级主题 翻译资料(一)
http://bbs.kafan.cn/thread-1015557-1-2.html
vBox用户手册第9章 高级主题 翻译资料(二)
http://bbs.kafan.cn/thread-1020216-1-1.html
9.11 配置BIOS DMI信息 DMI数据VirtualBox提供给客户机,对于一个特殊的虚拟机,客户机能被改变。用下面的命令配置DMI BIOS 信息: VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVendor""BIOS Vendor" VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVersion""BIOS Version" VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseDate" "BIOS Release Date" VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMajor" 1 VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMinor" 2 VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFirmwareMajor" 3 VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFirmwareMinor" 4 VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVendor""System Vendor" VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemProduct""System Product" VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVersion""System Version" VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial""System Serial" VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemSKU""System SKU" VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemFamily""System Family" VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemUuid" "9852bf98-b83c-49db-a8de-182c42c7226b" 如果DMI字符串没有被设置,那么使用VirtualBox的默认值。使用"<EMPTY>"设置空字符串。 注意在上面的列表中,所有引用参数(DmiBIOSVendor,DmiBIOSVersion而非DmiBIOSReleaseMajor)被期望设置成字符串。如果这样的一个字符串是一个有效的数字,参数被看成数字,虚拟机很可能以VERR_CFGM_NOT_STRING错误而拒绝开始。在这种情况下,用"string:<value>",例如 VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial""string:1234" 改变这种信息需要提供主机的DMI信息给客户机,防止Windows请求一个新产品密钥。在Linux主机上,DMIBIOS信息的获取用 dmidecode -t0 DMI系统信息的获取用 dmidecode -t1
9.12 微调定时器和时钟同步 9.12.1 配置客户机的时间戳计数器(TSC)反映客户机的执行 默认情况下,VirtualBox保持所有可见时钟源给客户机同步得到一个单时钟源,单调主机时钟。这反映了许多客户机假设的操作系统,希望所有的时钟源反映“挂钟”时间。在特殊情况下,这可能是有用的,但是客户机中的TSC(时间戳计数器)反映的时间其实是执行客户机的时间。 这种特殊的TSC处理模式可以在每个虚拟机的基础上使能,仅仅在与硬件虚拟化结合时,最好的结果必须被使用。用下面命令使能这种模式: VBoxManage setextradata "VM name" "VBoxInternal/TM/TSCTiedToExecution" 1 恢复默认的TSC处理模式用: VBoxManage setextradata "VM name" "VBoxInternal/TM/TSCTiedToExecution" 注意如果特殊的TSC处理模式和客户机操作系统一起使用,且该操作系统对时钟源的一致性要求非常严格,将能得到一个时钟不一致的警告或错误信息。依据所使用的TSC对一些客户机操作系统来说,这也可能造成时钟不可靠。
9.12.2 加速或减慢客户机的时钟 对于一些特殊的目的,加速或减慢(虚拟)客户机时钟是非常有用的。用下面的命令实现: VBoxManage setextradata "VM name" "VBoxInternal/TM/WarpDrivePercentage" 200 上述例子将增加一倍的客户机时钟速度,而 VBoxManage setextradata "VM name" "VBoxInternal/TM/WarpDrivePercentage" 50 将二等分客户机时钟速度。注意虚拟时钟速率的改变可能扰乱客户机甚至导致客户机行为的异常。例如,较高的时钟速率意味着较短的超时设定,由于主机负载的增加,对于有这种情况的虚拟设备将轻微增加虚拟设备的反映时间,从而引起客户机的故障。注意任何时钟同步机制将周期性地刷新客户机相关的时钟(如果VirtualBox客户机附件是有效的,那么相关时钟就是主机时钟),使其重新同步化。因此如果客户机时钟的速率被改变,那么任何同步时钟都应该被禁止,描述上述所示。(见章节9.12.3,调整客户机附件时钟同步参数,149页)。
9.12.3调整客户机附件时钟同步参数 VirtualBox客户机附件确保客户机的系统时钟与主机时钟同步。有几个参数需要调整,对于一个指定的虚拟机,用下面命令设定参数: VBoxManage guestpropertyset VM_NAME "/VirtualBox/GuestAdd/VBoxService/PARAMETER" VALUE 其中,参数是下列之一: --timesync-interval指定间隔要与主机时钟同步。默认是10000ms(10秒)。 --timesync-min-adjust最低绝对的偏离值,以毫秒为单位调整。OS/2上的默认值是1000ms,其他为100ms. --timesync-latency-factor该系数乘以查询延迟时间,动态的计算出最小的调整时间。默认是8倍,详细意思:测量所花费时间来决定主机时间(客户机不得不链接虚拟主机服务器,这可能要花费一些时间),这个值乘以8并且仅仅当主机和客户机时间差大于这个值时,才做调整。其他情况不做任何时间调整。 --timesync-max-latency最大主机定时器查询延迟接受。默认是250ms。 --timesync-set-threshold绝对偏离阈值,以毫秒为单位,给出了从哪里开始设定时间,而不是试图平稳地调整。默认值是20分钟。 --timesync-set-start当启动时钟同步服务器时,设定时钟 --timesync-set-on-restore 0|1 虚拟机从一个已保存的状态恢复后,设置定时器,并传递1作为参数(默认)。禁止传递0。后一种情况,定时器将被平稳地调整,但是要花费很长一段时间。 所有这些参数可能被指定为命令行参数,对VBoxService也一样。
9.13 在Solaris主机上配置多个主机专用网络接口 默认情况下,VirtualBox提供一个主机专用网络接口。在Solaris上增加多个主机专用网络接口要求手动配置。以下是如何增加多于两个主机专用网络接口。 首先,需要停止所有正在运行的虚拟机和未经探测的所有现存的”vbxnet “接口。作为根执行下面命令: ifconfig vboxnet0 unplumb 一旦确保所有vbxnet接口都未被检测,移除驱动程序用: rem_drv vboxnet 然后编辑文件/platform/i86pc/kernel/drv/vboxnet.conf,对新接口增加一行: name="vboxnet" parent="pseudo" instance=1; name="vboxnet" parent="pseudo" instance=2; 这些行中的多数都是被要求增加的,确保“实例”号被唯一地增加。下次重新加载vboxnet用: add_drv vboxnet 目前探测所有的接口用ifconfig vboxnetX plumb(其中在这种情况下,X可取0、1或2),一旦探测到接口,就可以像其他网络接口一样,配置该接口。 为了确保新增加的接口的设置在重新启动之后的持久稳固,需要编辑文件/etc/netmasks,如果用NWAM/etc/nwam/llp,对这些接口增加适当的记录,设置子网掩码和静态IP。VirtualBox安装程序仅仅更新“vboxnet0”接口的这些配置文件,“vboxnet0”接口是默认情况下创建的。
9.14 在Solaris主机上配置[url=]VirtualBoxCoreDumper[/url] 当事件出现错误和进一步调试时,VirtualBox能产生它自身的核心文件。目前这仅仅在Solaris主机上有效。 VirtualBox CoreDumper用下面命令使能: VBoxManage setextradata "VM name" VBoxInternal2/CoreDumpEnabled 1 用下面命令指定哪个目录用于核心转储: VBoxManage setextradata "VM name" VBoxInternal2/CoreDumpDir <path-to-directory> 确保所指定的目录有足够的空闲空间,VirtualBox过程有足够的权限编写文件到这个目录。如果跳过这个命令,就不能指定任何的核心转储目录,当前VirtualBox执行的目录将被使用(在写核心时这很有可能失效,因为它们授根权限保护)。推荐明确地设定一个核心转储文件。 必须指定VirtualBoxCoreDumper何时应该被触发。用下面的命令实现: VBoxManage setextradata "VM name" VBoxInternal2/CoreDumpReplaceSystemDump 1 VBoxManage setextradata "VM name" VBoxInternal2/CoreDumpLive 1 如果已经使能VirtualBox CoreDumper,那么至少提供上面两个命令中的一个。 设置CoreDumpReplaceSystemDump建立虚拟机来覆盖主机的核心转储机制,对发生的任何碰撞事件,仅仅the VirtualBoxCoreDumper会生成核心文件。 无论虚拟机何时接收到一个SIGUSR2信号,设置CoreDumpLive建立虚拟机来生成核心。在生成核心文件之后,虚拟机将不被终止而是继续运行。利用虚拟机进程的核心使用下面命令: kill -s SIGUSR2 <VM-process-id> 通过VirtualBox CoreDumper生成的核心文件的格式core.vb.<ProcessName>.<ProcessID>,例如.core.vb.VBoxHeadless.11321。
9.15 锁定VirtualBox管理员GUI 对于锁定VirtualBox管理员,有几种高级的用户化的设置,那就是,删除一些用户不用的特性。 VBoxManage setextradata global GUI/Customizations OPTION[,OPTION...] 其中,OPTION是下面关键字之一: noSelector不允许启动VirtualBox管理员。试图这样做将显示一个包含适当的错误信息的窗口。 noMenuBar虚拟机窗口将不包含一个菜单栏。 noStatusBar虚拟机窗口将不包含一个状态栏。 禁止任何GUI定制 VBoxManage setextradata global GUI/Customizations 禁止所有主机的组合键,打开首选项,改变主机键为空。在kiosk模式中,使用VirtualBox可能是有用的。 此外,在终止一个虚拟机时可以禁止某些活动。禁止指定的活动,类型: VBoxManage setextradata "VM name" GUI/RestrictedCloseActions OPTION[,OPTION...] 其中,OPTION是下面关键字之一: SaveState当终止虚拟机时,不允许用户保存该虚拟机的状态。 Shutdown 不允许用户通过发送ACPI掉电事件给客户机来关闭虚拟机。 PowerOff 当虚拟机上电时,不允许用户返回到上次瞬态。 上述的任何组合是被允许的。如果所有的选项都被指定,虚拟机根本不能被关闭。
9.16 自动启动VirtualBox web 服务 VirtualBoxweb服务((vboxwebsrv)被用于远程地控制VirtualBox。它在VirtualBox软件开发工具(SDK)中被详细说明;请见11章,VirtualBox程序设计接口,163页。随着使用这种接口的客户群的日益增长,我们对我们所支持的不同操作系统增加开始脚本。下面描述如何使用它们: ● 在Mac OS X上,使用桌面。例如在$HOME/Library/LaunchAgents/org.virtualbox. vboxwebsrv.plist.中能找到配置文件。通过改变Disabled键从true到false使能。用下面命令手动启动服务: launchctl load ~/Library/LaunchAgents/org.virtualbox.vboxwebsrv.plist 在桌面服务上的附加信息如何配置见http:// developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPSystemStartup/ BPSystemStartup.html。
9.17 内存膨胀服务 在VirtualBox4.0.8上开始一个新的主机可执行被调函数VBoxBalloonCtrl对自动地利用虚拟机的配置内存膨胀是有效的(见4.8.1章,内存膨胀,69页对内存膨胀的介绍)。其中在虚拟机执行期间可能动态地要求或多或少的内存,对于这些服务器环境,这种方法十分有用。 VBoxBalloonCtrl周期性地检查虚拟机当前的内存膨胀和空闲的客户机RAM,并通过相应地充气和放气操作,自动地调整当前的内存膨胀。这种处理仅仅适应于最近已经安装Guest Additions的虚拟机。 创建VBoxBalloonCtrl和调节虚拟机最大膨胀尺寸可以得出以下参数,这些参数将按以下顺序检查: ● 通过VBoxBalloonCtrl指定命令行参数--balloon-max ● 每个虚拟机参数使用 VBoxManage setextradata "VM-Name" VBoxInternal/Guest/BalloonSizeMax <Size in MB> ● 对所有虚拟机的全局参数使用 VBoxManage setextradata global VBoxInternal/Guest/BalloonSizeMax <Size in MB> 注意:如果以上参数没有一个指定最大膨胀尺寸,膨胀操作将不被执行。 |
更多的选项和参数查询内置命令行帮助访问--help。
|