20.2. 操作系统启动
有许多不同的方法可以分别使用各自的方法引导虚拟机。它们分别在后续子部分进行说明,并包含:BIOS 引导装载程序、主机物理机器引导装载程序以及直接内核引导。
20.2.1. BIOS 引导装载程序
对于支持完全虚拟化的虚拟机监控程序,可以通过 BIOS 启动。在这种情况下,BIOS 具有引导顺序优先级(软盘、硬磁盘、cdrom、网络)确定在哪里获取/查找引导镜像。域 XML 的 OS 部分包含如下信息:
图 20.2. BIOS 引导装载程序域 XML
... <os> <type>hvm</type> <loader>/usr/lib/xen/boot/hvmloader</loader> <boot dev='hd'/> <boot dev='cdrom'/> <bootmenu enable='yes'/> <smbios mode='sysinfo'/> <bios useserial='yes' rebootTimeout='0'/> </os> ...
域 XML 中本节的组件如下:
元素 | 描述 |
---|---|
<type> | 指定要在客户端虚拟机上引导的操作系统类型。HVM 表示操作系统是设计在裸机上运行,因此需要完全虚拟化。Linux 是指支持 Xen 3 管理程序 guest ABI 的操作系统。另外还有两个可选属性,arch 指定到虚拟化的 CPU 架构,以及引用 机器类型的 机器。如需更多信息 ,请参阅驱动程序功能。 |
<loader> | 指的是用于协助域创建过程的一个固件。仅在使用 Xen 完全虚拟化域时才需要。 |
<boot> | 取一个值:fd 、hd 、cdrom 或 网络 ,用于指定要考虑的下一个引导设备。boot 元素可以重复多次重复,以设置引导设备的优先级列表,以便依次尝试。同一类型的多个设备按照其目标进行排序,同时保留总线的顺序。定义域后,libvirt 返回它的 XML 配置(通过 virDomainGetXMLDesc)以排序顺序列出设备。旦排序,第一个设备将标记为可引导。如需更多信息,请参阅 BIOS 引导装载程序。 |
<引导菜单> | 确定是否在 guest 虚拟机启动时启用交互式引导菜单提示。enable 属性可以是 yes 或 no 。如果没有指定,将使用管理程序默认 |
<smbios> | 决定如何在客户机虚拟机中显示 SMBIOS 信息。必须指定 mode 属性,作为模拟(允许虚拟机监控程序生成所有值)、host (所有 Block 0 和块 1,但 UUID 除外)来自于主机物理机器的 SMBIOS 值;virConnectGetSysinfo 调用可用于查看复制的值)或 sysinfo (使用 sysinfo 元素中的值)。 如果没有指定,则使用系统管理程序默认设置。 |
<BIOS> | 此元素具有属性 useserial ,可能的值是 yes 或 no 。属性启用或禁用 Serial Graphics Adapter,允许用户在串行端口上查看 BIOS 信息。因此,一个需要定义串行端口。请注意,有另一个属性 rebootTimeout ,它控制在启动失败时 guest 虚拟机应重新启动的时间(根据 BIOS)应重新启动的时间。该值以毫秒为单位,最大为 65535 ,特殊值 -1 可禁用重启。 |