系统管理指南:基本管理

从网络引导基于 x86 的系统

本节介绍有关从网络执行基于 GRUB 的引导的要求和警告。

如果引导服务器可用,任何系统都可以从网络进行引导。如果系统不能从本地磁盘进行引导,您可能需要从网络引导独立系统以便进行恢复。可以从支持 PXE 网络引导协议的网络来直接引导基于 x86 的系统。


注 –

PXE 网络引导只适用于实现了 Intel 引导前执行环境规范的设备。


用于基于 GRUB 的 PXE 网络引导的缺省网络引导策略是 DHCP。对于非 PXE 设备,可以使用 DHCP 引导策略或 RARP 引导策略。使用的策略取决于网络上可用的引导服务器的类型。如果没有可用的 PXE 或 DHCP 服务器,则可以从软盘、CD-ROM 或本地磁盘装入 GRUB。

要执行基于 GRUB 的网络引导,需要有为 PXE 客户机配置的 DHCP 服务器。还需要提供 tftp 服务的引导服务器。DHCP 服务器提供客户机配置其网络接口所需的信息。

DHCP 服务器必须能够使用以下信息响应 DHCP 类(PXEClientGRUBClient):

    以下是执行 Oracle Solaris OS 的 PXE 网络引导的顺序:

  1. BIOS 被配置为从网络接口进行引导。

  2. BIOS 发送 DHCP 请求。

  3. DHCP 服务器在回复中提供服务器地址和引导文件的名称。

  4. BIOS 使用 tftp 下载 pxegrub 并执行 pxegrub

  5. 系统使用 tftp 下载 GRUB 菜单文件。

    此文件显示可用的引导菜单项。

  6. 选择菜单项后,系统即开始装入 Oracle Solaris OS。

有关更多信息,请参见 《系统管理指南:IP 服务》中的“如何设置网络配置服务器”

运行 add_install_client 命令可以创建 /tftpboot_01ethernet-address 文件。此文件链接至 pxegrub/tftpboot/menu.lst.01ethernet-address 文件。/tftpboot/menu.lst.01ethernet-address 文件是 GRUB 菜单文件。如果此文件不存在,则 pxegrub 将恢复使用 DHCP 选项 150(如果指定了此选项)或 /tftpboot/boot/grub/menu.lst 文件。通常,将单系统设置为提供两项功能。此时,add_install_client 命令会使用正确的 pxegrub 菜单文件和 Oracle Solaris 文件设置 /tftpboot 文件。DHCP 服务是使用 add_install_client 命令单独进行处理的。对每台客户机只需完成一次设置。有关更多信息,请参见x86: 关于 DHCP 宏x86: 如何从网络执行基于 GRUB 的引导

x86: 关于 DHCP 宏

当您使用 add_install_client -d 脚本在安装服务器上添加客户机时,脚本将把 DHCP 配置信息报告到标准输出。创建用于将网络安装信息传递到客户机所需的选项和宏时,可以使用此信息。

要通过网络使用 DHCP 服务器安装 DHCP 客户机,必须创建 DHCP 选项。安装 Oracle Solaris OS 时需要用到此信息。

当客户机发送 DHCP 请求时,服务器必须具有以下客户机信息:

DHCP 服务器会作出响应。此响应基于以下,且与客户机请求匹配:

类宏

类宏基于 DHCP 请求中包含的类字符串。在基于 x86 的系统上,BIOS 已使用类 PXEClient:Arch:00000:UNDI:002001 创建了 DHCP 请求。如果在 DHCP 服务器配置中已按此名称定义了宏,则宏内容将被发送到基于 x86 的客户机。

网络宏

网络宏由客户端所在子网的 IP 地址命名。如果已在 DHPC 服务器上定义了宏 129.146.87.0,则宏内容将被发送到该子网上的所有客户机。宏内容的发送与请求类无关。如果同时在类宏和网络宏中定义了选项,则网络宏优先使用。

IP 宏

IP 宏由 IP 地址命名。该宏很少使用。

客户机宏

客户机宏以客户机的类型(01 表示以太网)和客户机的 MAC 地址(使用大写字母)命名。对于具有以太网地址 0:0:39:fc:f2:ef 的客户机,对应的宏名称为 01000039FCEF。请注意,客户机宏中没有冒号。

例如,对于子网 192.168.100.0 上具有以太网地址 0:0:39:fc:f2:ef 的客户机(创建类 PXEClient 的 DHCP 请求),DHCP 服务器具有以下匹配的宏:


PXEClient
	BootSrvA:  192.168.100.0
	BootFile:  pxegrub
  129.146.87.0
	Router:    129.146.87.1
	NISdmain:  sunsoft.eng.sun.com
  01000039FCEF
	BootFile:  01000039FCEF
The actual DHCP response will be
	BootSrvA:  192.168.100.0
	BootFile:  01000039FCEF
	Router:    129.146.87.1
	NISdmain:  sunsoft.eng.sun.com

请注意,客户机宏中的 BootFile 将覆盖类宏中的 BootFile

有关更多详细信息,请参见 《Oracle Solaris 10 9/10 安装指南:基于网络的安装》中的“使用 DHCP 服务预配置系统配置信息(任务)”

Procedurex86: 如何从网络执行基于 GRUB 的引导

要执行基于 GRUB 的网络引导,需要有为 PXE 客户机配置的 DHCP 服务器。还需要提供 tftp 服务的引导服务器。DHCP 服务器必须能够对 DHCP 类(PXEClientGRUBClient)做出响应,才能获取文件服务器和引导文件 (pxegrub) 的 IP 地址。缺省情况下,此菜单文件为 /tftpboot/menu.lst.01ethernet-address。如果此文件不存在,则 pxegrub 将恢复到 DHCP 选项 150(如果指定了此选项),或 /tftpboot/boot/grub/menu.lst 文件。

如果您是从 Solaris 软件介质来引导系统,系统会自动进行引导。

开始之前

使用 GRUB 在基于 x86 的系统上执行网络引导之前,请执行以下操作:

有关更多信息,请参见 《Oracle Solaris 10 9/10 安装指南:基于网络的安装》中的第 4  章 “从网络进行安装(概述)”

  1. 在 DHCP 服务器上,使用以下两个选项为 DHCP 服务创建客户机宏:

    • BootSrvA: svr-addr

    • BootFile: client-macro

      请注意,您必须对 DHCP 服务器具有超级用户权限才能运行 dhtadm 命令。

      其中,svr-addr 是服务器的 IP 地址,client-macro 以客户机的以太网类型 (01) 以及 MAC 地址来命名(使用大写字母)。此编号也是在安装服务器上的 /tftpboot 目录中使用的文件的名称。


      注 –

      client-macro 的表示法不应包含任何冒号。


      您可以使用 DHCP GUI 或命令行界面来创建客户机宏。

      要从命令行创建客户机宏,请键入:


      # dhtadm -[MA] -m client macro -d
      ":BootFile=client-macro:BootSrvA=svr-addr:"
      
  2. 重新引导系统。

  3. 指示 BIOS 从网络进行引导。

    • 如果系统使用特定的击键序列从网络进行引导,请在显示 BIOS 屏幕时键入这些击键。

    • 如果需要手动修改 BIOS 设置以从网络进行引导,请键入相应的击键序列,以访问 BIOS 设置实用程序。然后,修改从网络进行引导的引导优先级。

  4. 显示 GRUB 菜单时,请选择要安装的网络安装映像。