跳过导航链接 | |
退出打印视图 | |
引导和关闭 Oracle Solaris 11.1 系统 Oracle Solaris 11.1 Information Library (简体中文) |
以下信息说明在 SPARC 和 x86 平台上显示和设置引导属性的多种方法。有关在引导时或使用 bootadm 命令在基于 x86 的系统上设置引导属性的具体信息,请参见x86: 通过在引导时编辑 GRUB 菜单添加内核参数。
本节提供了以下过程:
引导 PROM 用于引导基于 SPARC 的系统以及修改引导参数。例如,您可能希望在使系统进入多用户状态之前重置从中引导的设备,更改缺省引导文件或内核,或运行硬件诊断。
如果您需要执行以下任一任务,则需要更改缺省引导设备:
向系统永久或临时性地添加新的驱动器
更改网络引导策略
从网络临时引导独立系统
有关 PROM 命令的完整列表,请参见 monitor(1M) 和 eeprom(1M) 手册页。
您可能需要在系统上标识设备来确定将从中引导的相应设备。
开始之前
需要执行以下操作后,才能安全地使用 probe 命令来确定与系统连接的设备。
将 PROM auto-boot? 值更改为 false。
ok setenv auto-boot? false
发出 reset-all 命令以清除系统注册。
ok reset-all
您可以使用 sifting probe 命令查看系统提供的 probe 命令:
ok sifting probe
如果在未清除系统注册的情况下运行 probe 命令,系统将会显示以下消息:
ok probe-scsi This command may hang the system if a Stop-A or halt command has been executed. Please type reset-all to reset the system before executing this command. Do you wish to continue? (y/n) n
ok probe-device
ok setenv auto-boot? true auto-boot? = true
ok reset-all
示例 4-1 SPARC: 标识系统中的设备
以下示例显示如何标识与系统连接的设备。
ok setenv auto-boot? false auto-boot? = false ok reset-all SC Alert: Host System has Reset Sun Fire T200, No Keyboard . . . Ethernet address 0:14:4f:1d:e8:da, Host ID: 841de8da. ok probe-ide Device 0 ( Primary Master ) Removable ATAPI Model: MATSHITACD-RW CW-8124 Device 1 ( Primary Slave ) Not Present Device 2 ( Secondary Master ) Not Present Device 3 ( Secondary Slave ) Not Present ok setenv auto-boot? true auto-boot? = true
或者,您可以使用 devalias 命令标识 可能 与系统相连接设备的设备别名和关联路径。例如:
ok devalias ttya /pci@7c0/pci@0/pci@1/pci@0/isa@2/serial@0,3f8 nvram /virtual-devices/nvram@3 net3 /pci@7c0/pci@0/pci@2/network@0,1 net2 /pci@7c0/pci@0/pci@2/network@0 net1 /pci@780/pci@0/pci@1/network@0,1 net0 /pci@780/pci@0/pci@1/network@0 net /pci@780/pci@0/pci@1/network@0 ide /pci@7c0/pci@0/pci@1/pci@0/ide@8 cdrom /pci@7c0/pci@0/pci@1/pci@0/ide@8/cdrom@0,0:f disk3 /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@3 disk2 /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@2 disk1 /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@1 disk0 /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0 disk /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0 scsi /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2 virtual-console /virtual-devices/console@1 name aliases
# init 0
ok printenv boot-device
标识用于设置引导设备的值。
有关更多信息,请参见 printenv(1B) 手册页。
将会以类似如下的格式显示缺省 boot-device:
boot-device = /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a
如果 boot-device 值指定网络引导设备,则输出如下所示:
boot-device = /sbus@1f,0/SUNW,fas@e,8800000/sd@a,0:a \ /sbus@1f,0/SUNW,fas@e,8800000/sd@0,0:a disk net
开始之前
将缺省引导设备更改为某个其他设备之前,可能需要标识系统上的设备。有关如何标识系统上的设备的信息,请参见SPARC: 如何标识系统中的设备。
# init 0
ok setenv boot-device device[n]
标识 boot-device 值,例如 disk 或 network。可以将 n 指定为磁盘编号。请使用 probe 命令之一,帮助您标识磁盘编号。
ok printenv boot-device
ok reset-all
新 boot-device 值将被写入 PROM。
示例 4-2 SPARC: 使用引导 PROM 更改缺省引导设备
在本示例中,将缺省引导设备设置为磁盘。
# init 0 # INIT: New run level: 0 . . . The system is down. syncing file systems... done Program terminated ok setenv boot-device /pci@1f,4000/scsi@3/disk@1,0 boot-device = /pci@1f,4000/scsi@3/disk@1,0 ok printenv boot-device boot-device /pci@1f,4000/scsi@3/disk@1,0 ok boot Resetting ... screen not found. Can't open input device. Keyboard not present. Using ttya for input and output. . . . Rebooting with command: boot disk1 Boot device: /pci@1f,4000/scsi@3/disk@1,0 File and args:
在本示例中,将缺省引导设备设置为网络。
# init 0 # INIT: New run level: 0 . . . The system is down. syncing file systems... done Program terminated ok setenv boot-device net boot-device = net ok printenv boot-device boot-device net disk ok reset . . . Boot device: net File and args: pluto console login:
使用 eeprom 命令可以显示和修改 EEPROM 中的参数值。不需要任何特殊特权即可显示 EEPROM 参数。但是,要修改这些参数,您必须是管理员或承担 root 角色。请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"。
EEPROM 参数因平台而异。例如,boot-device 是 SPARC 平台上的参数,而非 x86 平台上的参数。要查看您的系统类型可用的 EEPROM 参数,请使用不带参数的 eeprom 命令。
例如,以下是在基于 x86 的系统上执行 eeprom 命令的输出:
$ eeprom keyboard-layout=Unknown ata-dma-enabled=1 atapi-cd-dma-enabled=1 ttyb-rts-dtr-off=false ttyb-ignore-cd=true ttya-rts-dtr-off=false ttya-ignore-cd=true ttyb-mode=9600,8,n,1,- ttya-mode=9600,8,n,1,- lba-access-ok=1 console=ttya
此示例显示了在基于 SPARC 的系统上执行 eeprom 命令的输出:
$ eeprom ttya-rts-dtr-off=false ttya-ignore-cd=true keyboard-layout: data not available. reboot-command: data not available. security-mode=none security-password: data not available. security-#badlogins=0 verbosity=min pci-mem64?=false diag-switch?=false local-mac-address?=true fcode-debug?=false scsi-initiator-id=7 oem-logo: data not available. oem-logo?=false oem-banner: data not available. oem-banner?=false ansi-terminal?=true screen-#columns=80 screen-#rows=34 ttya-mode=9600,8,n,1,- output-device=virtual-console input-device=virtual-console auto-boot-on-error?=false load-base=16384 auto-boot?=true network-boot-arguments: data not available. boot-command=boot boot-file: data not available. boot-device=/pci@780/pci@0/pci@9/scsi@0/disk@0,0:a disk net multipath-boot?=false boot-device-index=0 use-nvramrc?=false nvramrc: data not available. error-reset-recovery=boot
对比两个示例,您可以发现,在基于 SPARC 的系统上有多个额外的参数,以及一些在基于 x86 的系统上不可用的 SPARC 参数。
显示特定引导属性的值,如下所示:
$ eeprom attribute
例如:
$ eeprom auto-boot? auto-boot?=true
使用 eeprom 命令设置特定 EEPROM 值,如下所示:
# eeprom attribute=new-value
例如,要将 auto-boot 参数设置为 false,应键入:
# eeprom auto-boot?=false
显示已更改的值,如下所示:
# eeprom auto-boot? auto-boot?=false
通过指定 boot-args 参数的值可以设置内核引导参数。例如,键入以下命令以指定系统引导内核调试器:
# eeprom boot-args=-k
将 Oracle Solaris 控制台设置切换为图形模式,如下所示:
# eeprom console=graphics
请注意下面关于如何在 x86 平台上设置和存储 EEPROM 属性的其他信息:
在 x86 平台上,通过以下方法模拟 EEPROM 属性的设置:通过在 /boot/solaris/bootenv.rc 文件中存储属性,以及通过操控 GRUB 菜单来模拟设置某些 EEPROM 属性的影响。
设置 boot-args 或 boot-file 属性将导致创建特殊 GRUB 菜单项并对其进行处理,因为这是模拟 x86 平台上的影响的唯一方法。特殊 GRUB 菜单项的标题为 Solaris bootenv rc。该特殊项在其创建时标记为缺省项。
通过在内核命令行上将属性名称设置为其他值,可以覆盖使用 eeprom 命令设置的属性,例如,在引导时编辑 GRUB 菜单。一个示例为,通过使用 eeprom 命令,然后在引导时将 B console=text 添加到内核命令行来将控制台属性设置为 graphics。在这种情况下,控制台类型将设置为 text,即使 bootenv.rc 文件指定了值 graphics。
有关更多详细信息,请参见 eeprom(1M) 手册页。
以下过程介绍了如何在基于 SPARC 的系统上设置缺省引导设备。在 x86 平台上,通过适用于您的固件类型的设置实用程序(如 UEFI Boot Manager)设置引导设备。
注 - 在 x86 平台上,通过适用于您的固件类型的设置实用程序(如 UEFI Boot Manager)设置引导设备。
# eeprom boot-device new-boot-device
# eeprom boot-device
输出应该显示 boot-device 属性的新 eeprom 值。
在关机过程中,如果在引导系统时使用了 console=graphics 选项,并且 Xorg 服务器触发了关机操作,则会显示进度状态指示器。要阻止显示进度状态指示器,请将 svc:/system/boot-config SMF 服务的新 splash-shutdown 属性设置为 false,如下所示:
# svccfg -s svc:/system/boot-config:default setprop config/splash_shutdown = false # svcadm refresh svc:/system/boot-config:default