| 首页>>论坛 >>技术社区 >>x86 >>驱动及BIOS | | ![]() |
| 我要发帖 | 我要投票 | 我要回复 | 收藏 |
|
如果选择进入 Device Configuration Assistant 菜单,请按 Esc 键以中断自动引导过程。 此时会显示 Device Configuration Assistant 菜单。 如果系统显示 Press any key to reboot 提示,请按任意键以重新引导系统。 在出现此提示时,还可以使用“重置”按钮。如果系统已关闭,请使用电源开关打开系统。
|
host-name console login: |
以下示例说明在从本地 CD-ROM 中的 Solaris 10 OS 自动引导系统后如何修复 /etc/passwd 文件。基于 GRUB 的引导是在 Solaris 10 1/06 发行版中引入的。有关在基于 GRUB 的引导环境中引导系统以便进行恢复的信息,请参见如何使用 GRUB 在基于 x86 的系统上引导故障安全归档文件。
SunOS Secondary Boot version 3.00
Solaris Booting System
Running Configuration Assistant...
If the system hardware has changed, or to boot from a different
device, interrupt the autoboot process by pressing ESC.
Press ESCape to interrupt autoboot in 5 seconds.
Initializing system
Please wait...
<<< Current Boot Parameters
>>>
Boot path: /pci@0,0/pci-ide@7,1/ide@1/sd@0,0:a
Boot args:
Select the type of installation you want to perform:
1 Solaris Interactive
2 Custom JumpStart
3 Solaris Interactive Text (Desktop
session)
4 Solaris Interactive Text (Console
session)
Enter the number of your choice followed by the <ENTER> key.
Alternatively, enter custom boot arguments directly.
If you wait for 30 seconds without typing anything,
an interactive installation will be started.
Select type of installation: b -s
.
.
.
# mount /dev/dsk/c0t0d0s0 /a
.
.
.
# cd /a/etc
# vi passwd
(Remove invalid entry)
# cd /
# umount /a
# init 6
|
此过程说明在 Solaris 10 OS 中装入内核调试器 (kmdb) 的基本原理。缺省情况下将启用 savecore 功能。有关使用内核调试器的更多详细信息,请参见《Solaris 模块调试器指南》。
有关在当前 Solaris 发行版中使用内核调试器引导系统的逐步说明,请参见x86: 如何在 GRUB 引导环境中使用内核调试器 (kmdb) 引导系统。
引导系统。
在 Select (b)oot or (i)nterpreter 提示符下键入 b -k。按 Enter 键。
访问内核调试器。
用于输入调试程序的方法因访问系统所使用的控制台类型而异:
如果使用的是本地连接的键盘,请按 F1–A 组合键。
如果使用的是串行控制台,请使用适合于该控制台类型的方法来发送中断信号。
首次访问内核调试器时,将显示欢迎消息。
在 Select (b)oot or (i)nterpreter 引导提示符下键入 b -k 可将系统引导至其缺省模式,还会装入 kmdb。本示例说明如何将具有 32 位计算能力的基于 x86 的系统引导至 32 位模式,同时装入 kmdb。
Press any key to reboot.
.
.
.
<<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
Boot args:
Type b [file-name] [boot-flags] <ENTER> to boot with
options
or i <ENTER> to enter boot
interpreter
or <ENTER> to boot with
defaults
Running Configuration Assistant...
<<< timeout in 5 seconds >>>
Select (b)oot or (i)nterpreter: b -k
Loading kmdb...
SunOS Release 5.10 Version gate:2004-10-21 32-bit
Copyright 1983-2004 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
.
.
.
|
本示例说明如何使用 kmdb 将具有 64 位计算能力的基于 x86 的系统手动引导至 64 位模式。
Press any key to reboot
.
.
.
<<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
Boot args:
Type b [file-name] [boot-flags] <ENTER> to boot with
options
or i <ENTER> to enter boot
interpreter
or <ENTER> to boot with
defaults
<<< timeout in 5 seconds >>>
Select (b)oot or (i)nterpreter: b kernel/amd64/unix -k
Loading kmdb...
|
本示例说明如何使用 kmdb 将具有 64 位计算能力的基于 x86 的系统手动引导至 32 位模式。
Press any key to reboot
.
.
.
<<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
Boot args:
Type b [file-name] [boot-flags] <ENTER> to boot with
options
or i <ENTER> to enter boot
interpreter
or <ENTER> to boot with
defaults
<<< timeout in 5 seconds >>>
Select (b)oot or (i)nterpreter: b kernel/unix -k
Loading kmdb...
|
有时,为了排除故障,必须强制进行崩溃转储并重新引导系统。缺省情况下将启用 savecore 功能。
有关系统故障转储的更多信息,请参见《系统管理指南:高级管理》中的第 17 章 “管理系统故障转储信息(任务)”。
如果您不能使用 reboot -d 或 halt -d 命令,则可以使用内核调试器 kmdb 来强制实施故障转储。必须已在引导时或使用 mdb -k 命令装入了内核调试器,以下过程才能正常进行。
注 –
必须处于文本模式中,才能进入内核调试器 (kmdb)。因此,首先要退出任何窗口系统。
如果将本地连接的键盘用作系统控制台,请在该键盘上按 F1-A 组合键。如果将系统配置为使用远程(串行)控制台,请使用适合于该控制台的机制发送中断字符。
此时将显示 kmdb 提示符。
使用 systemdump 宏引发崩溃转储。
[0]> $<systemdump |
此时将显示应急消息,保存崩溃转储,随后系统将重新引导。
通过在控制台登录提示符下登录来确认系统已重新引导。
本示例说明如何使用 halt -d 和 boot 命令强制实施基于 x86 的系统 neptune 的崩溃转储和重新引导。使用此方法强制实施系统崩溃转储。运行带有 -d 选项的 halt 命令后,需要手动重新引导系统。
# halt -d
Aug 11 12:51:27 neptune halt:
halted by <user> panic[cpu45]/thread=d3971a00: forced crash
dump initiated at user request
d363ae58 genunix:kadmin+bd (5, 0, 0, d3fefac0)
d363af88 genunix:uadmin+88 (5, 0, 0, 0, 0, d363afb4)
syncing file systems... done
dumping to /dev/dsk/c0t0d0s1, offset 107806720, content: kernel
100% done: 40223 pages dumped, compression ratio 4.11, dump
succeeded
Press any key to reboot.
Resetting...
.
.
.
SunOS Secondary Boot version 3.00
Autobooting from bootpath: /pci@0,0/pci1028,10a@3/sd@0,0:a
Running Configuration Assistant...
If the system hardware has changed, or to boot from a different
device, interrupt the autoboot process by pressing ESC.
Initializing system
Please wait...
<<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci1028,10a@3/sd@0,0:a
Boot args:
Type b [file-name] [boot-flags] <ENTER> to boot with
options
or i <ENTER> to enter boot
interpreter
or <ENTER> to boot with
defaults
<<< timeout in 5 seconds >>>
Select (b)oot or (i)nterpreter:
Loading kmdb...
SunOS Release 5.10 Version s10_62 32-bit
Copyright 1983-2004 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
configuring IPv4 interfaces: iprb0.
add net default: gateway 172.20.26.248
Hostname: neptune
The system is coming up. Please wait.
checking ufs filesystems
/dev/rdsk/c0t0d0s7: is logging.
NIS domain name is example.com
starting rpc services: rpcbind keyserv ypbind done.
Setting netmask of iprb0 to 255.255.255.0
Setting default IPv4 interface for multicast: add net 224.0/4:
gateway venus
syslog service starting.
System dump time: Wed Aug 11 12:51:29 2004
Aug 11 13:13:26 venus savecore: saving system crash dump in
/var/crash/venus/*.1
Constructing namelist /var/crash/venus/unix.1
Constructing corefile /var/crash/venus/vmcore.1
100% done: 42157 of 42157 pages saved
volume management starting.
The system is ready.
.
.
.
|
在某些情况下,尝试将具备 64 位计算能力的基于 x86 的系统引导至 64 位模式可能会失败。这种故障可能会产生如下错误:
Select (b)oot or (i)nterpreter: b kernel/amd64/unix . . . pci: cannot load driver Cannot load drivers for /pci@0,0/pci1022,7450@a/pci17c2,10@4/sd@0,0:a (Can't load the root filesystem) Press any key to reboot. . . . |
如果出现这类故障,请在 Select (b)oot or (i)nterpreter 引导提示符下键入以下命令,将系统引导至 32 位模式:
Select (b)oot or (i)nterpreter: b kernel/unix |
有关更多信息,请参见示例 16–3。
以下各节包含与引导未实现基于 GRUB 的引导的 Solaris x86 系统有关的参考信息。
注 –
在此 Solaris 发行版中,GRUB 菜单取代了 Solaris Device Configuration Assistant。有关在此 Solaris 发行版中引导基于 x86 的系统的更多信息,请参见使用 GRUB 引导基于 x86 的系统(任务图)。
在引导过程中,可以通过引导子系统菜单来自定义引导选项。如果系统在超时时间内未收到任何响应,它将使用缺省的选择继续自动引导。您可以在显示每个引导子系统菜单时停止引导过程。或者,可以使引导过程自动继续进行。
在 Solaris 引导过程中的三个时间点,可以针对引导系统进行以下选择:
主引导子系统(“分区引导”菜单)-如果磁盘上存在多个操作系统,则将显示此第一个菜单。通过该菜单,可以引导已安装的任何操作系统。缺省情况下,将引导指定为活动的操作系统。
请注意,如果选择引导除 Solaris 操作系统 以外的系统,则不能访问接下来的两个菜单。
中断自动引导过程-如果中断自动引导过程,则可以访问 "Device Configuration Assistant" 菜单。
通过 Solaris Device Configuration Assistant,可以从其他引导设备引导 Solaris 系统、配置新的或配置错误的硬件,或执行其他与设备或与引导有关的任务。
“当前引导参数”菜单-此菜单存在两种形式,一个菜单用于常规的 Solaris 引导,另一个菜单用于 Solaris 安装引导:
通过常规的“当前引导参数”菜单,可以使用选项引导 Solaris 系统,也可以输入引导解释程序。
通过安装“当前引导参数”菜单,可以选择要执行的安装类型,也可以自定义引导过程。
下表概述了基于 x86 的系统主引导界面的用途。有关每个引导界面的详细说明和示例,请参见接下来的几节。
表 16–1 x86: 引导子系统
引导子系统 | 目的 |
|---|---|
主引导子系统(“分区引导”菜单) | 如果用于引导的磁盘包含多个操作系统,包括 Solaris 操作系统(Solaris Operating System, Solaris OS),则会出现此菜单。 |
辅助引导子系统 | 每次引导 Solaris 发行版时,都会出现此菜单。除非选择通过中断自动引导过程来运行 Solaris Device Configuration Assistant,否则将自动引导 Solaris 发行版。 |
Solaris Device Configuration Assistant/引导软盘 | 访问 Device Configuration Assistant 菜单的方法有两种:
|
“当前引导参数”菜单 | 从磁盘、CD-ROM 或网络引导 Solaris 发行版时,将出现此菜单。该菜单提供了引导选项的列表。 |
注 –
如果需要创建 Solaris Device Configuration Assistant 引导软盘,请转至 http://www.sun.com/bigadmin/hcl/drivers/dca_diskettes/。
在此发行版中,如果通过 Solaris Software 1 CD、DVD 引导基于 x86 的系统,或者执行 PXE 网络引导,则系统将自动引导。要使用 Device Configuration Assistant,必须在系统提示时按 Esc 键,以中断引导过程。
在设备识别阶段,Device Configuration Assistant 将执行以下操作:
扫描系统上安装的设备
显示识别的设备
使您可以执行可选任务,如选择键盘类型或编辑设备及其资源
在引导阶段,Device Configuration Assistant 将执行以下操作:
显示用于引导的设备的列表。带有星号 (*) 标记的设备为缺省引导设备。
使您可以执行可选任务,如编辑自动引导设置和属性设置,以及选择网络配置策略。
下一节将提供在设备识别阶段出现的菜单的示例。设备输出因系统配置而异。
当 Device Configuration Assistant 尝试识别系统中的设备时,将显示多个屏幕。
本节提供了以下引导子系统屏幕的示例:
Device Configuration Assistant 屏幕
“总线枚举”屏幕
“扫描设备”屏幕
“已识别设备”屏幕
注 –
在当前的 Solaris 发行版中,Device Configuration Assistant 屏幕已被基于 x86 的系统上的 GRUB 菜单取代。有关更多信息,请参见使用 GRUB 引导基于 x86 的系统(任务图)。
在 Solaris 10 初始发行版中,自动引导过程会跳过 Device Configuration Assistant 菜单,除非您在引导阶段看到系统提示时按了 Esc 键。如果选择使用 Device Configuration Assistant,则会显示以下屏幕。
Solaris Device Configuration Assistant
The Solaris(TM)Device Configuration Assistant
scans to identify system hardware, lists identified devices, and
can
boot the Solaris software from a specified device. This program
must be
used to install the Solaris operating environment, add a driver,
or change the hardware on the system.
> To perform a full scan to identify all system hardware, choose
Continue.
> To diagnose possible full scan failures, choose Specific Scan.
> To add new or updated device drivers, choose Add Driver.
About navigation...
- The mouse cannot be used.
- If the keyboard does not have function keys or they do
not respond,
press ESC. The legend at the bottom of the screen will
change to
show the ESC keys to use for navigation.
- The F2 key performs the default action.
F2_Continue F3_Specific Scan F4_Add
Driver F6_Help
|
当 Device Configuration Assistant 针对可自动检测的设备收集硬件配置数据时,会短时间出现“总线枚举”屏幕。
Bus Enumeration Determining bus types and gathering hardware configuration data ... Please wait ... |
当 Device Configuration Assistant 手动扫描仅能使用特殊驱动程序检测的设备时,将出现“扫描设备”屏幕。
Scanning Devices The system is being scanned to identify system hardware. If the scanning stalls, press the system's reset button. When the system reboots, choose Specific Scan or Help. Scanning: Floppy disk controller ####################### | | | | | | 0 20 40 60 80 100 Please wait ... |
“已识别设备”屏幕显示在系统上已识别的设备。从该屏幕可以继续访问“引导 Solaris”菜单。
或者,可以执行以下可选的设备任务:
设置键盘配置
查看并编辑设备
设置串行控制台
保存并删除配置
Identified Devices
The following devices have been identified on this system. To
identify
devices not on this list or to modify device characteristics, such
as
keyboard configuration, choose Device Tasks. Platform types may be
included in this list.
ISA: Floppy disk controller
ISA: Motherboard
ISA: PnP bios: 16550-compatible serial controller
ISA: PnP bios: 16550-compatible serial controller
ISA: PnP bios: Mouse controller
ISA: PnP bios: Parallel port
ISA: System keyboard (US-English)
PCI: Bus Mastering IDE controller
PCI: Universal Serial Bus
PCI: VGA compatible display adapter
F2_Continue F3_Back F4_Device Tasks F6_Help
|
注 –
从 Solaris 10 1/06 发行版开始,系统引导时将会显示 GRUB。有关基于 GRUB 的引导的更多信息,请参见使用 GRUB 引导基于 x86 的系统(任务图)。
在此阶段,您可以确定系统的引导方式。
引导阶段将显示以下菜单:
“引导 Solaris”菜单
“当前引导参数”菜单
通过“引导 Solaris”菜单,可以选择用于引导 Solaris 发行版的设备。还可以执行可选任务,如查看并编辑自动引导和属性设置。选择引导设备并选择“继续”后,Solaris 内核便会开始引导。
Boot Solaris
Select one of the identified devices to boot the Solaris kernel and
choose Continue.
To perform optional features, such as modifying the autoboot and
property
settings, choose Boot Tasks.
An asterisk (*) indicates the current default boot device.
> To make a selection use the arrow keys, and press Enter to
mark it [X].
[X] DISK: (*) Target 0:QUANTUM FIREBALL1280A
on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
[ ] DISK: Target 1:ST5660A
on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
[ ] DISK: Target 0:Maxtor 9 0680D4
on Bus Mastering IDE controller on Board PCI at Dev 7, Func
1
[ ] CD : Target 1:TOSHIBA CD-ROM XM-5602B 1546
on Bus Mastering IDE controller on Board PCI at Dev 7, Func
1
F2_Continue F3_Back F4_Boot Tasks F6_Help
|
每次从本地磁盘引导 Solaris 发行版时,都会出现此菜单。如果要引导缺省的 Solaris 内核,请等待五秒钟的超时时间过去。如果要使用其他选项进行引导,请在超时时间内选择一个适当的选项。
<<< Current Boot Parameters
>>>
Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
Boot args:
Type b [file-name] [boot-flags] <ENTER> to boot with
options
or i <ENTER> to enter
boot interpreter
or <ENTER> to boot with
defaults
<<< timeout in 5 seconds >>>
Select (b)oot or (i)nterpreter:
|
下表介绍了基于 x86 的系统上的引导过程。
表 16–2 x86: 引导过程的说明
引导阶段 | 说明 |
|---|---|
BIOS | 1. 打开系统时,BIOS 将运行自检诊断,以验证系统的硬件和内存。如果未发现任何错误,系统便会开始自动进行引导。如果发现了错误,则会显示错误消息,说明恢复选项。 此时会运行其他硬件设备的 BIOS。 |
| 2. BIOS 引导程序尝试读取引导设备中的第一个磁盘扇区。引导设备上的第一个磁盘扇区包含已加载并执行的主引导记录 mboot。如果系统未找到 mboot 文件,则会显示错误消息。 |
引导程序 | 3. 主引导记录 mboot 包含查找活动分区和 Solaris 引导程序 pboot 位置所需的磁盘信息,并会装入和执行 pboot、mboot。 |
4. Solaris 引导程序 pboot 装入主引导程序 bootblk。bootblk 命令用于装入位于 UFS 文件系统中的辅助引导程序。 | |
5. 如果有多个可引导的分区,bootblk 会读取 fdisk 表以找到缺省的引导分区,并生成和显示可用分区的菜单。您有 30 秒的时间来选择用于引导的替代分区。只有在系统中存在多个可引导的分区时,才会出现此步骤。 | |
6. bootblk 在根 (/) 文件系统中查找并执行辅助引导程序 boot.bin 或 ufsboot。您有 5 秒钟的时间来中断自动引导,以便启动 Solaris Device Configuration Assistant。 | |
7. 辅助引导程序 boot.bin 或 ufsboot 启动用于执行 /etc/bootrc 脚本的命令解释程序。此脚本提供了用于引导系统的选项菜单。缺省操作是装入并执行内核。您有 5 秒钟的时间间隔来指定引导选项或启动引导解释程序。 | |
内核初始化 | 8. 内核自行进行初始化并使用辅助引导程序(boot.bin 或 ufsboot)开始装入模块,以读取文件。内核为挂载根 (/) 文件系统装入足够的模块后,它将取消映射辅助引导程序并使用其自己的资源继续操作。 |
9. 内核创建用户进程并启动 /sbin/init 进程,从而通过读取 /etc/inittab 文件来启动其他进程。 | |
init | 10. 在此 Solaris 发行版中,/sbin/init 进程会启动 /lib/svc/bin/svc.startd,从而启动将执行以下操作的系统服务:
此外,svc.startd 还会执行用于保持兼容性的运行控制 (rc) 脚本。 |
除了运行控制脚本和引导文件以外,还有其他与引导基于 x86 的系统关联的引导文件。
表 16–3 x86: 引导文件
文件 | 说明 |
|---|---|
/etc/bootrc | 包含用于引导 Solaris 发行版的菜单和选项。 |
/boot | 包含引导系统所需的文件和目录。 |
/boot/mdboot | 用于将一级引导程序 (strap.com) 从磁盘装入内存的 DOS 可执行文件。 |
/boot/mdbootbp | 用于将一级引导程序 (strap.com) 从软盘装入内存的 DOS 可执行文件。 |
/boot/rc.d | 包含安装脚本的目录。请勿修改此目录的内容。 |
/boot/solaris | 包含引导子系统项的目录。 |
/boot/solaris/boot.bin | 装入 Solaris 内核或独立的 kmdb。此外,该可执行文件还提供了一些引导固件服务。 |
/boot/solaris/boot.rc | 在 x86 系统上列显 Solaris 操作系统并在 DOS 模拟模式下运行 Device Configuration Assistant。 |
/boot/solaris/bootconf.exe | Device Configuration Assistant 的 DOS 可执行文件。 |
/boot/solaris/bootconf.txt | 包含 Device Configuration Assistant 的国际化消息的文本文件 (bootconf.exe)。 |
/boot/solaris/bootenv.rc | 存储用于设置引导环境的 eeprom 变量。 |
/boot/solaris/devicedb | 包含 master 文件、实模式驱动程序支持的所有可能设备的数据库的目录。 |
/boot/solaris/drivers | 包含实模式驱动程序的目录。 |
/boot/solaris/itup2.exe | 在安装时更新 (install time update, ITU) 过程中运行的 DOS 可执行文件。 |
/boot/solaris/machines | 已废弃的目录。 |
/boot/solaris/nbp | 与网络引导关联的文件。 |
/boot/solaris/strap.rc | 包含有关要装入的装入模块以及在内存中所装入位置的说明的文件。 |
/boot/strap.com | 用于将二级引导程序装入内存的 DOS 可执行文件。 |
|
|
|
| ||||||||||||||||||||||
|
| 我要发帖 | 我要投票 | 我要回复 | 收藏 |
|
| 您尚未 登录 | 注册 |
|
|