ITPub博客

首页 > IT职业 > IT生活 > [转贴]

[转贴]

原创 IT生活 作者:newdayhope 时间:2006-02-16 15:51:24 0 删除 编辑
在x86中如何启动到单用户模式维护系统

一.x86在启动时有两种启动方式
1.按ESC进入手动启动模式
2.默认进入自动启动模式

二.通常在系统硬件发生改变或使用第二块硬盘启动系统时可以进入手动启动模式

在启动时按ESC键,进入手动启动模式,这时的界面和初装x86时的界面一样,敲F2会重新检测硬件,并可以设置更新.
到下一步

[] DISK 从第一块硬盘启动(默认)
[] DISK 从第二块硬盘启动
[] CD 可以塞入Solaris soft1一路下去,到提示你开始安装拷贝文件时,选取消,你就用CDROM进了单用户,通常可以用这种方法改密码,修复改错的shell,修复硬盘
[] NET 从网络启动

三.在默认自动启动的情况下

Type b [file-name] [boot-flags] ;
or i ;
or ;


1.b(boot)选项

b -a 交互式启动,相当于SPARC下boot -a
b -s 启动到单用户模式,相当于SPARC下boot -s
b -r 检测新设备,用户在添加删除新的硬件设备,相当SPARC下boot -r
b -b 维护模式,但我测试中发现不是很好使,/usr/bin会找不到,基本的命令都使不了。
也不知道问题在哪
b cdrom -s 用cdrom启动到单用户模式,相当于SPARC下boot cdrom -s
b net 从net启动,相当于SPARC下boot net
b kernel/unix -s 当boot-file改变时候,或/usr/bin找不到,b -a,b -s不能使用时,可以用这条命令切换到单用户模式。
b path/kernel/unix -as 用交互模式从指定的path的kernel/unix启动

2.i(interpreter)交互时启动选项
键入i进入,可以用户改变引导选项和标志,探察设备和总线,运行诊断程序。
在>;状态下可以按ctrl+d回复到正常启动。

>;
>;help 查看帮助
>;printenv 查看启动选项(eeprom)
auto-boot?='true'
auto-boot-cfg-num='-1'
auto-boot-timeout='5' 默认5秒不按b,i就直接进入系统
boottimeout='0'
bshfirst='false'
output-device='screen'
input-device='keyboard'
boot-file='kernel/unix'
target-driver-for-scsi='sd'
target-driver-for-direct='cmdk'
target-driver-for-csa='cmdk'
target-driver-for-dsa='cmdk'
target-driver-for-smartii='cmdk'
pciide='true'
prealloc-chunk-size='0x2000'
ata-dma-enabled='0'
kbd-type=US-English(104-Key)
kbd-wkeys='true'
probed-arch-name='i86pc'
probed-compatible='i86pc'
bootpath=/pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
>;show-devs 显示所有device nodes
>;.properties 显示所有active node属性
>;set 查看变量
>;set name 设置变量为空
>;set name string 把变量值设置为指定值 例如:>;set boot-file kernel/unix


在交互模式下也可以改这些属性,但,真的是超级的危险,改不好就挂了,而且通常挂了还你不知道死在哪了,SUN对这些一点介绍资料都没有,至少偶没见过。

不过,我们可以用其他的方法改这些属性。

四.在x86中修改eeprom属性

# eeprom 查看eeprom
auto-boot?=true
auto-boot-cfg-num=-1
auto-boot-timeout=5
boottimeout=0
bshfirst=false
output-device=screen
input-device=keyboard
boot-file=kernel/unix <---------这项不可以改,一旦改变,系统就不能启动,偶在这里壮烈过,因为solairs IA不支持64位
target-driver-for-scsi=sd
target-driver-for-direct=cmdk
target-driver-for-csa=cmdk
target-driver-for-dsa=cmdk
target-driver-for-smartii=cmdk
pciide=true
prealloc-chunk-size=0x2000
ata-dma-enabled=0
kbd-type=US-English(104-Key)
kbd-wkeys=true
probed-arch-name=i86pc
probed-compatible=i86pc
bootpath=/pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
# eeprom auto-boot? <--------设置auto-boot,如果你改成了false,你重启动后就和按
按ESC进入手动启动模式一样,会重新检测硬件
auto-boot?=true
# eeprom auto-boot?=false
# eeprom auto-boot?
auto-boot?=false
# eeprom auto-boot-timeout=10 〈-------设置进入自动启动模式的默认启动时间,你要是懒的看到那个等5秒,就把它设置为0
# eeprom auto-boot-timeout
auto-boot-timeout=10
#eeprom bootpath=/pci@0,0/pci-ide@7,1/ide@0/cmdk@1,0:a 从第二块硬盘启动

(注意:最好别在这里设置,敲错一点就完蛋了,偶有过惨痛的经历~~~~~~~~~~~~~~~~~)

SUN直到现在好象也没有这方面的比较完整的介绍,特别是在interpreter模式下。直到现在偶没搞明白interpreter模式下很多设置,例如:>;setenv boot-file kernel/unix

>;unset boot-file
总是设置好了但不能保存不知道是什么回事,不过感觉基本也上够用了,希望了解这方面的老大能多多指点。



以上命令全部测试通过
测试环境:
1.Solaris 8 FreeX86 ,x86_Recommanded
P3 800,512M,10G,10G

2.VMware 3.2,Solaris 8 FreeX86 ,x86_Recommanded
DELL latitude C600
p3 800,256M,10G,虚拟2G硬盘3个
[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/181629/viewspace-815350/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 2.15
下一篇: 2.17
请登录后发表评论 登录
全部评论
  • 博文量
    413
  • 访问量
    13191959