任务 |
说明 |
参考 |
---|---|---|
停止系统以便进行恢复。 |
如果损坏的文件阻止系统正常引导,请首先停止系统以尝试恢复。 | |
强制实施系统故障转储和重新引导。 |
作为一种故障排除措施,您可以强制实施系统故障转储和重新引导。 | |
引导基于 SPARC 的系统以便进行恢复。 |
引导以便修复阻止系统成功引导的重要系统文件。 | |
引导具有 Oracle Solaris ZFS 根的基于 SPARC 的系统进行恢复。 |
引导系统以恢复 root 口令或妨碍您成功登录 Oracle Solaris ZFS 根环境的类似问题,根据错误的严重性,您需要引导故障安全模式或从备用介质引导。 | |
使用内核调试器引导系统。 |
您可以使用内核调试器引导系统,以排除引导问题。使用 kmdb 命令引导系统。 |
您可能需要使用以下一种或多种方法来排除阻止系统成功引导的问题。
诊断系统引导时出现的错误消息。
停止系统以尝试恢复。
引导系统以便进行恢复。
强制实施系统故障转储和重新引导。
使用 kmdb 命令通过内核调试器引导系统。
显示器将显示 ok PROM 提示符。
ok |
同步文件系统。
ok sync |
看到 syncing file systems...(正在同步文件系统)消息时,请再次按 Stop 组合键。
键入相应的 boot 命令以启动引导过程。
有关更多信息,请参见 boot(1M) 手册页。
确认已将系统引导至指定的运行级别。
# who -r . run-level s May 2 07:39 3 0 S |
Press Stop-A ok sync syncing file systems... Press Stop-A ok boot |
有时,为了排除故障,必须强制实施崩溃转储并重新引导系统。缺省情况下将启用 savecore 功能。
有关系统故障转储的更多信息,请参见《系统管理指南:高级管理》中的第 17 章 “管理系统故障转储信息(任务)”。
使用以下过程可以强制实施系统崩溃转储。该示例遵循以下过程,说明如何使用 halt -d 命令强制实施系统崩溃转储。运行此命令后,您需要以手动方式重新引导系统。
为系统键入 Stop 组合键。
特定的 Stop 组合键取决于您的键盘类型。例如,您可以按 Stop-A 或 L1-A。终止时,请按 Break 键。
PROM 将显示 ok 提示符。
> n ok sync |
将崩溃转储写入磁盘后,系统将继续重新引导。
确认系统引导至运行级别 3。
引导过程成功完成后,将显示登录提示。
hostname console login: |
本示例说明如何使用 halt -d 和 boot 命令强制实施崩溃转储和 jupiter 系统重新引导。使用此方法可以强制实施崩溃转储和系统重新引导。
# halt -d Jul 21 14:13:37 jupiter halt: halted by root panic[cpu0]/thread=30001193b20: forced crash dump initiated at user request 000002a1008f7860 genunix:kadmin+438 (b4, 0, 0, 0, 5, 0) %l0-3: 0000000000000000 0000000000000000 0000000000000004 0000000000000004 %l4-7: 00000000000003cc 0000000000000010 0000000000000004 0000000000000004 000002a1008f7920 genunix:uadmin+110 (5, 0, 0, 6d7000, ff00, 4) %l0-3: 0000030002216938 0000000000000000 0000000000000001 0000004237922872 %l4-7: 000000423791e770 0000000000004102 0000030000449308 0000000000000005 syncing file systems... 1 1 done dumping to /dev/dsk/c0t0d0s1, offset 107413504, content: kernel 100% done: 5339 pages dumped, compression ratio 2.68, dump succeeded Program terminated ok boot Resetting ... Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 333MHz), No Keyboard OpenBoot 3.15, 128 MB memory installed, Serial #10933339. Ethernet address 8:0:20:a6:d4:5b, Host ID: 80a6d45b. Rebooting with command: boot Boot device: /pci@1f,0/pci@1,1/ide@3/disk@0,0:a File and args: kernel/sparcv9/unix SunOS Release 5.10 Version s10_60 64-bit Copyright 1983-2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. configuring IPv4 interfaces: hme0. add net default: gateway 172.20.27.248 Hostname: jupiter The system is coming up. Please wait. NIS domain name is example.com . . . System dump time: Wed Jul 21 14:13:41 2004 Jul 21 14:15:23 jupiter savecore: saving system crash dump in /var/crash/jupiter/*.0 Constructing namelist /var/crash/jupiter/unix.0 Constructing corefile /var/crash/jupiter/vmcore.0 100% done: 5339 of 5339 pages saved Starting Sun(TM) Web Console Version 2.1-dev... . . . |
如果重要文件(如 /etc/passwd)包含无效项并导致引导过程失败,请使用此过程。
如果不知道 root 口令,或者如果无法登录系统,请使用此过程中介绍的 Stop 组合键。有关更多信息,请参见SPARC: 如何为恢复目的停止系统。
替换以下过程中的 device-name 变量所需文件系统的设备名称。要识别系统的设备名称,请参阅《系统管理指南:设备和文件系统》中的“显示设备配置信息”。
使用系统的 Stop 组合键停止系统。
在单用户模式中引导系统。
安装包含特定文件(带有无效项)的文件系统。
# mount /dev/dsk/device-name /a |
更改为新安装的文件系统。
# cd /a/file-system |
设置终端类型。
# TERM=sun # export TERM |
使用编辑器从文件中删除无效项。
# vi filename |
转到根目录 (/)。
# cd / |
卸载 /a 目录。
# umount /a |
重新引导系统。
# init 6 |
确认系统已引导至运行级别 3。
引导过程成功完成后,将显示登录提示。
hostname console login: |
以下示例说明在从本地 CD-ROM 引导之后如何修复重要的系统文件(在本例中为 /etc/passwd)。
ok boot cdrom -s # mount /dev/dsk/c0t3d0s0 /a # cd /a/etc # TERM=vt100 # export TERM # vi passwd (Remove invalid entry) # cd / # umount /a # init 6 |
以下示例说明在您忘记了 root 口令时如何从网络引导系统。此示例假设已具备网络引导服务器。确保在系统重新引导后应用新的 root 口令。
ok boot net -s # mount /dev/dsk/c0t3d0s0 /a # cd /a/etc # TERM=vt100 # export TERM # vi shadow (Remove root's encrypted password string) # cd / # umount /a # init 6 |
以故障安全模式引导系统。
ok boot -F failsafe |
出现系统提示时,在 /a 上挂载 ZFS BE。
. . ROOT/zfsBE was found on rpool. Do you wish to have it mounted read-write on /a? [y,n,?] y mounting rpool on /a Starting shell. |
成为超级用户。
转到 /a/etc 目录。
# cd /a/etc |
更正 passwd 或 shadow 文件。
# vi passwd |
重新引导系统。
# init 6 |
此过程说明装入内核调试器 (kmdb) 的基本原理。有关更多详细信息,请参见 Solaris Modular Debugger Guide。
如果您没有时间交互式地调试系统,请使用带有 -d 选项的 reboot 和 halt 命令。运行带有 -d 选项的 halt 命令后需要以手动方式重新引导系统。但是,如果使用 reboot 命令,系统会自动进行引导。有关更多信息,请参见 reboot(1M)。
停止系统,使其显示 ok 提示符。
要正常停止系统,请使用 /usr/sbin/halt 命令。
要请求装入内核调试器,请键入 boot kmdb 或 boot -k。按回车键。
输入内核调试器。
用于输入调试程序的方法因访问系统所使用的控制台类型而异:
如果正在使用本地连接的键盘,请根据键盘类型按 Stop-A 或 L1–A 组合键。
如果正在使用串行控制台,请使用适合于该控制台类型的方法来发送中断信号。
首次输入内核调试器时,将显示欢迎消息。
Rebooting with command: kadb Boot device: /iommu/sbus/espdma@4,800000/esp@4,8800000/sd@3,0 . . . |
ok boot kmdb Resetting... Executing last command: boot kmdb -d Boot device: /pci@1f,0/ide@d/disk@0,0:a File and args: kmdb -d Loading kmdb... |