欢迎来到之路教程(on itroad-com)

网络启动

SPARC 系统可以使用 RARP/bootparams 或者 DHCP 从网络引导。

Solaris boot示例 14:使用 RARP

当使用 RARP 选项通过网络引导时,PROM 会发出反向 ARP 请求。
在响应此请求时,PROM 会广播 TFTP 请求,以通过网络从响应并执行它的任何服务器获取 inetboot。

ok> boot net:rarp

Solaris boot示例 15:使用 DHCP

当使用 DHCP 选项通过网络引导时,PROM 广播系统的 MAC 地址和内核架构,并请求 IP 地址、引导参数和网络配置信息。
收到来自 DHCP 服务器的信息后,PROM 下载 inetboot,将该文件加载到内存中并执行它。
inetboot 调用内核,它加载它需要的文件并释放inetboot。

ok> boot net:dhcp

故障排除

现在,上面讨论的各种引导参数可以一起使用来解决引导问题。
最常用的参数组合是:

Solaris boot示例 16:交互式、详细、单用户使用本地磁盘

ok> boot -avs

Solaris boot示例 17:使用 cdrom 的交互式、详细、单用户

ok> boot cdrom -avs

Solaris boot示例 18:交互式、详细模式、单用户使用网络

ok> boot net -avs
Solaris 引导命令boot示例

当与各种可选参数一起使用时,solaris 引导命令将更改引导行为。

语法

启动命令的通用语法是solaris SPARC 系统是:

ok> boot [device-specifier] [arguments]

通用引导 [设备说明符] 是:

  1. disk
  2. cdrom
  3. net(网络启动镜像)
  4. url (跳转开始)

Solaris boot示例 1:正常启动

默认情况下,不带任何参数的引导命令会将系统引导到多用户模式。

ok> boot

Solaris boot示例 2:

-a 选项将询问配置信息,例如在哪里可以找到系统文件,在哪里挂载 root,甚至覆盖内核本身的名称。
这对于损坏的 /etc/system 文件或者可能在引导过程中使用的任何其他此类文件非常有用。
当要求输入 /etc/system 时,只需输入 /dev/null。
方括号 [] 中提到了默认响应。
按 Enter 选择默认选项。

ok> boot -a

Solaris boot示例 3:详细模式

以详细模式引导系统:

ok> boot -v

Solaris boot示例 4:单用户模式

要将系统引导到单用户模式(初始化级别“s”),请使用 -s 参数。
在这种模式下,所有本地文件系统都被挂载,只有一小组基本内核进程在运行。
这种模式通常用于系统打补丁的情况。
任何用户都不能通过网络登录系统。

ok> boot -s

Solaris boot示例 5:非集群模式

-x 选项仅在 sun 集群的情况下使用,以引导到非集群模式。

ok> boot -x

Solaris boot示例 6:重新配置引导

在重新配置模式下启动时,系统将探测所有硬件设备并分别更新 /dev 和 /devices 中的逻辑和物理命名空间。

ok> boot -r

Solaris boot示例 7:

-f 参数使 Autoclient 系统刷新并重新初始化客户端系统的本地缓存,并通过网络从客户端的文件服务器读取所有文件。
对于所有非 Autoclient 系统,将忽略此标志。

ok> boot -f

Solaris boot示例 8:

-D 参数指定默认文件。
通常,如果没有此选项,系统将选择动态默认文件。

ok> boot -D [default_file]

Solaris boot示例 9:

参数 -w 强制根文件系统在引导时以读写方式挂载。
但是这个选项没有实现。
ufs 根文件系统以只读方式挂载,以避免在 fsck 期间出现问题。
fsck 运行后,它重新挂载为读写。

ok> boot -w

Solaris boot示例 10:SMF 选项

-m 参数可用于指定用于引导系统的 SMF 选项

ok> boot -m [options]

可以用 -m 指定的各种选项是:

verbose	- Print a line for each service as it is started
quiet - Very quiet boot; suppresses standard per-service output and error messages requiring administrative intervention.
debug - Boot in serial mode, with status logging of service success or failure output to the console. The stdout and stderr streams of each method invoked will be connected to the console, as well as the standard logging facilities smf(5) provides.
milestone=[milestone-level]	- Boot to a subgraph defined by the given milestone.

verbose - 在启动时为每个服务打印一行
quiet - 非常安静的启动; 抑制需要管理干预的标准每服务输出和错误消息。
debug - 以串行模式启动,将服务成功或者失败的状态记录输出到控制台。 调用的每个方法的 stdout 和 stderr 流将连接到控制台,以及 smf(5) 提供的标准日志记录工具。
milestone=[milestone-level] - 引导到由给定里程碑定义的子状态。

各种milestone-level是:

none - disable all services.
single-user - roughly the equivalent of run level 1 or S
multi-user - roughly the equivalent of run level 2
multi-user-server - roughly the equivalent of run level 3
all - all enabled services

示例 11:故障安全模式

从 solaris 10 update 6 开始,可以在故障安全模式下引导 ZFS 根 FS 操作系统,以便在主引导环境中的操作系统无法引导时进行故障排除。

ok> boot -F failsafe

Solaris boot示例 12:从可引导的 ZFS 数据集引导

-L 参数允许从磁盘上的特定 zfs 可启动数据集启动。
/rpool/boot/menu.lst 文件中提到了可引导数据集。
这对于 rpool 下的所有数据集都是通用的。
menu.lst 的其他条目是通过引导环境 (BE) 的 Live Upgrade 过程添加的。
在执行 luactivate 后,menu.lst 文件在关闭过程 (init 0 | init 6) 期间更新。

ok> boot -L  
   Rebooting with command: boot -L
   Boot device: /pci@1f,700000/scsi@2/disk@0,0:a  File and args: -L
   1. zfsroot
   2. zfsroot-with-patch
Select environment to boot: [ 1 - 2 ]: 1
To boot the selected entry, invoke: boot [ root-device ] -Z rootpool/ROOT/zfsroot

Solaris boot示例 13:

使用 -Z 参数,我们可以直接指定要引导的可引导 zfs 数据集。

ok> boot -Z rootpool/ROOT/zfsroot
日期:2020-09-17 00:15:16 来源:oir作者:oir