在x86平台上引导和关闭OracleSolaris文件号码E255752012年3月版权所有2012,Oracle和/或其附属公司.
保留所有权利.
本软件和相关文档是根据许可证协议提供的,该许可证协议中规定了关于使用和公开本软件和相关文档的各种限制,并受知识产权法的保护.
除非在许可证协议中明确许可或适用法律明确授权,否则不得以任何形式、任何方式使用、拷贝、复制、翻译、广播、修改、授权、传播、分发、展示、执行、发布或显示本软件和相关文档的任何部分.
除非法律要求实现互操作,否则严禁对本软件进行逆向工程设计、反汇编或反编译.
此文档所含信息可能随时被修改,恕不另行通知,我们不保证该信息没有错误.
如果贵方发现任何问题,请书面通知我们.
如果将本软件或相关文档交付给美国政府,或者交付给以美国政府名义获得许可证的任何机构,必须符合以下规定:U.
S.
GOVERNMENTENDUSERS:Oracleprograms,includinganyoperatingsystem,integratedsoftware,anyprogramsinstalledonthehardware,and/ordocumentation,deliveredtoU.
S.
Governmentendusersare"commercialcomputersoftware"pursuanttotheapplicableFederalAcquisitionRegulationandagency-specificsupplementalregulations.
Assuch,use,duplication,disclosure,modification,andadaptationoftheprograms,includinganyoperatingsystem,integratedsoftware,anyprogramsinstalledonthehardware,and/ordocumentation,shallbesubjecttolicensetermsandlicenserestrictionsapplicabletotheprograms.
NootherrightsaregrantedtotheU.
S.
Government.
本软件或硬件是为了在各种信息管理应用领域内的一般使用而开发的.
它不应被应用于任何存在危险或潜在危险的应用领域,也不是为此而开发的,其中包括可能会产生人身伤害的应用领域.
如果在危险应用领域内使用本软件或硬件,贵方应负责采取所有适当的防范措施,包括备份、冗余和其它确保安全使用本软件或硬件的措施.
对于因在危险应用领域内使用本软件或硬件所造成的一切损失或损害,OracleCorporation及其附属公司概不负责.
Oracle和Java是Oracle和/或其附属公司的注册商标.
其他名称可能是各自所有者的商标.
Intel和IntelXeon是IntelCorporation的商标或注册商标.
所有SPARC商标均是SPARCInternational,Inc的商标或注册商标,并应按照许可证的规定使用.
AMD、Opteron、AMD徽标以及AMDOpteron徽标是AdvancedMicroDevices的商标或注册商标.
UNIX是TheOpenGroup的注册商标.
本软件或硬件以及文档可能提供了访问第三方内容、产品和服务的方式或有关这些内容、产品和服务的信息.
对于第三方内容、产品和服务,OracleCorporation及其附属公司明确表示不承担任何种类的担保,亦不对其承担任何责任.
对于因访问或使用第三方内容、产品或服务所造成的任何损失、成本或损害,OracleCorporation及其附属公司概不负责.
120411@25097目录前言71引导和关闭基于x86的系统(概述)11引导和关闭系统方面的新增功能11通过管理行为提供的driver.
conf文件12位映射控制台支持12引导和关机动画13快速重新引导13x86:取消对32位内核的支持13引导和关闭基于x86的系统(主题列表)14基于x86的系统引导指南14引导系统的原因14服务管理工具和引导15使用SMF时的引导行为更改16运行级别的工作原理16系统引导到多用户状态(运行级别3)时发生的情况17何时使用运行级别或里程碑18OracleSolaris引导体系结构概述18x86引导过程的工作原理18基于GRUB的引导19GRUB组件19GRUB菜单的用途和功能20GRUB设备命名约定20x86和GRUB引导术语202将基于x86的系统引导至指定状态(任务)23将基于x86的系统引导至指定状态(任务列表)233将基于x86的系统引导至指定状态24确定系统的当前运行级别24将基于x86的系统引导至多用户状态(运行级别3)24将基于x86的系统引导至单用户状态(运行级别S)25以交互方式引导基于x86的系统263关闭系统(任务)29关闭系统(任务列表)29关闭系统概述30系统关闭指南30系统关闭命令30关闭系统31如何确定登录到系统的用户31如何使用shutdown命令关闭系统32如何使用init命令关闭系统35关闭系统设备电源364重新引导基于x86的系统(任务)37重新引导基于x86的系统(任务列表)37重新引导基于x86的系统38如何使用init命令重新引导系统38如何使用reboot命令重新引导系统39加速基于x86的系统上的重新引导过程39如何在绕过BIOS的情况下重新引导系统40对系统启动重新引导以引导至新激活的或备用的引导环境40更改快速重新引导功能的缺省行为42对启用了快速重新引导的系统启动标准重新引导425从网络引导基于x86的系统(任务)43从网络引导基于x86的系统(任务列表)43从网络引导基于x86的系统44x86网络引导过程44从网络引导基于x86的系统的要求44如何从网络引导基于x86的系统45目录在x86平台上引导和关闭OracleSolaris2012年3月46在基于x86的系统上修改引导参数(任务)47在基于x86的系统上修改引导参数(任务列表)47在基于x86的系统上修改引导参数49使用eeprom命令显示和设置引导参数49如何使用eeprom命令修改引导参数49在引导时修改引导参数50支持位映射控制台52禁用关机动画53通过编辑menu.
lst文件修改引导项和引导参数54使用bootadm命令显示和设置引导项的参数567在x86平台上从ZFS引导环境创建、管理和引导(任务)59从ZFS引导环境创建、管理和引导(任务列表)59创建和管理引导环境60如何创建新的引导环境61如何创建引导环境的快照62如何基于现有快照创建引导环境62如何激活新创建的引导环境62如何显示可用引导环境、快照和数据集的列表63如何销毁引导环境64在x86平台上从ZFS引导环境或根文件系统引导658使基于x86的系统保持可引导(任务)67使基于x86的系统保持可引导(任务列表)67OracleSolaris引导归档文件说明68获取有关x86引导归档文件的位置和内容的信息68如何列出引导归档文件的内容68管理引导归档文件SMF服务69确定boot-archiveSMF服务是否正在运行69如何启用或禁用boot-archiveSMF服务69维护引导归档文件的完整性70如何使用auto-reboot-safe属性清除失败的自动引导归档文件更新70如何通过手动更新引导归档文件清除失败的自动引导归档文件更新71目录59基于x86的系统引导故障排除(任务)73基于x86的系统引导故障排除(任务列表)73关闭和引导基于x86的系统以便进行恢复74为进行恢复而停止和引导系统75强制实施系统故障转储和重新引导78如何在启用内核调试器(kmdb)的情况下引导系统80对x86平台上的快速重新引导问题进行故障排除81调试可能发生的早期紧急情况81对可能阻止在x86平台上快速重新引导的情况进行故障排除81索引83目录在x86平台上引导和关闭OracleSolaris2012年3月6前言《在x86平台上引导和关闭OracleSolaris》是提供OracleSolaris系统管理信息重要部分的文档集的一部分.
本指南主要包含有关引导基于x86的系统的信息.
但是,有些信息既适用于x86平台,也适用于SPARC平台.
本书假设您已经完成以下任务:已安装OracleSolaris11设置了任何计划使用的网络软件注–此OracleSolaris发行版支持使用SPARC和x86系列处理器体系结构的系统.
支持的系统可以在OracleSolarisOS:HardwareCompatibilityLists(OracleSolarisOS:硬件兼容性列表)中找到.
本文档列举了在不同类型的平台上进行实现时的所有差别.
有关支持的系统,请参见OracleSolarisOS:HardwareCompatibilityLists(OracleSolarisOS:硬件兼容性列表).
目标读者本书适用于所有负责对运行OracleSolaris11发行版的一个或多个系统进行管理的人员.
要使用本书,您应当具备1到2年的UNIX系统管理经验.
参加UNIX系统管理培训课程可能会对您有所帮助.
系统管理指南系列书籍的结构下表列出了系统管理指南系列中各本书包含的主题.
书名主题《在SPARC平台上引导和关闭OracleSolaris》引导和关闭系统、管理引导服务、修改引导行为、从ZFS引导、管理引导归档文件以及在SPARC平台上进行引导故障排除《在x86平台上引导和关闭OracleSolaris》引导和关闭系统、管理引导服务、修改引导行为、从ZFS引导、管理引导归档文件以及在x86平台上进行引导故障排除7书名主题《OracleSolaris管理:常见任务》使用OracleSolaris命令、引导和关闭系统、管理用户帐户和组、管理服务、硬件错误、系统信息、系统资源和系统性能、管理软件、打印、控制台和终端及对系统和软件问题进行故障排除《OracleSolaris管理:设备和文件系统》可移除介质、磁盘和设备、文件系统以及备份和还原数据《OracleSolaris管理:IP服务》TCP/IP网络管理、IPv4和IPv6地址管理、DHCP、IPsec、IKE、IP过滤器和IPQoS《OracleSolarisAdministration:NamingandDirectoryServices》DNS、NIS和LDAP命名与目录服务,包括从NIS转换至LDAP《OracleSolaris管理:网络接口和网络虚拟化》自动和手动IP接口配置包括WiFi无线、网桥管理、VLAN、聚合、LLDP和IPMP、虚拟NIC和资源管理.
《OracleSolaris管理:网络服务》Web高速缓存服务器、与时间相关的服务、网络文件系统(NFS和Autofs)、邮件、SLP和PPP《OracleSolaris管理:OracleSolarisZones、OracleSolaris10Zones和资源管理》资源管理功能,使用此功能可控制应用程序使用可用系统资源的方式;OracleSolarisZones软件分区技术,用于虚拟化操作系统服务以便为运行的应用程序创建独立环境;OracleSolaris10Zones,用于托管运行于OracleSolaris11内核的OracleSolaris10环境《OracleSolaris管理:安全服务》审计、设备管理、文件安全性、BART、Kerberos服务、PAM、加密框架、密钥管理框架、特权、RBAC、SASL、安全Shell和病毒扫描.
《OracleSolarisAdministration:SMBandWindowsInteroperability》SMB服务,使用该服务可配置OracleSolaris系统,从而使SMB客户机可以使用SMB共享;SMB客户机,通过其可访问SMB共享;本机标识映射服务,使用该服务可以在OracleSolaris系统和Windows系统之间映射用户和组标识《OracleSolaris管理:ZFS文件系统》ZFS(Zettabyte文件系统)存储工具以及文件系统的创建和管理、快照、克隆、备份、使用访问控制列表(AccessControlList,ACL)保护ZFS文件、在安装区域的OracleSolaris系统中使用ZFS、仿真卷以及故障排除和数据恢复《TrustedExtensions配置和管理》专用于TrustedExtensions的系统安装、配置和管理《OracleSolaris11安全准则》保护OracleSolaris系统及其安全性功能的使用方案(如区域、ZFS和TrustedExtensions)《从OracleSolaris10转换到OracleSolaris11》在安装、设备、磁盘和文件系统管理、软件管理、网络、系统管理、安全性、虚拟化、桌面功能、用户帐户管理和用户环境方面为从OracleSolaris10转换至OracleSolaris11提供系统管理信息和示例前言在x86平台上引导和关闭OracleSolaris2012年3月8获取Oracle支持Oracle客户可以通过MyOracleSupport获取电子支持.
有关信息,请访问http://www.
oracle.
com/pls/topic/lookupctx=acc&id=info,或访问http://www.
oracle.
com/pls/topic/lookupctx=acc&id=trs(如果您听力受损).
印刷约定下表介绍了本书中的印刷约定.
表P–1印刷约定字体或符号含义示例AaBbCc123命令、文件和目录的名称;计算机屏幕输出编辑.
login文件.
使用ls-a列出所有文件.
machine_name%youhavemail.
AaBbCc123用户键入的内容,与计算机屏幕输出的显示不同machine_name%suPassword:aabbcc123要使用实名或值替换的命令行占位符删除文件的命令为rmfilename.
AaBbCc123保留未译的新词或术语以及要强调的词这些称为Class选项.
注意:有些强调的项目在联机时以粗体显示.
新词术语强调新词或术语以及要强调的词高速缓存是存储在本地的副本.
请勿保存文件.
《书名》书名阅读《用户指南》的第6章.
命令中的shell提示符示例下表显示了OracleSolarisOS中包含的缺省UNIXshell系统提示符和超级用户提示符.
请注意,在命令示例中显示的缺省系统提示符可能会有所不同,具体取决于OracleSolaris发行版.
表P–2shell提示符shell提示符Bashshell、Kornshell和Bourneshell$Bashshell、Kornshell和Bourneshell超级用户#前言9表P–2shell提示符(续)shell提示符Cshellmachine_name%Cshell超级用户machine_name#一般约定请注意本书中使用的以下约定.
执行步骤或使用示例时,请确保完全按照括号中所示键入双引号(")、左单引号(')和右单引号(').
在某些键盘上,Return键被标记为Enter.
root路径通常包括/usr/sbin、/usr/bin和/etc目录,因此,对于本书中的步骤,在显示这些目录中的命令时不带绝对路径名.
对于那些使用其他不太常见目录中命令的步骤,在示例中会显示其绝对路径.
前言在x86平台上引导和关闭OracleSolaris2012年3月10引导和关闭基于x86的系统(概述)OracleSolaris设计为持续运行,从而使企业服务(如数据库和Web服务)尽可能保持可用.
本章提供有关引导和关闭基于x86的系统的概述信息和指南.
注–本指南主要侧重于介绍如何在服务器和工作站上引导和关闭单个OracleSolaris实例.
本文档不详细介绍有关如何在具有服务处理器的系统和具有多个物理域的系统上引导和关闭OracleSolaris的信息.
有关更多信息,请参见特定硬件的产品文档,网址为http://www.
oracle.
com/technetwork/indexes/documentation/index.
html.
以下列出本章所介绍的信息:第11页中的"引导和关闭系统方面的新增功能"第14页中的"引导和关闭基于x86的系统(主题列表)"第14页中的"基于x86的系统引导指南"第15页中的"服务管理工具和引导"第16页中的"运行级别的工作原理"第18页中的"OracleSolaris引导体系结构概述"第19页中的"基于GRUB的引导"有关引导和关闭基于SPARC的系统的信息,请参见《在SPARC平台上引导和关闭OracleSolaris》.
引导和关闭系统方面的新增功能以下引导功能是OracleSolaris11发行版中的新增功能:第12页中的"通过管理行为提供的driver.
conf文件"第12页中的"位映射控制台支持"第13页中的"引导和关机动画"第13页中的"x86:取消对32位内核的支持"1第1章11通过管理行为提供的driver.
conf文件可以在驱动程序配置文件(driver.
conf)中补充本地管理更改,而无需在/kernel和/platform目录中修改原始供应商提供的文件.
通过此增强功能,可以在系统升级期间更好地保存本地配置.
现在,通过将driver.
conf文件添加到新的/etc/driver/drv目录中,可以对驱动程序配置提供本地更改.
引导时,系统将在/etc/driver/drv中为该驱动程序检查配置文件.
如果找到配置文件,系统会自动将供应商提供的配置与通过管理行为提供的更改合并.
要显示这些合并的属性,请将prtconf命令和新的-u选项配合使用.
通过-u选项,可以显示指定驱动程序的原始属性值和修改后的属性值.
有关更多信息,请参见prtconf(1M)手册页.
有关说明,请参见《OracleSolaris管理:常见任务》中的"如何显示设备的缺省属性值和定制属性值".
注–请勿在/kernel和/platform目录中编辑供应商提供的driver.
conf文件.
如果需要补充驱动程序的配置,首选方法是将相应的driver.
conf文件添加到本地/etc/driver/drv目录中,然后定制该文件.
有关说明,请参见《OracleSolaris管理:设备和文件系统》中的第5章"管理设备(概述/任务)".
另请参见以下参考资料:driver.
conf(4)driver(4)《WritingDeviceDrivers》ddi_prop_exists(9F)ddi_prop_lookup(9F)位映射控制台支持与较早的视频图形阵列(VideoGraphicsArray,VGA)640-48016色控制台相比,OracleSolaris11在基于x86的系统上支持更高的分辨率和颜色深度.
对于使用传统BIOS和视频电子标准协会(VideoElectronicsStandardsAssociation,VESA)选项只读存储器(read-onlymemory,ROM)的系统,提供这种支持.
请注意,这种支持仅限于图形卡或帧缓存器用作物理或虚拟控制台的情况下.
对串行控制台的行为则没有任何影响.
有关更多信息,请参见第52页中的"支持位映射控制台".
引导和关闭系统方面的新增功能在x86平台上引导和关闭OracleSolaris2012年3月12引导和关机动画引导过程中系统上显示的进度状态指示器会在以下情况下自动中断:进入内核调试器.
系统出现紧急情况.
要求输入内容的OracleSolaris服务的服务管理工具(ServiceManagementFacility,SMF)功能中断引导过程.
出现GNOME桌面管理器(GNOMEDesktopManager,GDM)登录屏幕.
在关机过程中,如果在引导系统时指定了console=graphics选项,并且X.
org服务器触发了关机操作,则会显示进度状态指示器.
通过将svc:/system/boot-configSMF服务的新splash-shutdown属性设置为false,可以阻止显示进度状态指示器.
有关说明,请参见第53页中的"禁用关机动画".
快速重新引导快速重新引导实现了一种内核内引导装载程序,它可将内核装入内存,然后再切换到该内核.
该过程会绕过固件和引导装载程序进程,从而使系统在几秒钟之内就能完成重新引导.
快速重新引导功能由SMF进行管理,并通过引导配置服务svc:/system/boot-config来实现.
boot-config服务提供了一种设置或更改缺省引导配置参数的方法.
将config/fastreboot_default属性设置为true时,系统将自动执行快速重新引导,不需要使用reboot--f命令.
在x86平台上,此属性的值设置为true.
有关与任务相关的信息,包括如何更改SPARC平台上快速重新引导的缺省行为,请参见第39页中的"加速基于x86的系统上的重新引导过程".
x86:取消对32位内核的支持在OracleSolaris11中,已取消对x86平台上32位内核的支持.
其结果是,无法在32位x86平台上引导OracleSolaris11.
具有32位硬件的系统必须升级到64位硬件,或者继续运行OracleSolaris10.
注–移除32位内核支持并不影响32位应用程序.
x86平台依然支持32位应用程序.
引导和关闭系统方面的新增功能第1章引导和关闭基于x86的系统(概述)13引导和关闭基于x86的系统(主题列表)通过以下链接可找到本文档中有关引导各主题的逐步说明.
表1–1引导和关闭基于x86的系统:主题列表任务更多信息使基于x86的系统进入指定状态(运行级别引导).
第2章,将基于x86的系统引导至指定状态(任务)关闭基于x86的系统.
第3章,关闭系统(任务)重新引导基于x86的系统.
第4章,重新引导基于x86的系统(任务)从网络引导基于x86的系统.
第5章,从网络引导基于x86的系统(任务)更改基于x86的系统的缺省引导行为.
第6章,在基于x86的系统上修改引导参数(任务)在基于x86的系统上通过ZFSBE、快照或数据集进行创建、管理和引导.
第7章,在x86平台上从ZFS引导环境创建、管理和引导(任务)使用引导管理接口(bootadm)使基于x86的系统保持可引导.
第8章,使基于x86的系统保持可引导(任务)解决基于x86的系统的引导问题.
第9章,基于x86的系统引导故障排除(任务)基于x86的系统引导指南引导系统时,请牢记以下指南:关闭基于x86的系统后,通过在GRUB菜单中选择操作系统对其进行引导.
如果未选择任何操作系统,系统将引导在menu.
lst文件中指定的缺省操作系统.
通过关闭并重新打开电源,可以重新引导系统.
注意–除非您的基于x86的系统运行的是支持此关机方法的发行版,否则,此方法不被视为正常关机.
仅将此关闭方法用作紧急情况下的备用方法.
由于系统服务和进程突然终止,因此很可能会发生文件系统损坏.
修复此类损坏所需的工作会很多,而且可能需要从备份副本恢复各种用户文件和系统文件.
引导系统的原因下表列出了可能需要引导基于x86的系统的原因.
此外,还介绍了系统管理任务以及完成任务所使用的对应引导选项.
引导和关闭基于x86的系统(主题列表)在x86平台上引导和关闭OracleSolaris2012年3月14表1–2引导系统系统重新引导的原因适当的引导选项更多信息由于预期停电而关闭系统电源.
重新打开系统电源第3章,关闭系统(任务)更改/etc/system文件中的内核参数.
将系统重新引导至多用户状态(共享NFS资源的运行级别3)第24页中的"将基于x86的系统引导至多用户状态(运行级别3)"执行文件系统维护,如备份或恢复系统数据.
从单用户状态(运行级别S)下按Ctrl-D组合键,使系统恢复至多用户状态(运行级别3)第25页中的"将基于x86的系统引导至单用户状态(运行级别S)"修复系统配置文件,如/etc/system.
交互式引导第26页中的"以交互方式引导基于x86的系统"在系统中添加或删除硬件.
重新配置引导(如果设备不可热插拔,在添加或移除设备之后打开系统电源)《OracleSolaris管理:设备和文件系统》中的"为ZFS文件系统设置磁盘(任务列表)"从挂起的系统恢复并强制实施故障转储.
恢复引导第78页中的"如何强制实施故障转储和系统重新引导"使用内核调试器(kmdb)引导系统以跟踪系统问题.
引导kmdb第80页中的"如何在启用内核调试器(kmdb)的情况下引导系统"服务管理工具和引导SMF提供了在传统UNIX启动脚本、init运行级别和配置文件的基础上进行扩充的基础结构.
引入SMF后,现在引导过程创建的消息要少许多.
缺省情况下,在启动服务时并不显示消息.
由引导消息提供的所有信息现在可在每个服务的日志文件(位于/var/svc/log中)中找到.
可以使用svcs命令来帮助诊断引导问题.
要在引导过程中启动每个服务时生成消息,请在boot命令中使用-v选项.
引导系统时,可以选择要引导至的里程碑,或选择要记录的错误消息级别.
例如:可以使用以下命令选择要引导至的特定里程碑:okboot-mmilestone=milestone缺省里程碑是all,它启动所有已启用的服务.
另一个有用的里程碑是none,它仅启动init、svc.
startd和svc.
configd.
此里程碑可提供一个非常有用的调试环境,在该环境中可以手动启动服务.
有关如何使用none里程碑的说明,请参见《OracleSolaris管理:常见任务》中的"如何在不启动任何服务的情况下引导".
运行级别等效项single-user、multi-user和multi-user-server也可用,但是不常用.
需要特别指出的是,multi-user-server里程碑不会启动不是该里程碑相关项的任何服务,因此可能不包含重要的服务.
可以使用以下命令选择svc.
startd的日志记录级别:okboot-mlogging_level服务管理工具和引导第1章引导和关闭基于x86的系统(概述)15可以选择的日志记录级别是quiet、verbose和debug.
有关日志记录级别的特定信息,请参见《OracleSolaris管理:常见任务》中的"SMF服务错误日志记录".
使用SMF时的引导行为更改SMF提供的大多数功能都在后台运行,因此用户通常不会注意到这些功能.
其他功能可由新命令访问.
下面列出了最明显的行为更改:现在引导过程创建的消息要少许多.
缺省情况下,在启动服务时并不显示消息.
由引导消息提供的所有信息现在可在每个服务的日志文件(位于/var/svc/log中)中找到.
可以使用svcs命令来帮助诊断引导问题.
另外,还可以使用boot命令的-v选项.
当在引导过程中启动每个服务时,该命令会生成一条消息.
如果有可能,服务将会自动重新启动,因此似乎进程无法终止.
如果服务有缺陷,则该服务将被置于维护模式,但通常服务会在进程终止之后重新启动.
应当使用svcadm命令来停止任何不应运行的SMF服务的进程.
/etc/init.
d和/etc/rc*.
d中的许多脚本已被删除.
这些脚本将不再是启用或禁用服务所必需的脚本.
/etc/inittab中的项也已被删除,以便可以使用SMF对服务进行管理.
由ISV提供或在本地开发的脚本和inittab项将能够继续运行.
在引导过程中,服务可能不会在完全相同的点启动,但是在启动SMF服务之前不会启动这些服务.
运行级别的工作原理系统的运行级别(也称为init状态)定义用户可以使用哪些服务和资源.
系统一次只能在一个运行级别下运行.
OracleSolaris具有八个运行级别,下表对其进行了说明.
在/etc/inittab文件中,缺省的运行级别指定为运行级别3.
表1–3OracleSolaris运行级别运行级别Init状态类型目的0电源关闭状态电源关闭关闭操作系统,以便可以安全地关闭系统电源.
s或S单用户状态单用户以单用户身份运行,挂载并且能够访问某些文件系统.
1管理状态单用户访问所有可用的文件系统.
用户登录功能处于禁用状态.
运行级别的工作原理在x86平台上引导和关闭OracleSolaris2012年3月16表1–3OracleSolaris运行级别(续)运行级别Init状态类型目的2多用户状态多用户用于正常操作.
多个用户可以访问系统和所有的文件系统.
除NFS服务器守护进程以外的所有守护进程都在运行.
3共享NFS资源的多用户级别多用户用于共享NFS资源情况下的正常操作.
这是缺省运行级别.
4替换多用户状态多用户在缺省情况下未配置,但是可供客户使用.
5电源关闭状态电源关闭关闭操作系统,以便可以安全地关闭系统电源.
如有可能,自动关闭支持此功能的系统的电源.
6重新引导状态重新引导将系统关闭到运行级别0,然后重新引导到共享NFS资源的多用户级别(或者inittab文件中的任何缺省运行级别).
另外,svcadm命令可用于更改系统的运行级别,方法是选择系统要在其下运行的里程碑.
下表显示了与每个里程碑相对应的运行级别.
表1–4运行级别和SMF里程碑运行级别SMF里程碑FMRISmilestone/single-user:default2milestone/multi-user:default3milestone/multi-user-server:default系统引导到多用户状态(运行级别3)时发生的情况1.
init进程将启动,并读取svc:/system/environment:initSMF服务中定义的属性,以设置任何环境变量.
缺省情况下,仅设置TIMEZONE变量.
2.
然后,init读取inittab文件并执行下列操作:a.
执行action字段中包含sysinit的所有进程项,以便在用户登录系统之前执行所有特殊的初始化.
b.
将启动活动传递到svc.
startd.
有关init进程如何使用inittab文件的详细描述,请参见init(1M)手册页.
运行级别的工作原理第1章引导和关闭基于x86的系统(概述)17何时使用运行级别或里程碑一般来说,很少需要更改里程碑或运行级别.
如有必要,使用init命令更改到某个运行级别也将更改里程碑,该命令是适用的命令.
init命令还适用于关闭系统.
但是,使用none里程碑引导系统可能对调试启动问题非常有用.
none里程碑没有等效的运行级别.
有关更多信息,请参见《OracleSolaris管理:常见任务》中的"如何在不启动任何服务的情况下引导".
OracleSolaris引导体系结构概述OracleSolaris引导体系结构具有以下基本特征:使用引导归档文件引导归档文件是一个RAM磁盘(ramdisk)映像,它包含引导系统所需的所有文件.
有关更多信息,请参见第68页中的"OracleSolaris引导归档文件说明".
使用引导管理接口来维护OracleSolaris引导归档文件的完整性bootadm命令可处理引导归档文件更新和验证的细节.
在安装或升级期间,bootadm命令会创建初始引导归档文件.
在系统正常关机过程中,关机过程会将引导归档文件的内容与根文件系统进行比较.
如果系统具有更新(如驱动程序或配置文件),则引导归档文件将重建为包括这些更改,以便在重新引导后,引导归档文件和根文件系统可以同步.
可以使用bootadm命令手动更新引导归档文件.
有关说明,请参见第70页中的"维护引导归档文件的完整性".
有关更多信息,请参见bootadm(1M)和boot(1M)手册页.
在安装期间使用RAM磁盘(ramdisk)映像作为根文件系统RAM磁盘(ramdisk)映像源自引导归档文件,然后会被从引导设备传送到系统.
对于软件安装,RAM磁盘(ramdisk)映像是用于整个安装过程的根文件系统.
使用RAM磁盘(ramdisk)映像实现此目的消除了从可移除介质引导系统的需要.
RAM磁盘(ramdisk)文件系统类型可以是HighSierra文件系统(HighSierraFileSystem,HSFS).
x86引导过程的工作原理本节介绍OracleSolarisx86平台的基本引导过程.
有关特定硬件类型(包括具有服务处理器的系统和具有多个物理域的系统)的引导过程的更多信息,请参见特定硬件的产品文档,网址为http://www.
oracle.
com/technetwork/indexes/documentation/index.
html.
打开基于x86的系统时,BIOS将初始化CPU、内存和平台硬件.
BIOS阶段完成后,将从已配置的引导设备装入引导装载程序,系统控制权将转交给引导装载程序,后者进OracleSolaris引导体系结构概述在x86平台上引导和关闭OracleSolaris2012年3月18而启动引导过程.
引导装载程序是在打开系统后运行的第一个软件程序.
此程序将开始执行引导过程.
在OracleSolaris中,GRandUnifiedBootloader(也称为"GRUB")是基于x86的系统上的缺省引导装载程序.
基于GRUB的引导在OracleSolaris中,开源GRandUnifiedBootloader(GRUB)是基于x86的系统上的缺省引导装载程序.
GRUB负责将引导归档文件装入系统的内存中.
引导归档文件是一些关键文件的集合,挂载根文件系统之前,在系统启动过程中需要这些文件.
引导归档文件是用于引导OracleSolaris的接口.
您可以在http://www.
gnu.
org/software/grub/grub.
html中找到有关GRUB的更多信息.
另请参见grub(5)手册页.
GRUB实现了一个菜单界面,其中包括在名为menu.
lst文件的配置文件中预定义的引导选项.
GRUB还具有一个可从GUI菜单界面访问的命令行界面,该界面可用于执行各种引导功能,包括修改缺省引导参数.
OracleSolaris内核完全符合多引导规范.
使用GRUB,可以引导可能安装在一个系统上的多个不同操作系统.
例如,系统引导时通过在GRUB菜单中选择相应的引导项,可以分别引导OracleSolaris、Linux或Windows.
或者,可以定制menu.
lst文件,以便缺省引导特定的OS实例.
由于GRUB具有直观的文件系统和内核可执行格式,因此您无需记录内核在磁盘上的物理位置即可装入操作系统.
使用基于GRUB的引导,内核的装入是通过指定其文件名以及内核所在的驱动器和分区来实现的.
GRUB组件GRUB引导装载程序的组件如下所示:stage1-安装在fdisk分区的第一个扇区上的映像.
通过指定installgrub命令和-m选项,可以选择将stage1安装在主引导扇区上.
有关更多信息,请参见installgrub(1M)手册页和《OracleSolaris管理:设备和文件系统》中的"GRUB引导环境中的磁盘管理".
stage2-安装在fdisk分区的保留区中的映像.
stage2映像是GRUB的核心映像.
menu.
lst文件-通常位于带有ZFS根文件系统的系统上的/pool-name/boot/grub目录中,其中/pool-name/boot/grub是ZFS存储池的名称.
该文件由GRUBstage2文件读取.
有关更多信息,请参见第54页中的"通过编辑menu.
lst文件修改引导项和引导参数"一节.
您无法使用dd命令将stage1和stage2映像写入磁盘.
stage1映像必须能够接收有关磁盘上的stage2映像的位置的信息.
使用installgrub命令,这是安装GRUB引导块时支持方法.
基于GRUB的引导第1章引导和关闭基于x86的系统(概述)19GRUB菜单的用途和功能引导基于x86的系统时显示的菜单即为GRUB菜单.
此菜单基于GRUBmenu.
lst文件中的配置信息.
引导序列开始时,将显示GRUB菜单.
除非中断引导序列,否则缺省情况下将引导缺省项(通常是menu.
lst文件中的第一项).
可以在引导时编辑GRUB菜单,以便引导其他操作系统或修改缺省引导项的参数.
为此,请在显示GRUB菜单时立即键入e.
键入e将中断引导过程,并使您进入GRUB编辑菜单,在该菜单中可以选择要引导的其他OS或修改缺省引导项的缺省引导参数.
请注意,修改后的引导行为仅在下次引导系统之前有效.
有关说明,请参见第50页中的"在引导时修改引导参数".
GRUB设备命名约定GRUB使用的设备命名约定与先前发行版中使用的设备命名约定略有不同.
了解GRUB使用的设备命名约定可帮助您在系统上配置GRUB时正确指定驱动器和分区信息.
下表介绍了GRUB使用的设备命名约定.
表1–5GRUB设备的约定设备名说明(fd0)第一个磁盘(fd1)第二个磁盘(nd)网络设备(hd0,0)第一个磁盘上的第一个fdisk分区(hd0,1)第一个磁盘上的第二个fdisk分区(hd0,0,a),第一个磁盘上第一个fdisk分区上的分片a(hd0,0,b)第一个磁盘上第一个fdisk分区上的分片b注–所有的GRUB设备名称都必须括在括号中.
从Solaris1010/08发行版开始,findroot命令取代了GRUB以前使用的root命令.
findroot命令提供了用于搜索目标磁盘(无论使用哪个引导设备)的增强功能.
x86和GRUB引导术语引导和关闭基于x86的系统时会用到以下基本术语:基于GRUB的引导在x86平台上引导和关闭OracleSolaris2012年3月20BasicInput/OutputSystem,BIOS(基本输入/输出系统)在基于x86的系统上,BIOS是引导固件(设计为PC打开时运行的第一个代码).
BIOS的初始功能是识别、测试和初始化系统设备,例如视频显卡、硬盘、磁盘和其他硬件.
bootarchive(引导归档文件)用于引导OracleSolarisOS的关键文件的集合.
在挂载根文件系统前,系统启动过程中将需要这些文件.
bootloader(引导装载程序)打开系统后运行的第一个软件程序.
此程序将开始执行引导过程.
GRandUnifiedBootloader(GRUB)GRUB是在基于x86的系统上使用的多引导引导装载程序.
引导装载程序是系统启动时运行的第一个软件程序.
它负责装入操作系统内核软件(OracleSolaris、Linux和Windows),并将控制权转交给操作系统内核软件.
GRUBeditmenu(GRUB编辑菜单)GRUB主菜单的一个子菜单.
GRUB命令将显示在该子菜单中.
可以编辑这些命令以更改引导行为.
GRUBmainmenu(GRUB主菜单)列出系统中安装的操作系统的引导菜单.
使用该菜单,无需修改BIOS或fdisk分区设置即可轻松地引导操作系统.
menu.
lstfile(menu.
lst文件)一个列出系统中安装的所有操作系统的配置文件.
该文件的内容指定在GRUB菜单中显示的操作系统的列表.
使用该菜单,无需修改BIOS或fdisk分区设置即可轻松地引导操作系统.
基于GRUB的引导第1章引导和关闭基于x86的系统(概述)2122将基于x86的系统引导至指定状态(任务)本章提供了将基于x86的系统引导至各种系统状态(也称为运行级别)的任务相关信息.
以下列出本章所介绍的信息:第23页中的"将基于x86的系统引导至指定状态(任务列表)"第24页中的"将基于x86的系统引导至指定状态"有关引导基于x86的系统的概述信息,请参见第1章,引导和关闭基于x86的系统(概述).
有关将基于SPARC的系统引导至指定状态的信息,请参见《在SPARC平台上引导和关闭OracleSolaris》中的第2章"将基于SPARC的系统引导至指定状态(任务)".
将基于x86的系统引导至指定状态(任务列表)表2–1将基于x86的系统引导至指定状态:任务列表任务说明参考确定系统的当前运行级别.
可使用带有-r选项的who命令确定系统的当前运行级别.
第24页中的"确定系统的当前运行级别"将基于x86的系统引导至多用户状态.
关闭系统或执行系统硬件维护任务之后,使用此引导方法可使系统恢复至多用户状态(运行级别3).
第24页中的"将基于x86的系统引导至多用户状态(运行级别3)"将基于x86的系统引导至单用户状态.
使用此引导方法可执行系统维护任务(例如,备份文件系统).
第25页中的"将基于x86的系统引导至单用户状态(运行级别S)"2第2章23表2–1将基于x86的系统引导至指定状态:任务列表(续)任务说明参考以交互方式引导基于x86的系统.
为测试目的而对系统文件或内核进行临时更改后使用此引导方法.
第26页中的"以交互方式引导基于x86的系统"将基于x86的系统引导至指定状态以下过程介绍了如何将基于x86的系统引导至指定状态,也称为运行级别引导.
确定系统的当前运行级别要确定系统的当前运行级别,请使用who-r命令.
示例2–1确定系统的运行级别who-r命令的输出显示有关系统当前运行级别以及之前运行级别的信息.
$who-r.
run-level3Dec1310:1030S$who-r命令的输出说明run-level3标识当前的运行级别Dec1310:10标识上次更改运行级别的日期3也标识当前的运行级别0标识自上次重新引导以来系统处于该运行级别的次数S标识以前的运行级别将基于x86的系统引导至多用户状态(运行级别3)如果系统已关闭,则将其打开或使用reboot命令可启动多用户引导序列.
使用who-r命令验证系统是否已进入指定的运行级别.
请参见第24页中的"确定系统的当前运行级别".
将基于x86的系统引导至指定状态在x86平台上引导和关闭OracleSolaris2012年3月24如何将系统引导至多用户状态(运行级别3)使用此过程将当前处于运行级别0的基于x86的系统引导至运行级别3.
重新引导系统.
#reboot如果系统显示Pressanykeytoreboot提示,请按任意键以重新引导系统.
在出现此提示时,您还可以使用"Reset"(重置)按钮.
如果系统已关闭,请使用电源开关打开系统.
引导序列开始时,将显示GRUB主菜单.
显示GRUB主菜单时,按Enter键引导缺省OS实例.
如果在10秒内未选择某个项,系统会自动引导至运行级别3.
引导过程成功完成后,将显示登录提示.
登录到系统.
hostnameconsolelogin:确认系统已引导至运行级别3.
$who-r.
run-level3Mar209:4430S将基于x86的系统引导至单用户状态(运行级别S)将系统引导至单用户状态用于进行系统维护,如备份文件系统或对其他系统问题进行故障排除.
如何将系统引导至单用户状态(运行级别S)重新引导系统.
#reboot如果系统显示Pressanykeytoreboot提示,请按任意键以重新引导系统.
在出现此提示时,您还可以使用"Reset"(重置)按钮.
如果系统已关闭,请使用电源开关打开系统.
引导序列开始时,将显示GRUB主菜单.
显示GRUB主菜单时,键入e以编辑GRUB菜单.
123412将基于x86的系统引导至指定状态第2章将基于x86的系统引导至指定状态(任务)25根据要运行的发行版,使用方向键选择kernel$行.
如果不能使用方向键,请使用插入记号(^)键向上滚动,使用字母v键向下滚动.
再次键入e以编辑引导项.
在这里,您可以向kernel或kernel$行添加选项和参数.
要将系统引导至单用户状态,请在引导项行的结尾键入-s,然后按回车键返回至上一屏幕.
注–要指定其他引导行为,请将-s选项替换为适当的引导选项.
可以使用此方式指定以下备用引导行为:执行重新配置引导使用内核调试器引导系统重定向控制台有关更多信息,请参见boot(1M)手册页.
要将系统引导至单用户状态,请键入b.
出现提示时,键入root用户的口令.
确认系统处于运行级别S.
#who-r.
run-levelSJun1311:07S00执行将运行级别更改为S所需的系统维护任务.
完成系统维护任务后,重新引导系统.
以交互方式引导基于x86的系统如果在引导过程中需要指定替代内核或/etc/system文件,则以交互方式引导系统非常有用.
使用以下过程以交互方式引导系统.
另外,您还可以通过引导备用引导环境来解决/etc/system文件问题.
请参见第40页中的"对系统启动重新引导以引导至新激活的或备用的引导环境".
345678910将基于x86的系统引导至指定状态在x86平台上引导和关闭OracleSolaris2012年3月26如何以交互方式引导系统创建/etc/system和boot/solaris/filelist.
ramdisk文件的备份副本,然后将/etc/system.
bak文件名添加到/boot/solaris/filelist.
ramdisk文件.
例如:#cp/etc/system/etc/system.
bak#cp/boot/solaris/filelist.
ramdisk/boot/solaris/filelist.
ramdisk.
orig#echo"etc/system.
bak">>/boot/solaris/filelist.
ramdisk更新引导归档文件.
#bootadmupdate-archive-v重新引导系统.
#reboot在GRUB菜单显示后,选择要以交互方式引导的操作系统,然后键入e.
使用方向键选择kernel$行,然后键入e以编辑指定的引导项.
在行的末尾键入-a,然后按回车键.
键入b以交互方式引导系统.
按如下所述来响应系统提示:a.
指定一个备用系统文件,然后按回车键.
Nameofsystemfile[etc/system]:/etc/system.
bakb.
指定根文件系统,然后按回车键.
c.
指定根设备的物理名称,然后按回车键.
在不提供任何信息的情况下按回车键将接受系统缺省设置.
修复损坏的/etc/system文件.
将系统重新引导至运行级别3.
#reboot12345678910将基于x86的系统引导至指定状态第2章将基于x86的系统引导至指定状态(任务)2728关闭系统(任务)本章提供有关关闭系统的概述和任务相关信息.
关闭基于x86的系统的过程与关闭基于SPARC的系统的过程相同.
但某些示例的输出可能不同.
以下列出本章所介绍的信息:第29页中的"关闭系统(任务列表)"第30页中的"关闭系统概述"第30页中的"系统关闭指南"第31页中的"关闭系统"第36页中的"关闭系统设备电源"有关引导基于x86的系统的概述信息,请参见第1章,引导和关闭基于x86的系统(概述).
有关引导和关闭基于SPARC的系统的信息,请参见《在SPARC平台上引导和关闭OracleSolaris》.
关闭系统(任务列表)表3–1关闭系统:任务列表任务说明参考确定登录到系统的用户.
如果系统是一个服务器,请使用who命令确定哪位用户登录到系统.
第31页中的"如何确定登录到系统的用户"使用shutdown命令关闭系统.
使用带有合适选项的shutdown命令关闭系统.
本方法是关闭服务器的首选方法.
第32页中的"如何使用shutdown命令关闭系统"使用init命令关闭系统.
使用init命令并指定适当运行级别来关闭系统.
第35页中的"如何使用init命令关闭系统"3第3章29关闭系统概述OracleSolaris可以持续运行,从而使电子邮件和网络软件可以正常工作.
但是,某些系统管理任务和紧急情况需要关闭系统,使其进入可以安全关闭电源的级别.
在某些情况下,需要使系统进入中间级别,在此级别并非所有系统服务都可用.
这类情况包括以下几项:添加或移除硬件为预期停电做准备执行文件系统维护,如备份有关使用系统电源管理功能的信息,请参见poweradm(1M)手册页.
系统关闭指南关闭系统时,请牢记以下几点:使用shutdown或init命令关闭系统.
这两个命令都可以正常关闭系统,也就是说所有的系统进程和服务都将正常终止.
您必须成为root角色,才能使用shutdown和init命令.
shutdown和init命令将运行级别作为参数.
以下是三个最常见的运行级别:运行级别3-所有系统资源都可用且用户可以登录.
缺省情况下,引导系统后会使系统进入运行级别3,该运行级别用于正常的日常操作.
此运行级别也称为共享NFS资源的多用户状态.
运行级别6-关闭系统以进入运行级别0,然后将系统重新引导至共享SMB或NFS资源的多用户级别(或inittab文件中的任何缺省运行级别).
运行级别0-操作系统关闭,可以安全关闭电源.
每次移动系统,或者添加或移除硬件时,都需要使系统进入运行级别0.
第16页中的"运行级别的工作原理"中全面介绍了运行级别.
系统关闭命令shutdown和init命令是用于关闭系统的主要命令.
这两个命令都会执行系统的正常关闭.
同样,系统会将所有的文件系统更改写入磁盘,并以正常方式终止所有系统服务、进程和操作系统.
由于系统服务会突然终止,因此使用系统的Stop组合键或关闭系统然后再将其打开都不是正常关机.
但是,有时在紧急情况下需要执行这些操作.
关闭系统概述在x86平台上引导和关闭OracleSolaris2012年3月30下表介绍了各种关闭命令并提供了使用这些命令的建议.
表3–2关闭命令命令说明何时使用shutdown用于调用init程序以关闭系统的可执行文件.
缺省情况下,会使系统进入运行级别S.
使用此命令关闭正以运行级别3运行的服务器.
init用于在更改运行级别之前终止所有活动进程并同步磁盘的可执行文件.
由于此命令可以更快速地关闭系统,因此该命令优先用于在不影响其他用户的情况下关闭独立系统.
不发送有关系统即将关闭的通知.
reboot用于同步磁盘并将引导指令传递给uadmin系统调用的可执行文件.
此系统调用会反过来停止处理器.
init命令是首选方法.
halt、poweroff用于同步磁盘并停止处理器的可执行文件.
不建议使用,因为其不会关闭所有进程或卸载任何剩余文件系统.
仅在紧急情况下或大多数服务已停止时,才应停止服务,而无需执行正常关机操作.
关闭系统以下过程和示例说明如何使用shutdown和init命令关闭系统.
如何确定登录到系统的用户对于作为多用户分时系统的OracleSolaris系统,关闭系统前可能需要确定是否有任何用户登录到系统.
在这些实例中使用以下过程.
要确定登录到系统的用户,请使用who命令,如下所示:$whohollyconsoleMay707:30krytenpts/0May707:35(starlite)listerpts/1May707:40(bluemidget)第一列中的数据标识登录用户的用户名.
第二列中的数据标识登录用户的终端线.
第三列中的数据标识用户登录的日期和时间.
第四列中的数据(如果存在)标识用户从远程系统登录时的主机名.
关闭系统第3章关闭系统(任务)31如何使用shutdown命令关闭系统成为root角色.
对于服务器关闭,查明是否有任何用户登录到系统.
#who屏幕上会显示所有登录用户的列表.
关闭系统.
#shutdown-iinit-state-ggrace-period-y-iinit-state使系统进入到与缺省级别S不同的init状态.
选项包括0、1、2、5和6.
运行级别0和5是为关闭系统而保留的状态.
运行级别6用于重新引导系统.
运行级别2可用作多用户操作状态.
-ggrace-period指示系统关闭前的时间(以秒为单位).
缺省值为60秒.
-y继续关闭系统,无需任何介入.
否则,系统会提示您在60秒后继续执行关闭过程.
有关更多信息,请参见shutdown(1M)手册页.
如果系统要求您确认,请键入y.
Doyouwanttocontinue(yorn):y如果使用了shutdown-y命令,系统将不提示您继续操作.
如果出现提示,请键入root口令.
TypeCtrl-dtoproceedwithnormalstartup,(orgiverootpasswordforsystemmaintenance):xxxxxx执行完任何系统管理任务后,请按Ctrl-D组合键,以返回到缺省的系统运行级别.
使用下表确认系统是否处于您在shutdown命令中指定的运行级别.
指定的运行级别基于x86的系统提示符S(单用户状态)#0(电源关闭状态)#运行级别3(共享远程资源的多用户状态)hostnameconsolelogin:1234567关闭系统在x86平台上引导和关闭OracleSolaris2012年3月32使用shutdown命令使系统进入单用户状态(运行级别S)在以下示例中,使用shutdown命令使系统在三分钟内进入运行级别S(单用户状态).
#whorootconsoleApr1506:20#shutdown-g180-yShutdownstarted.
FriApr1506:20:45MDT2011BroadcastMessagefromroot(console)onportiaFriApr1506:20:46.
.
.
Thesystemportiawillbeshutdownin3minutesshowmount:portia:RPC:ProgramnotregisteredBroadcastMessagefromroot(console)onportiaFriApr1506:21:46.
.
.
Thesystemportiawillbeshutdownin2minutesshowmount:portia:RPC:ProgramnotregisteredBroadcastMessagefromroot(console)onportiaFriApr1506:22:46.
.
.
Thesystemportiawillbeshutdownin1minuteshowmount:portia:RPC:ProgramnotregisteredBroadcastMessagefromroot(console)onportiaFriApr1506:23:16.
.
.
Thesystemportiawillbeshutdownin30secondsshowmount:portia:RPC:ProgramnotregisteredChangingtoinitstates-pleasewaitsvc.
startd:Thesystemiscomingdownforadministration.
Pleasewait.
root@portia:~#Apr1506:24:28portiasvc.
startd[9]:Apr1506:24:28portiasyslogd:goingdownonsignal15svc.
startd:Killinguserprocesses.
RequestingSystemMaintenanceMode(See/lib/svc/share/READMEformoreinformation.
)SINGLEUSERMODEEnterusernameforsystemmaintenance(control-dtobypass):xxxxxx#使用shutdown命令使系统进入关闭状态(运行级别0)在以下示例中,使用shutdown命令使系统在五分钟内进入运行级别0,而无需进行其他确认操作.
#whorootconsoleJun1712:39.
.
.
userabcpts/4Jun1712:39(:0.
0)#shutdown-i0-g300-yShutdownstarted.
FriApr1506:35:48MDT2011BroadcastMessagefromroot(console)onmurkyFriApr1506:35:48.
.
.
Thesystempinkytuskwillbeshutdownin5minutes示例3–1示例3–2关闭系统第3章关闭系统(任务)33showmount:murkey:RPC:Programnotregisteredshowmount:murkey:RPC:ProgramnotregisteredBroadcastMessagefromroot(console)onmurkeyFriApr1506:38:48.
.
.
Thesystemmurkeywillbeshutdownin2minutesshowmount:murkey:RPC:ProgramnotregisteredBroadcastMessagefromroot(console)onmurkeyFriApr1506:39:48.
.
.
Thesystemmurkeywillbeshutdownin1minuteshowmount:murkey:RPC:ProgramnotregisteredBroadcastMessagefromroot(console)onmurkeyFriApr1506:40:18.
.
.
Thesystemmurkeywillbeshutdownin30secondsshowmount:murkey:RPC:ProgramnotregisteredBroadcastMessagefromroot(console)onmurkeyFriApr1506:40:38.
.
.
THESYSTEMmurkeyISBEINGSHUTDOWNNOW!
!
!
Logoffnoworriskyourfilesbeingdamagedshowmount:murkey:RPC:ProgramnotregisteredChangingtoinitstate0-pleasewaitroot@murkey:~#svc.
startd:Thesystemiscomingdown.
Pleasewait.
svc.
startd:122systemservicesarenowbeingstopped.
Apr1506:41:49murkeysvc.
startd[9]:Apr1506:41:50murkeysyslogd:goingdownonsignal15svc.
startd:Killinguserprocesses.
Apr1506:41:57Thesystemisdown.
Shutdowntook69seconds.
syncingfilesystems.
.
.
donePressanykeytoreboot.
Resetting.
.
.
如果要使系统进入运行级别0以关闭所有设备的电源,请参见第36页中的"关闭系统设备电源".
使用shutdown命令使系统进入多用户状态(运行级别3)在以下示例中,使用shutdown命令在两分钟内将系统重新引导至运行级别3.
不需要进行其他确认.
#whorootconsoleJun1415:49(:0)userabcpts/4Jun1415:46(:0.
0)#shutdown-i6-g120-yShutdownstarted.
FriApr1506:46:50MDT2011BroadcastMessagefromroot(console)onvenusFriApr1506:46:50.
.
.
Thesystemvenuswillbeshutdownin2minutesshowmount:venus:RPC:Programnotregisteredshowmount:venus:RPC:ProgramnotregisteredBroadcastMessagefromroot(console)onvenusFriApr1506:47:50.
.
.
Thesystemvenuswillbeshutdownin1minuteshowmount:venus:RPC:Programnotregisteredshowmount:venus:RPC:ProgramnotregisteredBroadcastMessagefromroot(console)onvenusFriApr1506:48:20.
.
.
Thesystemvenuswillbeshutdownin30seconds示例3–3关闭系统在x86平台上引导和关闭OracleSolaris2012年3月34showmount:venus:RPC:ProgramnotregisteredBroadcastMessagefromroot(console)onvenusFriApr1506:48:40.
.
.
THESYSTEMvenusISBEINGSHUTDOWNNOW!
!
!
Logoffnoworriskyourfilesbeingdamagedshowmount:venus:RPC:ProgramnotregisteredChangingtoinitstate6-pleasewaitroot@venus:~#svc.
startd:Thesystemiscomingdown.
Pleasewait.
svc.
startd:123systemservicesarenowbeingstopped.
Apr1506:49:32venussvc.
startd[9]:Apr1506:49:32venussyslogd:goingdownonsignal15svc.
startd:Killinguserprocesses.
Apr1506:49:40Thesystemisdown.
Shutdowntook50seconds.
syncingfilesystems.
.
.
donerebooting.
.
.
SunOSRelease5.
11Version2010-12-1064-bitCopyright(c)1983,2010,Oracleand/oritsaffiliates.
Allrightsreserved.
Bootingtomilestone"milestone/single-user:default".
Hostname:venusNISdomainnameissolaris.
us.
oracle.
com.
.
.
venusconsolelogin:无论您为何关闭系统,您都可能希望返回运行级3,在该级别下所有的文件资源都可用且用户可以登录.
有关将系统恢复到多用户状态的说明,请参见第24页中的"将基于x86的系统引导至多用户状态(运行级别3)".
如何使用init命令关闭系统需要关闭独立系统时,请使用以下过程.
成为root角色.
关闭系统.
#init5有关更多信息,请参见init(1M)手册页.
使用init命令使系统进入关闭状态(运行级别0)在此示例中,使用init命令使基于x86的独立系统进入可安全关闭电源的运行级别.
#init0#INIT:Newrunlevel:0Thesystemiscomingdown.
Pleasewait.
.
另请参见12示例3–4关闭系统第3章关闭系统(任务)35.
.
Thesystemisdown.
syncingfilesystems.
.
.
[11][10][3]donePressanykeytoreboot无论您为何关闭系统,您都可能希望返回运行级3,在该级别下所有的文件资源都可用且用户可以登录.
有关将系统恢复到多用户状态的说明,请参见第24页中的"将基于x86的系统引导至多用户状态(运行级别3)".
关闭系统设备电源执行以下操作时,需要关闭所有系统设备的电源:更换或添加硬件.
将系统从一个位置移至另一个位置.
为了预期电源故障或自然灾难(如即将到来的雷暴)做准备.
有关关闭设备电源的信息,请参见http://www.
oracle.
com/technetwork/indexes/documentation/index.
html上提供的产品文档中有关特定硬件的说明.
另请参见关闭系统设备电源在x86平台上引导和关闭OracleSolaris2012年3月36重新引导基于x86的系统(任务)本章介绍重新引导基于x86的系统的各种方法,包括有关OracleSolaris的快速重新引导功能的信息.
以下列出本章所介绍的信息:第37页中的"重新引导基于x86的系统(任务列表)"第38页中的"重新引导基于x86的系统"第39页中的"加速基于x86的系统上的重新引导过程"有关引导基于x86的系统的概述信息,请参见第1章,引导和关闭基于x86的系统(概述).
有关重新引导基于SPARC的系统的信息,请参见《在SPARC平台上引导和关闭OracleSolaris》中的第4章"重新引导基于SPARC的系统(任务)".
重新引导基于x86的系统(任务列表)表4–1重新引导基于x86的系统:任务列表任务说明参考使用init命令重新引导系统.
使用init命令启动运行级别转换.
使用init命令重新引导系统时,运行级别2、3和4可用作多用户系统状态.
第38页中的"如何使用init命令重新引导系统"使用reboot命令重新引导系统.
使用reboot命令重新启动内核并使系统进入多用户状态.
第39页中的"如何使用reboot命令重新引导系统"对基于x86的系统启动重新引导,从而跳过BIOS.
由于快速重新引导功能在此发行版中是缺省引导模式,因此可以使用reboot或init6命令对系统启动快速重新引导.
第40页中的"如何在绕过BIOS的情况下重新引导系统"4第4章37表4–1重新引导基于x86的系统:任务列表(续)任务说明参考对基于x86的系统启动重新引导,以引导至新创建的引导环境.
对基于x86的系统启动快速重新引导,以引导至新创建的引导环境或备用引导环境(通过使用reboot命令指定该引导环境).
第40页中的"对系统启动重新引导以引导至新激活的或备用的引导环境"在基于x86的系统上更改快速重新引导功能的缺省行为.
在x86平台上,缺省情况下快速重新引导和应急快速重新引导均已启用,并通过boot-config服务进行管理.
可以通过禁用其中一个功能或同时禁用这两个功能来更改此缺省行为.
第42页中的"更改快速重新引导功能的缺省行为"对已启用快速重新引导的基于x86的系统启动标准重新引导.
使用带有-p选项的reboot命令对已启用快速重新引导功能的系统执行标准重新引导.
第42页中的"对启用了快速重新引导的系统启动标准重新引导"重新引导基于x86的系统可以通过使用init命令或reboot命令重新引导系统.
系统始终在一组定义完善的运行级别中的某一级运行.
由于运行级别由init进程维护,因此运行级别也称为init状态.
init命令可用于启动运行级别转换.
使用init命令重新引导系统时,运行级别2、3和4可用作多用户系统状态.
reboot命令会重新启动内核.
PROM监视器将内核装入内存,并将控制权转移给装入的内核.
尽管reboot命令在任何时候均可供root用户使用,但在某些情况下,当服务器重新引导时,通常会首先使用shutdown命令警告所有已登录系统的用户服务即将丢失.
有关更多信息,请参见第3章,关闭系统(任务).
如何使用init命令重新引导系统init命令是一种可执行的shell脚本,用于在更改运行级别之前终止系统上的所有活动进程然后同步磁盘.
成为root角色.
重新引导系统.
要将系统重新引导至/etc/inittab文件中由initdefault项定义的状态,请键入以下命令:#init612重新引导基于x86的系统在x86平台上引导和关闭OracleSolaris2012年3月38要将系统重新引导至多用户状态,请键入以下命令:#init2使用init命令使系统进入单用户状态(运行级别S)在本示例中,init命令用于使系统进入单用户状态(运行级别S).
#inits#INIT:Newrunlevel:SThesystemiscomingdownforadministration.
Pleasewait.
Unmountingremotefilesystems:/volnfsdone.
Printservicesstopped.
syslogd:goingdownonsignal15Killinguserprocesses:done.
SINGLEUSERMODERootpasswordforsystemmaintenance(control-dtobypass):xxxxxxsingle-userprivilegeassignedto/dev/console.
EnteringSystemMaintenanceMode#如何使用reboot命令重新引导系统如果使用reboot命令重新引导基于x86的系统,缺省情况下将启动快速重新引导,绕过BIOS.
要在不绕过BIOS的情况下重新引导系统,请使用带-p选项的reboot命令.
请参见第42页中的"对启用了快速重新引导的系统启动标准重新引导".
成为root角色.
重新引导系统.
#reboot加速基于x86的系统上的重新引导过程使用OracleSolaris的快速重新引导功能,可以绕过固件和引导装载程序进程重新引导基于x86的系统.
快速重新引导实现了一种内核内引导装载程序,它可将内核装入内存,然后再切换到该内核,因此重新引导过程在几秒钟之内就能完成.
缺省情况下,快速重新引导和应急快速重新引导(在系统出现紧急情况后快速重新引导系统)均已启用,因此不需要在reboot命令中使用-f选项即可对基于x86的系统启动快速重新引导.
新的boot-config服务svc:/system/boot-config:default有助于提供快速重新引导支持.
如果需要,此服务会提供一种设置或更改系统的缺省引导配置属性的方法.
将示例4–112加速基于x86的系统上的重新引导过程第4章重新引导基于x86的系统(任务)39config/fastreboot_default属性设置为true时,系统会自动执行快速重新引导.
在基于x86的系统上,此属性的值设置为true.
有关更多信息,请参见第42页中的"更改快速重新引导功能的缺省行为".
系统在引导新OS映像时绕过固件的功能依赖于设备驱动程序对新设备操作入口点quiesce的实现.
在支持的驱动程序上,该实现将停止设备,因此函数完成后,该驱动程序不再产生中断.
该实现还会将设备重置为硬件状态,在该状态下,可以通过驱动程序的连接例程对设备进行正确配置,而无需对系统进行关开机循环或通过固件进行配置.
有关此功能的更多信息,请参见quiesce(9E)和dev_ops(9S)手册页.
注–并非所有驱动程序均实现quiesce函数.
有关故障排除说明,请参见第81页中的"对可能阻止在x86平台上快速重新引导的情况进行故障排除".
要查看详细介绍快速重新引导过程的演示,请转到http://download.
oracle.
com/otndocs/tech/OTN_Demos/x86/x86-OTN-Demo/x86-OTN-Demo.
html.
如何在绕过BIOS的情况下重新引导系统注–在此OracleSolaris发行版中,快速重新引导在基于x86的系统上是缺省操作模式.
以前,要对基于x86的系统启动快速重新引导,您需要在reboot命令中指定-f选项才能对系统启动快速重新引导.
现在,您不再需要指定此选项.
成为root角色.
要对系统启动快速重新引导,请键入以下任一命令:#reboot#init6对系统启动重新引导以引导至新激活的或备用的引导环境可以通过多种方法将基于x86的系统快速重新引导至备用引导环境.
以下示例说明了其中的一些方法.
示例4–2x86:对系统启动重新引导以引导至新激活的引导环境以下示例说明如何对系统启动快速重新引导,以引导至新激活的引导环境2010-12-10-be.
12加速基于x86的系统上的重新引导过程在x86平台上引导和关闭OracleSolaris2012年3月40示例4–2x86:对系统启动重新引导以引导至新激活的引导环境(续)#bootadmlist-menuthelocationfortheactiveGRUBmenuis:/rpool/boot/grub/menu.
lstdefault00oraclesolaris1112010-12-10-be2zfsbe232010-12-10-be-s#beadmactivate2010-12-10-be#reboot示例4–3x86:通过指定备用引导环境对系统启动重新引导要将系统快速重新引导至备用引导环境(例如zfsbe2),需要键入以下命令:#reboot--'rpool/zfsbe2'要对系统启动快速重新引导以引导至名为rpool/zfsbe1的数据集,需要键入以下命令:#reboot--'rpool/zfsbe1'要对系统启动快速重新引导以引导至备用的ZFS根数据集,需要键入以下命令:#reboot--'rpool/ROOT/zfsroot2'示例4–4在启用内核调试器的情况下对系统启动快速重新引导以引导至备用引导环境要在启用内核调试器的情况下对系统启动快速重新引导以引导至zfsbe3引导环境,需要键入以下命令:#reboot--'rpool/zfsbe3/platform/i86pc/kernel/amd64/unix-k'示例4–5x86:对系统启动重新引导以引导至新内核要对系统启动快速重新引导以引导至名为my-kernel的新内核,需要键入以下命令:#reboot--'/platform/i86pc/my-kernel/amd64/unix-k'示例4–6x86:对挂载的磁盘或挂载的数据集启动重新引导要对挂载的磁盘或挂载的数据集启动快速重新引导,需要键入以下命令:#reboot--'/mnt/platform/i86pc/my-kernel/amd64/unix-k'示例4–7x86:在启用内核调试器的情况下对系统启动重新引导以引导至单用户状态要在启用内核调试器的情况下对系统启动快速重新引导以引导至单用户状态,需要键入以下命令:加速基于x86的系统上的重新引导过程第4章重新引导基于x86的系统(任务)41示例4–7x86:在启用内核调试器的情况下对系统启动重新引导以引导至单用户状态(续)#reboot--'-ks'更改快速重新引导功能的缺省行为快速重新引导功能由SMF进行控制,并通过引导配置服务svc:/system/boot-config来实现.
boot-config服务提供了一种设置或更改缺省引导参数的方法.
boot-config服务的fastreboot_default属性可以实现在使用reboot或init6命令时,系统自动执行快速重新引导.
将config/fastreboot_default属性设置为true时,系统将自动执行快速重新引导,不需要使用reboot--f命令.
缺省情况下,在基于x86的系统上此属性的值设置为true.
svc:/system/boot-config:default服务包括以下属性:config/fastreboot_defaultconfig/fastreboot_onpanic示例4–8x86:配置boot-config服务的属性可使用svccfg和svcadm命令配置属于boot-config服务一部分的属性.
例如,要在基于x86的系统上禁用fastreboot_onpanic属性的缺省行为,需要将属性的值设置为false,如下所示:#svccfg-s"system/boot-config:default"setpropconfig/fastreboot_onpanic=false#svcadmrefreshsvc:/system/boot-config:default请注意,更改一个属性的值不会影响其他属性的缺省行为.
有关通过SMF管理引导配置服务的信息,请参见svcadm(1M)和svccfg(1M)手册页.
对启用了快速重新引导的系统启动标准重新引导要重新引导已启用快速重新引导功能的基于x86的系统,而不重新配置boot-config服务以禁用该功能,请在reboot命令中使用-p选项,如下所示:#reboot-p加速基于x86的系统上的重新引导过程在x86平台上引导和关闭OracleSolaris2012年3月42从网络引导基于x86的系统(任务)本章提供了有关从网络引导基于x86的系统的概述、指南以及任务相关信息.
以下列出本章所介绍的信息:第43页中的"从网络引导基于x86的系统(任务列表)"第44页中的"从网络引导基于x86的系统"有关引导基于x86的系统的概述信息,请参见第1章,引导和关闭基于x86的系统(概述).
有关从网络引导基于SPARC的系统的信息,请参见《在SPARC平台上引导和关闭OracleSolaris》中的第5章"从网络引导基于SPARC的系统(任务)".
从网络引导基于x86的系统(任务列表)表5–1从网络引导基于x86的系统:任务列表任务说明参考1.
查看从网络引导基于x86的系统的要求.
首先查看从网络引导基于x86的系统的所有要求.
请注意,某些要求包括独立的先决条件任务,执行这些任务后,才可以从网络引导系统.
第44页中的"从网络引导基于x86的系统的要求"2.
从网络引导基于x86的系统.
在查看所有要求并执行所有初步任务后,即可从网络引导系统.
使用reboot命令从网络引导基于x86的系统.
第45页中的"如何从网络引导基于x86的系统"5第5章43从网络引导基于x86的系统您可能因为以下原因需要从网络引导系统:要安装OracleSolaris出于恢复目的在OracleSolaris中使用的网络配置引导策略是动态主机配置协议(DynamicHostConfigurationProtocol,DHCP).
如果从网络引导系统以使用自动化安装程序(AutomatedInstaller,AI)安装OracleSolaris,请执行其他任何AI安装服务.
有关更多信息,请参见《安装OracleSolaris11系统》.
x86网络引导过程在OracleSolaris中,支持通过符合引导前执行环境(PrebooteXecutionEnvironment,PXE)(也称为预执行环境)的固件进行网络引导,而引导前执行环境是使用独立于数据存储设备(如硬盘)或已安装操作系统的网络接口引导系统的环境.
该固件负责装入引导程序,引导程序是一个名为pxegrub的特殊GRUB阶段2文件.
pxegrub文件包括简单文件传输协议(TrivialFileTransferProtocol,TFTP)、DHCP、用户数据报协议(UserDatagramProtocol,UDP)、Internet协议(InternetProtocol,IP)以及一个小型驱动程序(使用通用网络设备接口(UniversalNetworkDeviceInterface,UNDI)固件接口在网络中传送包)的基本实现.
从网络引导基于x86的系统的要求如果引导服务器可用,任何系统都可以从网络进行引导.
可能需要从网络引导独立系统以便进行恢复或安装OracleSolaris.
可以从支持PXE网络引导协议的网络来直接引导基于x86的系统.
请注意,PXE协议仅适用于实施Intel引导前执行环境规范的设备.
既可用于PXE设备也可用于非PXE设备的缺省网络引导策略是DHCP.
要对基于x86的系统执行网络引导以安装OracleSolaris或进行恢复,需要使用为PXE客户机配置的DHCP服务器.
还需要提供tftp服务的引导服务器.
如果没有可用的PXE或DHCP服务器,则可以从磁盘、CD-ROM或本地磁盘装入GRUB.
DHCP服务器提供客户机配置其网络接口所需的信息.
如果您正在设置自动化安装程序(AutomatedInstaller,AI)服务器,该服务器也可用作DHCP服务器.
或者,您还可以设置单独的DHCP服务器.
有关DHCP的更多信息,请参见《OracleSolaris管理:IP服务》中的第II部分,"DHCP".
从网络引导基于x86的系统在x86平台上引导和关闭OracleSolaris2012年3月44DHCP服务器必须能够使用以下信息响应DHCP类(PXEClient和GRUBClient):文件服务器的IP地址引导文件(pxegrub)的名称以下是执行OracleSolarisOS的PXE网络引导的顺序:1.
BIOS被配置为从网络接口进行引导.
2.
BIOS发送DHCP请求.
3.
DHCP服务器在回复中提供服务器地址和引导文件的名称.
4.
BIOS使用tftp下载pxegrub并执行pxegrub.
5.
系统使用tftp下载GRUB菜单文件.
此文件显示可用的引导菜单项.
6.
选择菜单项后,系统即开始装入OracleSolaris.
如何从网络引导基于x86的系统执行设置DHCP配置所需的所有必备任务.
请参见第44页中的"从网络引导基于x86的系统的要求".
如果从网络引导基于x86的系统以安装OracleSolaris,您必须下载AI客户机映像并基于该映像创建安装服务.
有关先决条件和详细说明,请参见《安装OracleSolaris11系统》中的第III部分,"使用安装服务器安装".
重新引导系统.
指示BIOS从网络进行引导.
如果系统使用特定的击键序列从网络进行引导,请在显示BIOS屏幕时键入这些击键.
如果需要手动修改BIOS设置以从网络进行引导,请键入相应的击键序列,以访问BIOS设置实用程序.
然后,修改从网络进行引导的引导优先级.
显示GRUB菜单时,请选择要安装的网络安装映像.
开始之前123从网络引导基于x86的系统第5章从网络引导基于x86的系统(任务)4546在基于x86的系统上修改引导参数(任务)本章提供了有关在基于x86的系统上修改引导参数的任务相关信息.
以下列出本章所介绍的信息:第47页中的"在基于x86的系统上修改引导参数(任务列表)"第49页中的"在基于x86的系统上修改引导参数"如果需要在OracleIntegratedLightsOutManager(ILOM)服务处理器上配置x86引导模式属性,请参见硬件文档,网址为http://download.
oracle.
com/docs/cd/E19694-01/E21741-02/index.
html.
有关引导基于x86的系统的概述信息,请参见第1章,引导和关闭基于x86的系统(概述).
有关在基于SPARC的系统上修改引导参数的信息,请参见《在SPARC平台上引导和关闭OracleSolaris》中的第6章"在基于SPARC的系统上修改引导参数(任务)".
在基于x86的系统上修改引导参数(任务列表)表6–1在基于x86的系统上修改引导参数:任务列表任务说明参考在基于x86的系统上显示缺省引导参数.
指定eeprom命令的相应参数以显示参数值.
第49页中的"使用eeprom命令显示和设置引导参数"使用eeprom命令在基于x86的系统上修改引导行为.
使用eeprom命令在基于x86的系统上修改引导行为.
使用eeprom命令设置的引导参数会在系统重新引导后持续有效,除非通过在引导时编辑GRUB菜单来覆盖这些选项.
第49页中的"如何使用eeprom命令修改引导参数"6第6章47表6–1在基于x86的系统上修改引导参数:任务列表(续)任务说明参考引导时在基于x86的系统上修改引导参数.
通过在引导时编辑GRUB菜单修改引导参数.
通过在引导时编辑GRUB菜单指定的引导选项仅在下次引导系统之前有效.
第51页中的"x86:如何在引导时修改引导参数"引导时在基于x86的系统上配置控制台参数.
与较早的视频图形阵列(VideoGraphicsArray,VGA)640–48016色控制台相比,OracleSolaris发行版在基于x86的系统上支持更高的分辨率和颜色深度.
要修改控制台设置,请在引导时指定相应的命令行参数-Bconsole=val.
示例6–2和示例6–3禁用缺省的关闭动画行为.
要在关闭期间阻止显示进度状态指示器,请将svc:/system/boot-configSMF服务的splash-shutdown新属性设置为false.
第53页中的"禁用关机动画"通过编辑menu.
lst文件,在基于x86的系统上修改引导参数.
通过编辑menu.
lst配置文件以添加新的OS项或重定向控制台,修改引导参数.
您对该文件所做的更改会在系统重新引导后持续有效.
第54页中的"通过编辑menu.
lst文件修改引导项和引导参数"在安装OracleSolaris之后向menu.
lst文件添加Linux项.
如果首先将Linux安装到一个分区,然后将OracleSolaris安装到另一个分区,您需要遵循特殊说明以确保新安装生成的GRUB菜单信息不会删除先前安装生成的GRUB菜单信息.
第55页中的"如何在安装OracleSolaris之后将Linux项添加到GRUB菜单"找到活动的GRUB菜单并列出菜单项.
使用bootadm命令查看活动GRUB菜单的位置并显示菜单项.
第56页中的"如何找到活动的GRUB菜单并列出当前菜单项"设置活动GRUB菜单的缺省项.
使用bootadm命令设置系统上的活动GRUB菜单的缺省项.
第57页中的"如何设置活动GRUB菜单的缺省引导项"在基于x86的系统上修改引导参数(任务列表)在x86平台上引导和关闭OracleSolaris2012年3月48在基于x86的系统上修改引导参数在基于x86的系统上修改引导参数的主要方法如下所述:使用eeprom命令eeprom命令用于将不同的值指定给标准的参数集.
这些与SPARCOpenBootPROMNVRAM变量等效的值存储在/boot/solaris/bootenv.
rc文件或menu.
lst文件中.
使用eeprom命令对引导参数进行的更改会在每次系统重新引导后持续有效,并且会在软件升级期间得以保留.
有关更多信息,请参见eeprom(1M)手册页.
注意–如果直接编辑menu.
lst文件,则稍后无法使用eeprom命令更改某些引导参数(boot-file、boot-arguments和console).
在引导时编辑GRUB菜单通过在引导时修改缺省内核用法进行的更改会覆盖使用eeprom命令设置的选项.
但是,这些更改仅在下次引导系统之前保持生效.
有关更多信息,请参见kernel(1M)手册页.
编辑GRUB配置文件使用eeprom命令显示和设置引导参数要确定特定引导参数的缺省值,请使用eeprom命令,如下所示:$eepromparameter例如,要显示boot-device参数的缺省值,需要键入:$eepromboot-device注–您不必成为root用户就能显示引导参数.
但是,要使用eeprom命令更改引导参数或任何其他参数,则必须成为root用户.
如何使用eeprom命令修改引导参数成为root角色.
更改指定的参数.
#eepromparameter=new-value12在基于x86的系统上修改引导参数第6章在基于x86的系统上修改引导参数(任务)49确认已设置新的参数.
#eepromparameter输出应该显示指定参数的新的eeprom值.
使用eeprom命令设置auto-boot参数以下示例显示如何将auto-boot引导参数设置为true.
#eepromauto-boot=true当eeprom命令在用户模式下运行时,结尾具有问号()的任何参数都需要括在双引号中,以防止shell解释该问号.
在问号前加一个转义符(\)也可以防止shell解释问号.
例如:#eeprom"auto-boot"=true在引导时修改引导参数要在引导时修改系统的引导行为(例如将系统引导至单用户状态或在启用了内核调试器的情况下引导系统),可以在显示GRUB菜单时,通过键入e在GRUB菜单中编辑引导项,从而中断引导过程.
下表介绍了您可以通过在引导时编辑GRUB菜单指定的引导参数和选项:unix指定要引导的内核.
-a提示用户输入配置信息.
-s将系统引导至单用户状态.
-r指定重新配置引导.
系统将探测所有连接的硬件设备,然后指定文件系统中的节点,以便仅表示实际找到的那些设备.
-v在启用详细消息的情况下引导系统.
-x勿在群集模式中引导系统.
-k在启用内核调试器的情况下引导系统-msmf-options控制服务管理工具(ServiceManagementFacility,SMF)的引导行为有两类选项:恢复选项和消息选项.
-ialtinit将备用可执行文件指定为原始进程.
altinit是指向可执行文件的有效路径.
3示例6–1在基于x86的系统上修改引导参数在x86平台上引导和关闭OracleSolaris2012年3月50-Bprop=value[,prop=value].
.
.
指定内核引导参数.
以下是使用-Bprop=val选项在GRUB菜单中修改引导参数的各种方式:-Bacpi-enum=off禁用设备的高级配置和电源接口(AdvancedConfigurationandPowerInterface,ACPI)枚举.
-Bacpi-user-options=0x2完全禁用ACPI.
-Bconsole=force-text指定使用VGA文本模式进行引导.
请参见第52页中的"支持位映射控制台".
-Bconsole=graphics指定控制台使用图形模式进行引导,其中启用了高分辨率状态.
-Bconsole=text指定控制台使用文本模式进行引导,其中启用了高分辨率状态.
-Bscreen-#columns=value,screen-#rows=value指定帧缓存器控制台的行数和列数.
系统会自动检测所选数量的行或列的最合适字体.
此选项用于优化帧缓存器控制台的大小.
请参见第52页中的"支持位映射控制台".
-Bconsole=ttya将控制台重定向到ttya.
-Bconsole=ttya,acpi-enum=off将控制台重定向到ttya并禁用设备的ACPI枚举.
注–使用eeprom命令以及在GRUB命令行上指定参数时,GRUB命令行优先.
x86:如何在引导时修改引导参数通过在引导时编辑GRUB菜单修改缺省内核用法时,所做的更改不会在系统重新引导后持续有效.
当您下次引导系统时,将恢复缺省引导参数.
重新引导系统.
引导序列开始时,将显示GRUB主菜单.
使用方向键选择引导项进行编辑.
键入e以访问GRUB编辑菜单.
在菜单中选择kernel$行.
1234在基于x86的系统上修改引导参数第6章在基于x86的系统上修改引导参数(任务)51键入e以向该行中添加引导参数.
键入任何附加的引导参数.
按回车键以保存您的更改,并返回到上一级菜单.
注–按Esc键返回GRUB主菜单,而不保存所做更改.
要引导系统,请键入b.
您所做的更改将在引导系统时生效.
支持位映射控制台与较早的视频图形阵列(VideoGraphicsArray,VGA)640-48016色控制台相比,OracleSolaris11在基于x86的系统上支持更高的分辨率和颜色深度.
对于使用传统BIOS和视频电子标准协会(VideoElectronicsStandardsAssociation,VESA)选项只读存储器(read-onlymemory,ROM)的系统,提供这种支持.
请注意,这种支持仅限于图形卡或帧缓存器用作物理或虚拟控制台的情况下.
对串行控制台的行为则没有任何影响.
为支持此功能,提供了以下两个命令行-Boption=val参数:-Bconsole=force-text指定使用VGA文本模式进行引导.
-Bscreen-#columns=value,screen-#rows=value指定帧缓存器控制台的行数和列数.
系统会自动检测所选数量的行或列的最合适字体.
此选项用于优化帧缓存器控制台的大小.
缺省情况下,GRUB会检测已安装的视频卡和监视器中使用的分辨率和颜色深度.
但是,也可以指定不同的分辨率,例如,更高的分辨率和不同的颜色深度.
GRUB支持使用以下两种方法来指定视频模式:vbesethexmode指定所需VESA模式的十六进制代码.
要获取视频卡和监视器支持的所有模式列表,请在GRUB命令提示符下使用vbeprobe命令,该命令将显示与以下内容类似的列表:0x117:DirectColor,1024x768x160x118:DirectColor,1024x768x320x11a:DirectColor,1280x1024x160x11b:DirectColor,1280x1024x32[.
.
.
]用于指定1024x768x32配置的vbeset项如下所示:5678在基于x86的系统上修改引导参数在x86平台上引导和关闭OracleSolaris2012年3月52vbset0x118vbeset项必须在GRUB菜单中的kernel$和module$项之后指定.
vbematchxresyresdepth指示GRUB搜索指定的配置,例如1024x768x32.
如果找到,GRUB将设置指定的配置.
用来代替vbeset项时,1024x768x32配置的vbematch项如下所示:vbematch102476832vbematch项必须在GRUB菜单中的kernel$和module$项之后指定.
示例6–2x86:为控制台配置文本模式引导参数在文本模式下,控制台输出将发送到帧缓存器,而从键盘接收输入.
图形模式(文本模式的衍生模式)会显示具有动画效果的图像,直到按下某个键或通过控制台login、sulogin或kmdb命令要求进行控制台交互.
文本的新属性force-text会指示系统不将VGA适配器用作位图设备,并将该适配器设置为VGA文本模式.
如果此属性不存在,控制台设备会恢复到由input-device和output-device属性对指定的设备.
如果控制台属性以及input-device和output-device属性对都不存在,则控制台缺省为帧缓存器和键盘.
以下示例说明引导时如何在内核命令行指定-Bconsole=force-text属性:-Bconsole=force-text示例6–3x86:启用图形显示和配置控制台文本模式参数缺省情况下,控制台文本模式具有80列、24行.
要重新配置此参数,请使用带有screen-#columns=value和screen-#rows=value参数的-B选项.
例如,可以在内核命令行中指定以下参数,以启用图形显示并分配具有100列、60行的控制台终端:-Bconsole=graphics,screen-#columns=100,screen-#rows=60禁用关机动画在关机过程中,如果在引导系统时使用了console=graphics选项,并且Xorg服务器触发了关机操作,则会显示进度状态指示器.
要阻止显示进度状态指示器,请将svc:/system/boot-configSMF服务的新splash-shutdown属性设置为false,如下所示:在基于x86的系统上修改引导参数第6章在基于x86的系统上修改引导参数(任务)53#svccfg-ssvc:/system/boot-config:defaultsetpropconfig/splash_shutdown=false#svcadmrefreshsvc:/system/boot-config:default通过编辑menu.
lst文件修改引导项和引导参数可以对GRUB菜单(它基于menu.
lst配置文件中的项)进行定制.
Solaris会自动为OracleSolaris引导环境(bootenvironment,BE)管理GRUBmenu.
lst项.
创建引导环境(通过包管理系统或显式使用beadm命令)时,GRUB项会添加到menu.
lst文件中.
使用beadmdestroy命令与destroy子命令删除引导环境时,会从GRUBmenu.
lst文件中删除相应的项.
OracleSolaris不会自动为您系统上安装的其他操作系统添加menu.
lst项.
您必须手动为这些操作系统添加菜单项.
有关更多信息,请参见第55页中的"如何在安装OracleSolaris之后将Linux项添加到GRUB菜单".
OracleSolaris11的典型menu.
lst文件可能包括以下信息:ADDEDBYBOOTADM-DONOTEDITtitleOracleSolaris111findroot(pool_rpool,0,a)2bootfsrpool/ROOT/solaris3kernel$/platform/i86pc/kernel/$ISADIR/unix-B$ZFS-BOOTFS,console=graphics4module$/platform/i86pc/$ISADIR/boot_archive5ENDBOOTADM-1.
为菜单项指定操作系统标题.
2.
在所有分区中搜索SIGNATURE文件名.
在此示例中,文件名为pool_rpool.
GRUB仅在/boot/grub/bootsign目录中搜索文件名,然后在找到文件的第一个实例后立即停止搜索.
要有效地使用该方法,签名文件的名称在所有分区中必须唯一.
在定位签名文件之后,GRUB会对该分区调用root命令.
要优化搜索,可以指定可选的分区和分片.
3.
将当前ZFS引导文件系统设置为指定值.
在此menu.
lst文件示例中,属性将当前ZFS引导文件系统设置为rpool/ROOT/solaris.
4.
从指定路径装入主引导映像.
此行的其余部分以内核命令行形式逐字传递.
美元符号($)是$ISADIR项的扩展.
5.
装入给定内核的引导归档文件.
美元符号($)是$ISADIR项的扩展.
注–要了解有关特定GRUB命令的更多信息,请从命令行中键入helpcommand.
可配置的超时功能可用于引导缺省操作系统.
所引导的缺省项可通过default命令进行配置.
安装软件通常将该命令设置为引导有效的引导项之一.
要引导不同版本的OracleSolaris(如果适用)或者引导除OracleSolaris之外的其他操作系统,请使用方向在基于x86的系统上修改引导参数在x86平台上引导和关闭OracleSolaris2012年3月54键选择相应引导项,然后按Enter键引导该操作系统.
请注意,如果未设置default命令,将引导GRUB菜单中的第一个引导项.
只有活动的menu.
lst文件可用于引导系统.
要修改在引导系统时显示的GRUB菜单,请编辑活动的GRUBmenu.
lst文件.
更改任何其他menu.
lst文件不会对引导系统时显示的菜单产生任何影响.
要确定活动menu.
lst文件的位置,请使用bootadm命令的list-menu子命令.
如何在安装OracleSolaris之后将Linux项添加到GRUB菜单如果您通过首先将Linux安装到一个分区,然后将OracleSolaris安装到另一个分区的方法设置引导环境,需要遵循特殊说明以确保新安装生成的GRUB菜单信息不会删除先前安装生成的GRUB菜单信息.
以下过程说明了如何手动更新menu.
lst文件以包含先前安装的Lunix项.
下列说明假设您已在系统上安装了Linux,然后又安装了OracleSolaris.
完成Linux安装后,将活动的menu.
lst文件复制到USB驱动器中,以便在完成OracleSolaris安装后可以重新使用其中的信息.
通常,此文件为/boot/grub/menu.
lst.
如果您不确定活动menu.
lst文件的位置,请使用bootadm命令查找该文件:#bootadmlist-menu如果您不确定USB驱动器的位置,请使用mount命令(不带选项)确定USB驱动器的安装位置.
然后,将menu.
list文件复制到该位置.
安装完成后,编辑活动menu.
lst文件,如下所示:a.
打开终端窗口并成为root角色.
$surootPassword:b.
使用文本编辑器编缉menu.
lst文件.
例如:#vi/pool-name/boot/grub/menu.
lst其中pool-name是ZFS存储池的名称.
c.
使用在步骤1中复制menu.
lst文件的USB驱动器,将原始Linux安装生成的Lunixmenu.
lst信息复制到新menu.
lst文件的末尾.
例如,Ubuntu安装生成的menu.
lst文件与以下内容类似:titleUbuntu8.
04,kernel2.
6.
24-18-genericroot(hd0,4)kernel/vmlinuz-2.
6.
24-18-generic\12在基于x86的系统上修改引导参数第6章在基于x86的系统上修改引导参数(任务)55root=UUID=1ed7fa17-6d77-4b49-be1a-22481310fd1broquietsplashinitrd/initrd.
img-2.
6.
24-18-genericquiettitleUbuntu8.
04,kernel2.
6.
24-18-generic(recoverymode)root(hd0,4)kernel/vmlinuz-2.
6.
24-18-generic\root=UUID=1ed7fa17-6d77-4b49-be1a-22481310fd1brosingleinitrd/initrd.
img-2.
6.
24-18-generic注意–请不要直接编辑menu.
lst文件的原始内容.
始终将新信息添加到文件的末尾,或者通过复制现有内容然后再对该内容进行修改来进行更改.
d.
保存并退出该文件.
重新引导系统.
当系统重新引导时,GRUB菜单应包含对应于Linux和OracleSolaris操作系统的项.
使用bootadm命令显示和设置引导项的参数如何找到活动的GRUB菜单并列出当前菜单项使用此过程可确定活动GRUB菜单的位置并列出当前的GRUB菜单项.
成为root角色.
要列出活动GRUB菜单的位置和当前的GRUB菜单项,请键入:#bootadmlist-menulist-menu列出活动GRUB菜单的位置,以及当前的GRUB菜单项.
输出中包括有关autoboot-timeout缺省项编号以及每个项的标题的信息.
列出活动GRUB菜单的位置和当前的GRUB菜单项#bootadmlist-menuThelocationfortheactiveGRUBmenuis:/stubboot/boot/grub/menu.
lstdefault=0timeout=3002010-12-10-be1OracleSolaris112Linux312示例6–4在基于x86的系统上修改引导参数在x86平台上引导和关闭OracleSolaris2012年3月56如何设置活动GRUB菜单的缺省引导项成为root角色.
要设置活动GRUB菜单中的缺省引导项,请键入:#bootadmset-menumenu-entryset-menu维护GRUB菜单.
活动GRUB菜单的位置为boot/grub/menu.
lst.
menu-entry指定要设置为缺省菜单项的GRUB菜单项.
要检验缺省菜单项是否已更改,请键入:#bootadmlist-menu此时应该显示新的缺省菜单项.
切换GRUB缺省菜单项以下示例说明如何将缺省GRUB菜单切换到上一个示例中显示的菜单项之一.
所选菜单项为菜单项2"Linux".
#bootadmset-menudefault=2123示例6–5在基于x86的系统上修改引导参数第6章在基于x86的系统上修改引导参数(任务)5758在x86平台上从ZFS引导环境创建、管理和引导(任务)本章介绍如何在基于x86的系统上从ZFS引导环境(也称为BE)创建、管理和引导.
以下列出本章所介绍的信息:第59页中的"从ZFS引导环境创建、管理和引导(任务列表)"第60页中的"创建和管理引导环境"第65页中的"在x86平台上从ZFS引导环境或根文件系统引导"有关引导基于x86的系统的概述信息,请参见第1章,引导和关闭基于x86的系统(概述).
有关在SPARC平台上从ZFS引导环境引导的信息,请参见《在SPARC平台上引导和关闭OracleSolaris》中的第7章"在SPARC平台上从ZFS引导环境创建、管理和引导(任务)".
有关管理引导环境的详细信息,请参见《创建和管理OracleSolaris11引导环境》.
从ZFS引导环境创建、管理和引导(任务列表)表7–1从ZFS引导环境创建、管理和引导:任务列表任务说明参考创建新的引导环境.
使用beadmcreate命令创建新的引导环境.
第61页中的"如何创建新的引导环境"创建引导环境的快照.
使用beadmcreatebeName@snapshot命令创建现有引导环境的快照.
第62页中的"如何创建引导环境的快照"从现有快照创建引导环境.
使用beadm命令从现有快照创建新的引导环境.
第62页中的"如何基于现有快照创建引导环境"7第7章59表7–1从ZFS引导环境创建、管理和引导:任务列表(续)任务说明参考激活新创建的引导环境.
使用beadmactivate命令激活新创建的引导环境.
第62页中的"如何激活新创建的引导环境"显示引导环境、快照和数据集的列表.
要显示引导环境、快照和数据集的列表,请使用beadmlist命令.
第63页中的"如何显示可用引导环境、快照和数据集的列表"销毁引导环境.
使用beadmdestroy命令销毁引导环境.
第64页中的"如何销毁引导环境"在基于x86的系统上从指定的引导环境、数据集或根文件系统引导.
如果您安装支持ZFS引导装载程序的OracleSolaris发行版或将您的系统升级至该发行版,则缺省ZFS引导环境的GRUB菜单项包含-B$ZFS-BOOTFS引导参数.
因此,系统会自动从ZFS根系统引导.
注–只有包含ZFS池的引导设备支持此选项.
第65页中的"在x86平台上从ZFS引导环境或根文件系统引导"创建和管理引导环境以下任务介绍如何使用beadm实用程序创建和管理引导环境、快照和数据集.
引导环境(bootenvironment,BE)是用于引导的ZFS文件系统.
引导环境实际上是OracleSolarisOS映像的可引导实例,以及安装到该映像的任何其他软件包.
您可以在单个系统上维护多个引导环境.
每个引导环境可以安装不同的OS版本.
安装OracleSolaris时,在安装期间会自动创建新的引导环境.
快照是数据集或引导环境在指定时间点创建的只读映像.
请注意,快照不可引导.
但是,可以创建基于特定快照的引导环境,然后激活该新的引导环境,从而在下次系统重新引导时使其成为缺省引导环境.
数据集是用于标识ZFS文件系统、克隆、快照或卷的通用术语.
共享数据集是用户定义的目录,如/expor,它在活动和非活动的引导环境中包含相同的挂载点.
共享数据集位于每个引导环境的根数据集区域之外.
引导环境的关键数据集包含在该环境的根数据集区域中.
有关beadm实用程序的更多信息,请参见beadm(1M)手册页.
有关管理引导环境的更多信息,请参见《创建和管理OracleSolaris11引导环境》.
有关在全局或非全局区域环境中使用beadm实用程序的特定信息,请参见《创建和管理OracleSolaris11引导环境》中的第2章"beadmZones(区域)支持".
创建和管理引导环境在x86平台上引导和关闭OracleSolaris2012年3月60如何创建新的引导环境成为root角色.
使用beadmcreate命令创建引导环境.
#beadmcreatebeName其中beName是表示新引导环境名称的变量.
此新引导环境处于非活动状态.
注–beadmcreate命令不会创建部分引导环境.
要么成功创建新的完全引导环境,要么命令失败.
可选挂载新的引导环境.
#beadmmountbeNamemountpoint如果该挂载点的目录不存在,则beadm命令将创建目录,然后在该目录上挂载引导环境.
如果引导环境已经挂载,beadmmount命令将失败,而且不会在新的位置重新挂载引导环境.
此时引导环境被挂载,但保持非活动状态.
请注意,可对已挂载的非活动引导环境进行升级.
此外,请记住,在重新引导系统之前卸载引导环境.
可选要从新的引导环境引导,请首先激活引导环境.
#beadmactivatebeName其中beName是表示要激活的引导环境名称的变量.
重新引导时,活动的新引导环境成为列于GRUB菜单中的缺省引导项.
使用共享数据集创建克隆的引导环境以下示例显示了名为BE2的新创建的引导环境中的数据集.
此示例中的原始引导环境为BE1.
新引导环境BE2包含克隆自BE1的独立数据集.
如果BE1包含传统文件系统(如/opt)的独立数据集,那么也将克隆这些数据集.
#beadmcreateBE2#beadmlist-aBE2BE/Dataset/SnapshotActiveMountpointSpacePolicyCreatedBE2rpool/ROOT/BE2--42.
0Kstatic2011-04-0710:56如之前的输出中所示,存储池的名称为rpool.
该池已经存在于系统中,因为之前已在初始安装或升级过程中进行了设置.
ROOT这一特殊数据集也是之前在初始安装或升级过程中创建的.
ROOT保留供引导环境根专用.
1234示例7–1创建和管理引导环境第7章在x86平台上从ZFS引导环境创建、管理和引导(任务)61如何创建引导环境的快照成为root角色.
创建引导环境的快照.
#beadmcreatebeName@snapshot示例快照名称包括以下内容:BE@0312200.
12:15pmBE2@backupBE1@march132008如何基于现有快照创建引导环境成为root角色.
通过键入以下命令从快照创建新的引导环境:#beadmcreate-eBEname@snapshotdescriptionbeName使用现有快照的名称替换BEname@snapshotdescription,使用新引导环境的定制名称替换beName.
例如:#beadmcreate-eBE1@nowBE2此命令从名为BE1@now的现有快照创建名为BE2的新引导环境.
然后可以激活引导环境.
有关说明,请参见第62页中的"如何激活新创建的引导环境".
如何激活新创建的引导环境您可以激活新创建的引导环境,从而在重新引导时使其成为引导的缺省引导环境.
请注意,在任何给定时间都只能激活一个引导环境.
成为root角色.
使用以下命令激活现有的非活动引导环境:#beadmactivatebeName其中beName是表示要激活的引导环境的变量.
121212创建和管理引导环境在x86平台上引导和关闭OracleSolaris2012年3月62请注意以下事项:beadmactivatebeName命令通过将bootfs可引导池属性设置为要激活的引导环境的ROOT数据集的值,来激活相应的引导环境.
beadmactivate命令在menu.
lst文件中将新激活的引导环境设置为缺省引导环境.
重新引导系统.
新激活的引导环境现在是x86GRUB菜单中的缺省项.
注–如果引导环境无法引导,请重新引导并从GRUB菜单或引导菜单中选择上一个引导环境.
如何显示可用引导环境、快照和数据集的列表要显示使用beadm命令创建的可用引导环境、快照和数据集,请使用beadmlist命令.
成为root角色.
要列出系统中的所有可用数据集,请键入以下命令:#beadmlistoption-a列出有关引导环境的所有可用信息.
此选项包括从属快照和数据集.
-d列出有关引导环境的数据集的信息.
-s列出有关引导环境的快照的信息.
该选项与-d选项一起使用.
-H不显示标题信息.
选择此选项会生成一个更便于脚本或其他程序进行解析的显示.
要列出特定引导环境的可用数据集,请在beadmlist命令语法中包含引导环境名称.
例如,要列出oracle-solaris引导环境中的所有可用数据集,需要键入以下命令:#beadmlist-aoracle-solarisBE/Dataset/SnapshotActiveMountpointSpacePolicyCreatedoracle-solarisrpool/ROOT/solaris--14.
33Mstatic2011-01-2007:45查看快照规范以下beadmlist示例包括-s选项,用于显示当前映像中存在的所有快照的信息.
在下列样例结果中,每个快照标题均包括一个时间戳,指示该快照的创建时间.
3123示例7–2创建和管理引导环境第7章在x86平台上从ZFS引导环境创建、管理和引导(任务)63#beadmlist-stest-2将显示样例结果.
BE/SnapshotSpacePolicyCreatedtest-2test-2@2010-04-12-22:29:27264.
02Mstatic2010-04-1216:29test-2@2010-06-02-20:28:5132.
50Mstatic2010-06-0214:28test-2@2010-06-03-16:51:0116.
66Mstatic2010-06-0310:51test-2@2010-07-13-22:01:5625.
93Mstatic2010-07-1316:01test-2@2010-07-21-17:15:1526.
00Mstatic2010-07-2111:15test-2@2010-07-25-19:07:0313.
75Mstatic2010-07-2513:07test-2@2010-07-25-20:33:4112.
32Mstatic2010-07-2514:33test-2@2010-07-25-20:41:2330.
60Mstatic2010-07-2514:41test-2@2010-08-06-15:53:158.
92Mstatic2010-08-0609:53test-2@2010-08-06-16:00:378.
92Mstatic2010-08-0610:00test-2@2010-08-09-16:06:11193.
72Mstatic2010-08-0910:06test-2@2010-08-09-20:28:59102.
69Mstatic2010-08-0914:28test-2@install205.
10Mstatic2010-03-1619:04如何销毁引导环境如果要在系统上腾出更多磁盘空间,可以使用beadm命令销毁(删除)现有引导环境.
请注意以下事项:不能销毁当前已引导的引导环境.
beadmdestroy命令会自动从x86GRUB菜单中删除已销毁的引导环境的项.
beadmdestroy命令将仅销毁引导环境的关键数据集或非共享数据集.
共享数据集位于引导环境根数据集区域之外,且销毁引导环境时不受影响.
成为root角色.
要销毁引导环境,请键入以下命令:#beadmdestroybeName在销毁引导环境之前将提示您进行确认.
beadmdestroybeName销毁beName指定的引导环境.
-F在没有确认请求的情况下强制销毁引导环境.
-f强制销毁引导环境,即使已挂载引导环境也是如此.
12创建和管理引导环境在x86平台上引导和关闭OracleSolaris2012年3月64在x86平台上从ZFS引导环境或根文件系统引导在安装过程中或执行beadmactivate操作期间,以下项会添加到/pool-name/boot/grub/menu.
lst文件以自动引导ZFS:title2010-12-10-be-sfindroot(pool_rpool,0,a)bootfsrpool/ROOT/2010-12-10-be_152kernel$/platform/i86pc/kernel/$ISADIR/unix-B$ZFS-BOOTFS-smodule$/platform/i86pc/$ISADIR/boot_archive如果由GRUB标识为引导设备的设备包含ZFS存储池,则menu.
lst文件用于创建GRUB菜单.
在具有多个ZFS引导环境的基于x86的系统中,您可以在引导时从GRUB菜单中选择引导环境.
如果与该菜单项对应的根文件系统为ZFS数据集,则会添加以下选项:-B$ZFS-BOOTFS使用$ZFS-BOOTFS关键字可在基于x86的系统上从OracleSolarisZFS根文件系统引导.
此选项会标识要引导的引导环境或数据集.
如果您安装支持ZFS引导装载程序的OracleSolaris发行版,则缺省情况下,GRUBmenu.
lst文件和GRUB引导菜单将包含此信息.
示例7–3从ZFS引导环境、数据集或文件系统引导从ZFS文件系统引导时,根设备由GRUB菜单中kernel$行上的-B$ZFS-BOOTFS引导参数指定.
该值(与由-B选项指定的所有参数类似)将从GRUB传递到内核.
例如:titleOracleSolaris11Expresssnv_152findroot(pool_rpool,0,a)bootfsrpool/ROOT/solariskernel$/platform/i86pc/kernel/$ISADIR/unix-B$ZFS-BOOTFSmodule$/platform/i86pc/$ISADIR/boot_archive在x86平台上从ZFS引导环境或根文件系统引导第7章在x86平台上从ZFS引导环境创建、管理和引导(任务)6566使基于x86的系统保持可引导(任务)本章介绍如何使用引导管理接口(bootadm)使基于x86的系统保持可引导.
本章中介绍了以下操作过程:显示有关引导归档文件的信息、维护引导归档文件的完整性以及对引导归档文件问题进行故障排除.
以下列出本章所介绍的信息:第67页中的"使基于x86的系统保持可引导(任务列表)"第68页中的"OracleSolaris引导归档文件说明"第69页中的"管理引导归档文件SMF服务"第70页中的"维护引导归档文件的完整性"有关引导基于x86的系统的概述信息,请参见第1章,引导和关闭基于x86的系统(概述).
有关使基于SPARC的系统保持可引导的信息,请参见《在SPARC平台上引导和关闭OracleSolaris》中的第8章"使基于SPARC的系统保持可引导(任务)".
使基于x86的系统保持可引导(任务列表)表8–1使基于x86的系统保持可引导:任务列表任务说明参考通过使用bootadm命令列出引导归档文件的内容.
使用bootadmlist-archive命令可列出引导归档文件的内容.
第68页中的"如何列出引导归档文件的内容"管理boot-archive服务.
boot-archive服务由SMF控制.
使用svcs命令可检验boot-archive服务是否正在运行.
使用svcadm命令可启用或禁用服务.
第69页中的"管理引导归档文件SMF服务"8第8章67表8–1使基于x86的系统保持可引导:任务列表(续)任务说明参考使用auto-reboot-safe属性清除基于x86的系统上的引导归档文件更新故障.
当因为auto-reboot-safe属性被设置为false,引导归档文件在基于x86的系统上更新失败时,使用此过程.
第70页中的"如何使用auto-reboot-safe属性清除失败的自动引导归档文件更新"使用bootadm命令清除基于x86的系统上的引导归档文件更新故障.
如果已启用auto-reboot-safe属性,可使用此过程手动清除基于x86的系统上的引导归档文件更新故障.
第71页中的"如何通过手动更新引导归档文件清除失败的自动引导归档文件更新"OracleSolaris引导归档文件说明安装OracleSolaris时,bootadm命令会在您的系统上创建引导归档文件.
引导归档文件是根文件系统的子集.
此引导归档文件包含所有的内核模块、driver.
conf文件,以及几个配置文件.
这些文件位于/etc目录中.
挂载根文件系统之前,内核将读取引导归档文件中的文件.
挂载根文件系统之后,内核将从内存中放弃引导归档文件.
然后,系统将针对根设备执行文件I/O.
此外,bootadm命令可处理引导归档文件更新和验证的详细信息.
在系统正常关机过程中,关机过程会将引导归档文件的内容与根文件系统进行比较.
如果系统具有更新(如驱动程序或配置文件),则引导归档文件将重建为包括这些更改,以便在重新引导后,引导归档文件和根文件系统可以同步.
获取有关x86引导归档文件的位置和内容的信息x86引导归档文件中的文件位于/platform/i86pc/amd64/boot_archive目录中.
可以使用bootadmlist-archive命令列出引导归档文件的内容,如以下过程所述.
只要更新了引导归档文件中的任何文件,就必须重建该归档文件.
为使修改生效,必须在重新引导系统之前重建归档文件.
如何列出引导归档文件的内容成为root角色.
要列出引导归档文件中包括的文件和目录,请键入:#bootadmlist-archive12OracleSolaris引导归档文件说明在x86平台上引导和关闭OracleSolaris2012年3月68管理引导归档文件SMF服务boot-archive服务由SMF控制.
服务实例为svc:/system/boot-archive:default.
svcadm命令用于启用和禁用服务.
确定boot-archiveSMF服务是否正在运行如果已禁用boot-archive服务,则可能不会在系统重新引导时自动恢复引导归档文件.
因此,引导归档文件可能变得不同步或损坏,而这会导致系统无法引导.
要确定boot-archive服务是否正在运行,请使用svcs命令,如下所示:$svcsboot-archiveSTATESTIMEFMRIonline10:35:14svc:/system/boot-archive:default在本示例中,svcs命令的输出表明boot-archive服务处于联机状态.
有关更多信息,请参见svcadm(1M)和svcs(1)手册页.
如何启用或禁用boot-archiveSMF服务成为管理员.
有关更多信息,请参见《OracleSolaris管理:安全服务》中的"如何获取管理权限".
要启用或禁用boot-archive服务,请键入:#svcadmenable|disablesystem/boot-archive要检验boot-archive服务的状态,请键入:#svcsboot-archive如果该服务正在运行,则输出会显示服务处于联机状态.
STATESTIMEFMRIonline9:02:38svc:/system/boot-archive:default如果该服务未在运行,则输出会指示服务处于脱机状态.
有关排除引导归档文件更新故障的信息,请参见第70页中的"维护引导归档文件的完整性".
123故障排除管理引导归档文件SMF服务第8章使基于x86的系统保持可引导(任务)69维护引导归档文件的完整性通过引导管理接口bootadm,可以执行以下任务来维护OracleSolaris引导归档文件:列出系统引导归档文件中包括的文件和目录.
手动更新引导归档文件.
该命令的语法如下:bootadm[subcommand][-option][-Raltroot]有关bootadm命令的更多信息,请参见bootadm(1M)手册页.
如何使用auto-reboot-safe属性清除失败的自动引导归档文件更新x86平台上的引导归档文件恢复是通过快速重新引导功能自动完成的.
但是,在引导系统过程中,如果显示类似以下内容的警告:WARNING:Rebootrequired.
Thesystemhasupdatedthecacheoffiles(bootarchive)thatisusedduringtheearlybootsequence.
Toavoidbootingandrunningthesystemwiththepreviouslyout-of-syncversionofthesefiles,rebootthesystemfromthesamedevicethatwaspreviouslybooted.
然后系统进入系统维护模式.
结果是,引导归档文件的自动更新将失败.
要更正此问题,请执行以下过程中的步骤.
成为root角色.
重新引导系统.
#reboot如果活动的BIOS引导设备和GRUB菜单项指向当前引导实例,请执行以下步骤以防止引导归档文件更新故障:a.
将svc:/system/boot-configSMF服务的auto-reboot-safe属性设置为true,如下所示:#svccfg-ssvc:/system/boot-config:defaultsetpropconfig/auto-reboot-safe=trueb.
验证auto-reboot-safe属性是否设置正确.
#svccfg-ssvc:/system/boot-config:defaultlistprop|grepconfig/auto-reboot-safeconfig/auto-reboot-safebooleantrue123维护引导归档文件的完整性在x86平台上引导和关闭OracleSolaris2012年3月70如何通过手动更新引导归档文件清除失败的自动引导归档文件更新在引导系统过程中,如果显示类似以下内容的警告消息,其结果是,引导归档文件的自动更新将失败.
WARNING:Automaticupdateofthebootarchivefailed.
Updatethearchivesusing'bootadmupdate-archive'commandandthenrebootthesystemfromthesamedevicethatwaspreviouslybooted.
以下过程介绍如何使用bootadm命令手动更新过时的引导归档文件.
注–可以使用同样的过程在基于x86的系统上手动更新引导归档文件.
成为root角色.
要更新引导归档文件,请键入以下命令:#bootadmupdate-archive注–要更新备用根上的引导归档文件,请键入:#bootadmupdate-archive-R/a-Raltroot指定要应用于update-archive子命令的备用根路径.
注意–不得使用-R选项引用任何非全局区域的根文件系统.
否则,可能会损坏全局区域的文件系统,危及全局区域的安全性,或者损坏非全局区域的文件系统.
请参见zones(5)手册页.
重新引导系统.
#reboot123维护引导归档文件的完整性第8章使基于x86的系统保持可引导(任务)7172基于x86的系统引导故障排除(任务)以下是基于x86的系统引导故障排除过程.
以下列出本章所介绍的信息:第73页中的"基于x86的系统引导故障排除(任务列表)"第74页中的"关闭和引导基于x86的系统以便进行恢复"第81页中的"对x86平台上的快速重新引导问题进行故障排除"有关停止和启动OracleSolaris以进行恢复的信息,以及控制OracleILOM服务处理器的说明(如果您在运行服务处理器),请参见http://download.
oracle.
com/docs/cd/E19694-01/E21741-02/index.
html中的硬件文档.
有关如何解决OracleSolaris引导归档文件问题的信息,请参见第70页中的"维护引导归档文件的完整性".
有关解决基于SPARC的系统引导问题的信息,请参见《在SPARC平台上引导和关闭OracleSolaris》中的第9章"对引导基于SPARC的系统进行故障排除(任务)".
基于x86的系统引导故障排除(任务列表)表9–1基于x86的系统引导故障排除:任务列表任务说明参考停止基于x86的系统以便进行恢复.
如果损坏的文件阻止基于x86的系统进行引导,请首先停止系统以尝试恢复.
第75页中的"如何为进行恢复而停止系统"在单用户模式下引导基于x86的系统可解决不太严重的引导问题,例如rootshell项或口令项错误.
在单用户模式下引导系统以解决root口令未知或类似问题.
第75页中的"如何在单用户模式下进行引导以解决rootShell或口令错误问题"9第9章73表9–1基于x86的系统引导故障排除:任务列表(续)任务说明参考从介质引导基于x86的系统以解决root口令未知问题.
从介质引导系统,然后导入并挂载根池以更正问题.
第76页中的"如何从介质进行引导以解决root口令未知问题"从介质引导基于x86的系统以解决阻止系统引导的menu.
lst文件问题.
从介质引导系统,然后导入根池以分析并更正menu.
lst文件问题.
第77页中的"如何从介质进行引导以解决阻止系统引导的menu.
lst文件问题"强制对基于x86的系统实施故障转储和重新引导.
作为故障排除措施,强制对基于x86的系统实施故障转储和重新引导.
第78页中的"如何强制实施故障转储和系统重新引导"在启用内核调试器(kmdb)的情况下引导基于x86的系统.
在启用内核调试器的情况下引导基于x86的系统,以与内核进行交互并对系统问题进行故障排除.
第80页中的"如何在启用内核调试器(kmdb)的情况下引导系统"引导基于x86的系统以便在ZFS根环境中进行恢复.
如果需要通过引导系统来解决root口令丢失或类似问题,请使用此过程.
第77页中的"如何从介质进行引导以解决阻止系统引导的menu.
lst文件问题"对基于x86的系统上的快速重新引导功能问题进行故障排除.
对可能阻止基于x86的系统启动快速重新引导的问题进行故障排除.
第81页中的"对x86平台上的快速重新引导问题进行故障排除"关闭和引导基于x86的系统以便进行恢复在以下情况下,必须先关闭系统以进行分析,或对引导和其他系统问题进行故障排除.
诊断系统引导时出现的错误消息.
停止系统以尝试恢复.
引导系统以便进行恢复.
强制实施系统故障转储和重新引导.
使用kmdb命令通过内核调试器引导系统.
下面的过程介绍了如何安全地关闭然后再引导基于x86的系统以便进行恢复.
关闭和引导基于x86的系统以便进行恢复在x86平台上引导和关闭OracleSolaris2012年3月74为进行恢复而停止和引导系统为实现恢复,您可能需要引导系统.
以下是一些较为常见的错误和恢复方案:在单用户模式下引导系统可解决一些小问题,例如更正/etc/passwd文件中的rootshell项或更改NIS服务器.
出现阻止系统引导的问题或丢失root口令时,可以从安装介质或网络上的安装服务器来引导进行恢复.
此方法要求您在导入根池后挂载引导环境.
通过导入根池来解决引导配置问题.
如果menu.
lst文件存在问题,不必挂载引导环境,只需导入根池,根池会自动挂载包含引导相关组件的rpool文件系统.
如何为进行恢复而停止系统停止系统.
首先,成为root角色,然后键入init0(如果键盘和鼠标起作用).
如果显示Pressanykeytoreboot提示符,请按任意键以重新引导系统.
要重新引导系统,请键入init6.
如果系统对来自鼠标的任何输入都没有响应,请执行以下操作之一:按复位键以重新引导系统.
使用电源开关重新引导系统.
如何在单用户模式下进行引导以解决rootShell或口令错误问题停止系统.
#init0重新引导系统.
#reboot在GRUB菜单显示后,执行以下操作:a.
选择相应的引导项,然后键入e以编辑该项.
b.
使用方向键选择kernel$行.
如果不能使用方向键,请使用插入记号(^)键向上滚动,使用字母v键向下滚动.
c.
在$kernel行的末尾键入-s,然后按回车键保存所做的更改并返回至上一屏幕.
12123关闭和引导基于x86的系统以便进行恢复第9章基于x86的系统引导故障排除(任务)75d.
键入b在单用户模式下引导系统.
更正/etc/passwd文件中的shell项.
#vi/etc/password按Ctrl-D组合键重新引导系统.
如何从介质进行引导以解决root口令未知问题如果需要通过引导系统来解决root口令未知或类似问题,请使用以下过程.
请注意,此过程要求您在导入根池后挂载引导环境.
如果您需要恢复根池或根池快照,请参见《OracleSolaris管理:ZFS文件系统》中的"如何替换ZFS根池中的磁盘".
从OracleSolaris介质引导.
LiveMedia-从安装介质进行引导并对恢复过程使用GNOME终端.
文本安装-在GRUB菜单中,选择TextInstallerandcommandline(文本安装程序和命令行)引导项,然后从文本安装屏幕中选择3Shell选项.
自动化安装-从网络上的安装服务器进行引导需要PXE引导.
选择GRUB菜单上的TextInstallerandcommandline(文本安装程序和命令行)项.
然后,从文本安装屏幕中选择3Shell选项.
例如:1InstallOracleSolaris2InstallAdditionalDrivers3Shell4Terminaltype(currentlyxterm)5RebootPleaseenteranumber[1]:3Toreturntothemainmenu,exittheshell导入根池.
zpoolimport-frpool为引导环境创建挂载点.
#mkdir/a在/a上挂载引导环境#beadmmountsolaris-instance|bename/a例如:#beadmmountsolaris-2/a451234关闭和引导基于x86的系统以便进行恢复在x86平台上引导和关闭OracleSolaris2012年3月76如果有口令或阴影项阻碍控制台登录,请更正此问题.
a.
设置TERM类型.
#TERM=vt100#exportTERMb.
编辑shadow文件.
#cd/a/etc#vishadow#cd/更新引导归档文件.
#bootadmupdate-archive/R/a取消挂载引导环境.
#beadmumountbe-name停止系统.
#halt在单用户模式下重新引导系统(如第75页中的"如何在单用户模式下进行引导以解决rootShell或口令错误问题"中所述),在提示输入root口令时,按回车键.
重置root口令.
root@system:~#passwd-rfilesrootNewPassword:xxxxxxRe-enternewPassword:xxxxxxpasswd:passwordsuccessfullychangedforroot按Ctrl-D组合键重新引导系统.
如何从介质进行引导以解决阻止系统引导的menu.
lst文件问题如果需要通过引导系统来解决与缺省的menu.
lst文件有关的问题,请使用以下过程.
请注意,此过程不需要挂载引导环境.
如果您需要恢复根池或根池快照,请参见《OracleSolaris管理:ZFS文件系统》中的"如何替换ZFS根池中的磁盘".
从OracleSolaris介质引导.
LiveMedia-从安装介质进行引导并对恢复过程使用GNOME终端.
文本安装-在GRUB菜单中,选择TextInstallerandcommandline(文本安装程序和命令行)引导项,然后从文本安装屏幕中选择3Shell选项.
5678910111关闭和引导基于x86的系统以便进行恢复第9章基于x86的系统引导故障排除(任务)77自动化安装-从网络上的安装服务器进行引导需要PXE引导.
选择GRUB菜单上的TextInstallerandcommandline(文本安装程序和命令行)项.
然后,从文本安装屏幕中选择3Shell选项.
例如:1InstallOracleSolaris2InstallAdditionalDrivers3Shell4Terminaltype(currentlyxterm)5RebootPleaseenteranumber[1]:3Toreturntothemainmenu,exittheshell导入根池.
zpoolimport-frpool检查menu.
lst文件中的项并根据需要进行更正.
#cd/rpool/boot/grub#vimenu.
lst更新引导归档文件.
#bootadmupdate-archive-R/a退出shell并重新引导系统.
exit1InstallOracleSolaris2InstallAdditionalDrivers3Shell4Terminaltype(currentlysun-color)5RebootPleaseenteranumber[1]:5强制实施系统故障转储和重新引导有时,为了排除故障,必须强制实施故障转储并重新引导系统.
缺省情况下将启用savecore功能.
有关系统故障转储的更多信息,请参见《OracleSolaris管理:常见任务》中的"管理系统故障转储信息".
如何强制实施故障转储和系统重新引导如果您不能使用reboot-d或halt-d命令,则可以使用内核调试器kmdb来强制实施故障转储.
必须已在引导时或使用mdb-k命令装入了内核调试器,以下过程才能正常进行.
2345关闭和引导基于x86的系统以便进行恢复在x86平台上引导和关闭OracleSolaris2012年3月78注–必须处于文本模式下,才能访问内核调试器(kmdb).
因此,首先要退出任何窗口系统.
访问内核调试器.
用于访问调试器的方法因访问系统所使用的控制台类型而异.
如果使用本地连接的键盘,请按F1–A组合键.
如果使用串行控制台,请使用适合于该类型的串行控制台的方法来发送中断信号.
此时将显示kmdb提示符.
要强制实施故障转储,请使用systemdump宏.
[0]>$.
COMhalt:haltedbyuserpanic[cpu0]/thread=ffffffff83246ec0:forcedcrashdumpinitiatedatuserrequestfffffe80006bbd60genunix:kadmin+4c1()fffffe80006bbec0genunix:uadmin+93()fffffe80006bbf10unix:sys_syscall32+101()syncingfilesystems.
.
.
donedumpingto/dev/dsk/c1t0d0s1,offset107675648,content:kernelNOTICE:adpu320:busreset100%done:38438pagesdumped,compressionratio4.
29,dumpsucceededWelcometokmdbLoadedmodules:[audiosupcryptoufsunixkrtlds1394spppncauhcilofsgenunixipusbaspecfsnfsmdrandomsctp][0]>kmdb:Doyoureallywanttoreboot(y/n)y123示例9–1关闭和引导基于x86的系统以便进行恢复第9章基于x86的系统引导故障排除(任务)79如何在启用内核调试器(kmdb)的情况下引导系统此过程说明装入内核调试器(kmdb)的基本原理.
缺省情况下将启用savecore功能.
引导系统.
引导系统时将显示GRUB菜单.
显示GRUB菜单时,请键入e以访问GRUB编辑菜单.
使用方向键选择kernel$行.
如果不能使用方向键,请使用插入记号(^)键向上滚动,使用字母v键向下滚动.
键入e以编辑该行.
此时将显示引导项菜单.
在此菜单中,您可以通过向kernel$行的结尾处添加其他引导参数来修改引导行为.
在GRUB编辑菜单中,在kernel$行的末尾键入-kmdb或-k.
grubedit>kernel$/platform/i86pc/kernel/$ISADIR/unix-B$ZFS-BOOTFS-s-k按Enter键返回至某个屏幕,然后键入b以在启用了内核调试器情况下引导系统.
键入-kmdb或-k将装入调试器,然后直接引导操作系统.
访问内核调试器.
用于访问调试器的方法因访问系统所使用的控制台类型而异.
如果使用本地连接的键盘,请按F1–A组合键.
如果使用串行控制台,请使用适合于该串行控制台类型的方法来发送中断信号.
要在系统完全引导之前访问内核调试器,请使用-kd选项.
使用-kd选项将装入调试器,然后在引导操作系统之前允许您与调试器进行交互.
俄罗斯vps速度怎么样?俄罗斯vps云主机节点是欧洲十大节点之一,地处俄罗斯首都莫斯科,网络带宽辐射周边欧洲大陆,10G专线连通德国法兰克福、法国巴黎、意大利米兰等,向外连接全球。俄罗斯vps云主机速度快吗、延迟多少?由于俄罗斯数据中心出口带宽充足,俄罗斯vps云主机到全球各地的延迟、速度相对来说都不错。今天,云服务器网(yuntue.com)小编介绍一下俄罗斯vps速度及俄罗斯vps主机推荐!俄...
[六一云迎国庆]转盘活动实物礼品美国G口/香港CTG/美国T级超防云/物理机/CDN大促销六一云 成立于2018年,归属于西安六一网络科技有限公司,是一家国内正规持有IDC ISP CDN IRCS电信经营许可证书的老牌商家。大陆持证公司受大陆各部门监管不好用支持退款退现,再也不怕被割韭菜了!主要业务有:国内高防云,美国高防云,美国cera大带宽,香港CTG,香港沙田CN2,海外站群服务,物理机,...
ReadyDedis是一家2018年成立的国外VPS商家,由印度人开设,主要提供VPS和独立服务器租用等,可选数据中心包括美国洛杉矶、西雅图、亚特兰大、纽约、拉斯维加斯、杰克逊维尔、印度和德国等。目前,商家针对全部VPS主机提供新年5折优惠码,优惠后最低套餐1GB内存每月仅需2美元起,所有VPS均为1Gbps端口不限流量方式。下面列出几款主机配置信息。CPU:1core内存:1GB硬盘:25GB ...