compoundbutton是什么.db是什么文件

隐藏文件_百度百科
关闭特色百科用户权威合作手机百科
收藏 查看&隐藏文件本词条缺少概述,补充相关内容使词条更完整,还能快速升级,赶紧来吧!含&&&&义文件使用通用符号的扩展名表示注&&&&意和扩展名用点符号分隔 文件使用通用符号的扩展名是用名称表示的。使用两个主要符号&*& 和 &?& ( &*&表示所有符号,&?& 表示单一符号),您可以利用这些表示任何文件。请注意:和扩展名用点符号分隔。
一、隐藏文件具体操作步骤:
1、右击你想隐藏的文件;
2、点击最底层的栏;
3、在隐藏框上打勾;
4、点击应用或者确定即可。
二、查看隐藏文件具体步骤:
1、打开想看的文件所在的,并选择上方工具按钮;
2、继续选择;
3、点击查看,并下拉滚轴,找到隐藏文件和项;
4、选中显示所有文件和,并点击应用或者确定。
新手上路我有疑问投诉建议参考资料 查看程序文件_百度百科
关闭特色百科用户权威合作手机百科
收藏 查看&程序文件本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来吧!
这里的程序与计算机技术中的程序并不相同,程序在这里指是为完成某项活动所规定的方法。程序文件是在质量管理体系中质量手册的下一级文件层次,规定某项工作的一般过程。再下一级文件层次是作业指导书。程序文件存储的是程序,包括和可执行程序。[1]
程序与程序文件
· 程序是为完成某项活动所规定的方法;
· 描述程序的文件称为程序文件;
.程序文件存储的是程序,包括和可执行程序。
质量体系程序文件
· 程序文件对影响质量的活动做出规定;
· 是的支持性文件;
· 应包含质量体系中采用的全部要素的要求和规定;
· 每一质量体系程序文件应针对质量体系中一个逻辑上独立的活动。
程序文件的作用
· 使质量活动受控
-对影响质量的各项活动作出规定;
-规定各项活动的方法和评定的准则,使各项活动处于。
· 阐明与质量活动有关人员的责任:职责、权限、相互关系。
· 作为执行、验证和评审质量活动的依据
-程序的规定在实际活动中执行;
-执行的情况应留下证据;
-依据程序审核实际运作是否符合要求。[2](1). 程序文件格式通常包括:   封面   刊头   刊尾   修改控制页   正文   (2). 封面的内容(根据需要选用):   可在单份或整套文件前加封面,便于控制文件和进行文件控制   · 公司标志、名称;   · 文件编号、;   · 拟制人、审核人、批准人及日期,颁布、生效日期;   · 修改状态/版号;   · 修改记录(可专设修改页);   · 受控状态/保密等能级;   · 发文登记号等。   (3). 刊头:在每页文件的上部加刊头,便于文件控制和管理。   · 公司标志、名称、   · 文件编号、文件名称;   · 生效日期;   · 修改状态/版号;   · 受控状态;   · 发文登记号;   · 页码等。   (4). 刊尾(需要时采用):   在每页文件或每份文件的的末页底部加刊 尾说明文件的起草审批、情况。   · 拟制人、批准人及日期;   · 会签人及日期;   · 其他说明性文字。   (5). 修改控制页:   可单改与封面或其他附页合并说明文件修改的历史情况。   · 修改单编号;   · 修改标识;   · 修改人/日期;   · 审批人/日期;   · 修改内容等。[2](1). 正文部分:描述程序文件的基本内容。   · 说明制订程序的目的;   · 程序的适用范围;   · 实施程序的责任者的职责和权限;   · 程序内容的描述;   · 程序涉及或引用其他文件。   (2). 目的   · 说明程序所控制的活动及控制目地;   (3). 适用范围   · 程序所涉及的有关部门和活动;   · 程序所涉及的相关人员、产品。   (4). 职责   · 规定负责实施该项程序的部门或人员及其责任和权限;   · 规定与实施该项程序相关的部门或人员其责任和权限。   (5). 工作程序   · 按活动的写出开展该项活动的各个细节;   · 规定应做的事情(What);   · 明确每一活动的实施者(Who);   · 规定活动的时间();   · 说明在何处实施();   · 规定具体实施办法();   · 所采用的材料、设备、引用的文件等;   · 如何进行控制;   · 应保留的记录;   · 例外特殊情况的处理方式等。   (6). 引用文件及相关的记录   · 涉及的相关程序文件;   · 引用的、操作规程及其他技术文件;   · 涉及的其他管理性文件;   · 所使用的记录、表格等。 [2]1、 目的
文件控制程序是对公司质量管理体系所要求的文件的编写、评审、批准、发放、使用、更改、再次批准、标识、回收和作废等过程进行控制,以确保公司各部门和工作场所使用现行有效的文件和资料(即适用版本),防止使用作废的文件,达到保持公司质量管理体系运行的符合性
2、 适用范围
适用于本公司质量管理体系所使用的文件控制。文件的分类如下:
2.1 质量手册;
2.2 程序文件;
2.3 管理性文件:公司规章制度、管理规范、作业标准书等;
2.4 质量记录;
2.5 外来文件:法律法规、上级文件、函件等。
3.1 品质管理课对质量体系文件进行控制,并对版本有效性负责。
3.2 公司各部门负责对其使用的管理性文件进行控制。
3.3 品质管理课负责公司有关质量管理体系文件的回收、保存和销毁的归口管理。
4、工作程序
4.1 文件的编写
4.1.1 质量手册、程序文件和相关管理性文件由管理者代表组织相关人员编写;
4.2 文件的编号规定
4.2.1 质量手册编号:公司简称–SC;
4.2.2 程序文件编号:公司简称–CX– XX(XX代表程序文件顺序号);
4.2.3 外来文件的编号:按外来文件本身的编号;
4.2.4 管理性文件的编号:公司简称–XX(注:编制部门代码,代码表另附)–类别(注:文件不需要分类时,可略)-XX(注:序号,可略)
本公司文件编号是依据编制部门不同划分的,由各编制部门内部自行统一管理本部门的文件编号。为保证文件编号的单一性,准确性,新文件作成前,作者向文件编号管理者申请该文件的编号,不可由文件作者自行编排。
4.3 文件的签署和审批
质量管理体系所涉及的文件在发布和使用前应按《质量手册》中相关条款要求执行,以确保文件的有效性和适宜性。
4.4 有效文件控制
4.4.1 各部门应编制本部门的《受控文件清单》,以控制所使用文件的有效性。
4.4.2 《受控文件清单》应清楚地标明文件当前的有效版本和修订状态。版本号用“A”表示、修订状态用“0”表示。若有变化,数字顺延。
4.4.3 《受控文件清单》的整理原则。按部门内、部门外(部门外按部门)分类整理。
4.5 文件的收发、回收及归档
4.5.1 各部门发放文件时,应要求各部门清晰、完整地填写《文件发放/回收登记表》。
4.5.2 在回收文件时,也应在《文件发放/回收登记表》上进行登记。
4.5.3 各部门在收到外来文件时,应在《外来函件收发登记表》上登记,并要求接收人签字确认。
4.5.4 各部门应对职责范围内管理的文件进行整理、清查,对过时、作废等文件要及时清理、撤换,防止过期文件的使用,保持动态管理。
4.5.5 文件的摆放。应遵守以下基础原则:
4.5.5.1 外标识明确。
4.5.5.2 按类分放
4.5.5.3 为明确摆放位置,文件夹外部作“V”字形贴付管理。
4.5.6 文件的归档。品质管理课负责质量体系文件的归档管理。
4.5.7 技术部门下发的图纸、作业标准书不进行回收处理,交由各部门自行处理。
4.6 文件的更改
4.6.1 文件内容需要划改、换页、换版、作废等更改时,应由文件更改提出人员填写《文件更改单》,说明更改原因,然后将此单提交本部门责任者确认,报品质管理课审核,再上报最高管理层或管理者代表进行审批,方可实施更改。文件确定并经过更改后,需发放、回收,应作相关记录《文件发放/回收登记表》,确保各部门得到的是最新有效文件,并在《受控文件清单》中加以记录。《文件更改单》应记入《文件修订记录》。
4.6.2 文件经多次更改或文件需进行大幅度修改时,应进行换版,换版后原版文件作废,换发新版本应执行本程序文件发放和回收的规定。
4.7 作废文件的管理
4.7.1 本公司的作废程序文加盖“作废”章,填写《文件发放/回收登记表》,定期销毁。
4.7.2 如因特殊原因保留的作废文件资料应在“作废”标识下加盖“文件保留”标识,以防止误用。
4.7.3 作废文件销毁应填写《质量记录/文件资料销毁审批表》(见《质量记录控制程序》),报品质管理课审核,再上报最高管理层或管理者代表批准后,方可实施销毁。
4.8 文件的借阅
文件需借阅时,借阅人应填写《质量记录/文件资料借阅审批表》(见《质量记录控制程序》)。
4.9 文件的评审与更新
因外部因素变化或体系改进要求时,文件应予以评审,评审由品质管理课组织。评审引起的文件更改执行GB/T/ISO中4.6条款。
4、相关文件
《质量记录控制程序》
5、质量记录
5.1 受控文件清单 4.2.3-JL-01
5.2 文件发放/回收登记表 4.2.3-JL-02
5.3 外来函件收发登记表 4.2.3-JL-03
5.4 文件更改单 4.2.3-JL-04
5.5 文件修订记录 4.2.3-JL-05
6.1 附件1:ISO管理 部门受控编号一览[3]
新手上路我有疑问投诉建议参考资料 查看引导文件_百度百科
关闭特色百科用户权威合作手机百科
收藏 查看&引导文件
NTLDR一般存放于C盘根目录下,是一个具有隐藏和只读属性的系统文件。它的主要职责是解析Boot.ini文件。如果你对它的理解还不是很清楚,那么下面我们就以Windows XP为例介绍NTLDR在系统引导过程中的作用。 Windows XP在引导过程中将经历预引导、引导和加载三个阶段,这与Windows 9X直接读取的方式来启动系统是完全不一样的,NTLDR在这三个阶段的引导过程中将起到至关重要的作用。存放于C盘根目录下主要职责是解析Boot.ini文件
在预引导阶段里计算机所做的工作有:运行POST程序,POST将检测系统的总内存以及其他硬件设备的状况,将磁盘第一个物理加载到内存,加载硬盘并运行,主引导记录会查找的起始位置。接着活动分区的被加载并执行,最后从引导扇区加载并初始化NTLDR文件。在引导阶段中,Windows XP将会依次经历初始引导加载器阶段、选择阶段、硬件检测阶段以及配置选择阶段这四个小的阶段。
(1)在初始引导加载器阶段中,NTLDR将把计算机的微处理器从实模式转换为32位,在实模式中,系统会为MS-DOS预留640KB大小的内存空间,其余的内存都被看做是,在32位平面模式中系统将所有内存都视为可用内存,然后NTLDR执行适当的小型文件系统,这时NTLDR可以识别每一个用NTFS或FAT格式的文件系统分区,至此初始引导加载器阶段结束。
(2)当初始引导加载器阶段结束后将会进入选择阶段,如果计算机上安装了多个操作系统,由于NTLDR加载了正确的Boot.ini文件,那么在启动的时候将会出现要求选择操作系统的菜单,NTLDR正是从文件中查找到的分区位置。如果选择了NT系统,那么NTLDR将会运行文件,否则NTLDR将加载BOOTSECT.DOS,然后将控制权交给BOOTSECT.DOS。如果Boot.ini文件中只有一个或者其中的timeout值为0,那么将不会出现选择操作系统的菜单画面,如果Boot.ini文件非法或不存在,那么NTLDR将会尝试从默认系统卷启动系统。
小提示:NTLDR启动后,如果在系统根目录下发现有Hiberfil.sys文件且该文件有效,那么NTLDR将读取Hiberfil.sys文件里的信息并让系统恢复到休眠以前的状态,这时并不处理Boot.ini文件。
(3)当选择阶段结束后将会进入硬件检测阶段,这时文件将会收集计算机中硬件信息列表,然后将列表返回到NTLDR,这样NTLDR将把这些硬件信息加载到注册表“”中的Hardware中。
(4)硬件检测阶段结束后将会进入配置选择阶段,如果有多个列表,那么将会出现配置文件,如果只有一个则不会显示。在加载内核阶段中,NTLDR将加载NTOKRNL.EXE内核程序,然后NTLDR将加载硬件抽象层(HAL.dll),接着系统将加载注册表中的“HKEY_MACHINESystem”键值,这时NTLDR将读取“HKEY_MACHINESystemselect”键值来决定哪一个ControlSet将被加载。所加载的ControlSet将包含设备的以及需要加载的服务。再接着NTLDR加载注册表“HKEY_LOCAL_MACHINESystemservice”下的start键值为0的底层。当ControlSet的CurrentControlSet被加载时,NTLDR将把控制权传递给NTOSKRNL.EXE,至此引导过程将结束。
小提示:如果在启动的时候按F8键,那么我们将会在启动菜单中看到多种选择启动模式,这时NTLDR将根据用户的选择来使用启动参数加载NT,用户也可以在Boot.ini文件里设置启动参数。
“BOOT.INI”文件会在已经安装了Windows NT/2000/XP的的所在分区,一般默认为C:下面存在。但是它默认具有隐藏和系统属性,所以你要设置你的,以便把“BOOT.INI”文件显示出来。我们可以用任何一种来打开他它。一般情况下,它的内容如下:
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)Windows
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)Windows=&Microsoft Windows XP Professional& /fastdetect
在Windows 2000或者是XP系统中,我们可以很容易的设置“BOOT.INI”文件。那就是在“”上面点击右键,选择“属性”打开“系统属性”对话框,再点击“高级”选项卡,在“启动和修复”里面点击“设置”按钮,就可以打开“启动和故障修复”对话框了,在这里面我们就可以对它进行详细设置。如果你拥有Windows XP,那么你可以用“实用程序”来更方便的编辑“BOOT.INI”文件。具体做法是:打开“开始”菜单,点击“运行”命令,再在弹出的中输入“msconfig”点击“确定”后就会弹出“实用程序”,再点击“BOOT.INI”选项卡,就会出现如图所示的界面。在这里,我们可以很方便地设置文件。
言归正传,现在,来说明一下这个文件内容的含义。这一部分很简单,只有两个设定。那就是“timeout=”和“default=”。
“timeout=”就是设定开机时系统引导菜单显示的时间,超过设定值则自动加载下面“default=”指定的。默认值是30,单位为秒。我们可以在这里面设定等待时间的长短。如果将其设为“0”那么就是不显示系统引导菜单。
“default=”则是设定默认引导的。而等号后面的必须是已经在“[operating systems]”中存在的。如果想默认为加载另外的,我们可以参看“[operating systems]”中的操作系统列表,然后把想要加载的操作系统按照格式写到“default=”后面就可以了。([operating systems])
在这里面,列出了机器上所安装的全部。比如机器上只有一个,那么就只有一条信息,那就是“multi(0)disk(0)rdisk(0)partition(1)Windows=&Microsoft Windows XP Professional& /fastdetect”
在这里需要注意的是,在英文引号内的文字就是引导菜单时显示出来的让我们选择操作系统的提示文字,在这里面我们可以随意更改。而“multi(0)disk(0)rdisk(0)partition(1) Windows”这一句就需要些解释了。因为它涉及ARC(高级RISC计算机)命名,它是x86或RISC计算机中用于标识设备的动态方法。
ARC命名的第一部分用于标识硬件适配卡/磁盘控制器,它有两个选项:SCSI和Multi。
Multi表示一个非SCSI硬盘或一个由SCSI BIOS访问的SCSI硬盘,而SCSI则表示一个SCSI BIOS禁止的SCSI硬盘。(x)是硬件序号。Disk(x)表示SCSI总线号。如果硬件为Multi,其正确表示方法就为disk(0),rdisk(x)则表示硬盘的序号,如果硬件适配卡为SCSI则忽略此值;
partition(x)表示硬盘的分区序号。了解这些,我们就可以解释前面那条信息的含义了,即“multi(0)disk(0)rdisk(0)partition(1) Windows”为,在0号非SCSI设备上的第0号磁盘上的第一个分区里面的“Windows”目录下可以找到能够启动的。
等号后的内容前面已经说过,那个就是引导菜单显示出来的供我们选择的提示文字。而后面的“/fastdetect”又是作什么用的呢?这是一个开关符,用来控制启动该时的具体选项,下面再来详细的介绍各种开关符的含义:
/3GB:这是Win2000 SP3新引入的。这使得用户区和系统区分为3G比1G的比例。只有用户使用NT企业版,也支持3GB选项时,此选项才生效。
/BASEVIDEO:使用标准VGA方式启动。这种方式主要用于显示失效时。
/BAUDRATE:指出用于调度的,如果用户不设置,则使用默认的9600,而对于线缆Modem则使用19200。
/BOOTLOG:使Win2000将写入 %SystemRoot%NTBTLOG.TXT 。
/BURNMEMORY=:使NT在已知的内存上少使用指定的数量,如果/burnmemory=64,则有64M内存NT不使用。
/CRASHDEBUG:调度器在NT启动时启动,只有在时才有用,如果系统经常会无故出错,这个选项就很有用了。
/DEBUG:在启动NT时调入调度器,它可以在任何时间激活,在错误可以再次出现时使用它比较合适。
/DEBUGPORT= comx :指定用于调度的端口,其它X就指。
/FASTDETECT:对于Win2000启动时,它使系统不检查和。
/HAL=:允许用户不使用默认的HAL。
/INTAFFINITY:设置多处理器HAL(HALMPS.DLL),使编号最大的处理器接收。如果不设置此选项,Win2000会使所有处理器接收。
/KERNEL=:与上面的功能相同,不过是针对SMP中的而言的。
/MAXMEM:n:指定NT可以使用的最大内存数,如果一个内存片损坏,这个开关就十分有用了。
/NODEBUG:不使用调试信息。
/NOGUIBOOT:指定此选项会使Win2000不加载VGA,也就不会显示启动过程和失败时的兰屏信息。
/NOSERIALMICE=[COMx | COMx,y,z…]:在特定的COM中上禁止对串行鼠标的检测。如果用户有一个非鼠标设备接在COM口上,这个选项会十分有用。如果此开关未加参数,系统会禁止所有COM口。
/NUMPROC=n:只允许前N个系统处理器工作。
/ONECPU:在多处理器中只使用一个处理器。
/PCILOCK:不让NT为PCI设置分配IO/IRQ资源,而启用BIOS设置。
/SAFEBOOT:安全启动,这个大家一定十分熟悉,Win2000只启动HKLMSystemCurrentControlSet
ControlSafeBoot中的和服务,其后跟三个参数MINIMAL,NETWORK或DSREPAIR之一。MINIMAL和NETWORK在允许网络下启动系统。而DSREPAIR要求系统从中调入的设置。还有一个选项是&(ALTERNATESHELL)&,它让系统调入由HKLMSystemCurrentControlSet
SafeBootAlternateShell指定的SHELL程序,而不使用默认的Explorer。
/SOS:在调入名时显示它的名字,在因驱动问题而无法启动时使用比较好。
/WIN95:在装有三个系统DOS、Win9x和Windows NT的系统上,让NTLDR直接调用Win9x。启动文件BOOTSECT.W40。
/WIN95DOS:在装有三个系统DOS、Win9x和Windows NT的系统上,让NTLDR直接调用DOS启动文件BOOTSECT.DOS
/YEAR=:使用指定的年份,如果设置为/YEAR=2005,那现在的时间就是2005年,此选项仅对NT4+SP4和Win2000生效。此处转自Win Vista系统的帮助和支持
文件发生了什么变化?
在 Windows 的较早版本中,是,它包含有关计算机上安装的 Windows的信息。当您打开计算机时,在启动的过程中显示该信息。它在多重引导配置中或者对于需要自定义 Windows 启动方式的高级用户或最有用。
在此版本的 Windows 中,文件已经替换为启动配置数据 (BCD)。该文件比功能多,它可应用于使用其他方式而非基本输入/输出系统 (BIOS) 的来启动计算机。
如果您需要对 BCD 进行更改(如从显示的列表中删除条目),请使用命令行工具,它是专门用于和 IT 专业人员的高级工具。有关的技术信息,请转到Microsoft IT 专业人员网站。
如果您的计算机是多重引导配置,您仍然可以通过使用“”中的“系统”来更改默认情况下打开哪个 Windows以及显示操作系统列表的时间。
单击打开“系统”。
在左窗格中,单击“高级系统设置”。 如果系统提示您输入密码或进行确认,请键入密码或提供确认。
单击“高级”选项卡,然后在“启动和故障恢复”下单击“设置”。
在“系统启动”下,选择默认的以及显示操作系统列表所需的时间,然后单击“确定”。
Uinx和Linux系统下引导文件由于开源的方式引导可以用不同的程序常见的有Grub和Lilo下面转Linux 引导过程内幕(排版式修改)
从到第一个用户空间的指导
级别: 初级
M. Tim Jones ,, Emulex
2006 年 7 月 26 日Linux& 系统的过程包括很多阶段。不管您是引导一个标准的 x86系统,还是引导一台的 PowerPC& 机器,很多流程都惊人地相似。本文将探索 Linux 的引导过程,从最初的引导到启动第一个。在本文介绍的过程中,您将学习到各种与引导有关的主题,例如引导加载程序、解压、初始 RAM 磁盘以及 Linux 引导的其他一些元素。
早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端地址/数据/控制开关来加载引导程序。尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行必要的简化。
让我们先从高级的视角来查看 Linux 引导过程,这样就可以看到整个过程的全貌了。然后将回顾一下在各个步骤到底发生了什么。在整个过程中,参考一下可以帮助我们更好地了解内核源代码树,并在以后对其进行深入分析。
图 1 是我们在 20,000 英尺的高度看到的视图。
图 1. Linux 引导过程在 20,000 英尺处的视图
当系统首次引导时,或系统被重置时,处理器会执行一个位于已知位置处的代码。在(PC)中,这个位置在基本输入/输出系统(BIOS)中,它保存在上的闪存中。中的(CPU)会调用这个重置向量来启动一个位于闪存/ROM 中的已知地址处的程序。在这两种情况下,结果都是相同的。因为 PC 提供了很多灵活性,BIOS 必须确定要使用哪个设备来引导系统。稍后我们将详细介绍这个过程。
当找到一个引导设备之后,第一阶段的引导加载程序就被装入 RAM 并执行。这个引导加载程序在大小上小于 512(一个),其作用是加载第二阶段的引导加载程序。
当第二阶段的引导加载程序被装入 RAM 并执行时,通常会显示一个动画屏幕,并将 Linux 和一个可选的初始 RAM(临时)加载到内存中。在加载映像时,第二阶段的引导加载程序就会将控制权交给映像,然后内核就可以进行解压和初始化了。在这个阶段中,第二阶段的引导加载程序会检测系统硬件、枚举系统链接的硬件设备、挂载根设备,然后加载必要的模块。完成这些操作之后启动第一个程序(init),并执行高级工作。
这就是 Linux 引导的整个过程。现在让我们深入挖掘一下这个过程,并深入研究一下 Linux 引导过程的一些详细信息。系统启动阶段依赖于引导 Linux 系统上的硬件。在平台中,当系统加电或重置时,会使用一个启动环境。这方面的例子包括、RedBoot 和 Lucent 的 MicroMonitor。平台通常都是与引导搭配销售的。这些程序位于目标硬件上的闪存中的某一段特殊区域,它们提供了将 Linux映像下载到闪存并继续执行的方法。除了可以存储并引导 Linux 映像之外,这些引导还执行一定级别的和硬件初始化过程。在嵌入式平台中,这些引导通常会涉及第一阶段和第二阶段的引导加载程序。要查看 MBR 的内容,请使用下面的命令:
# dd if=/dev/hda of=mbr.bin bs=512 count=1 # od -xa mbr.bin
这个 dd 命令需要以 root 用户的身份运行,它从 /dev/hda(第一个 IDE 盘) 上读取前 512 个字节的内容,并将其写入 mbr.bin 文件中。od 命令会以十六进制和 ASCII 码格式打印这个的内容。
在 PC 中,引导 Linux 是从 BIOS 中的地址 0xFFFF0 处开始的。BIOS 的第一个步骤是加电自检(POST)。POST 的工作是对硬件进行检测。BIOS 的第二个步骤是进行本地设备的枚举和初始化。
给定 BIOS 功能的不同用法之后,BIOS 由两部分组成:POST 代码和运行时服务。当 POST 完成之后,它被从内存中清理了出来,但是 BIOS 运行时服务依然保留在内存中,目标可以使用这些服务。
要引导一个,BIOS 运行时会按照 CMOS 的设置定义的顺序来搜索处于活动状态并且可以引导的设备。引导设备可以是、、硬盘上的某个分区、网络上的某个设备,甚至是 USB 闪存。
通常,Linux 都是从硬盘上引导的,其中主(MBR)中包含主引导加载程序。MBR 是一个 512 字节大小的,位于磁盘上的第一个扇区中(0 道 0 柱面 1 扇区)。当 MBR 被加载到 RAM 中之后,BIOS 就会将控制权交给 MBR。
第一阶段引导加载程序
MBR 中的主引导加载程序是一个 512 字节大小的映像,其中包含程序代码和一个小(参见图 2)。前 446 个字节是主引导加载程序,其中包含和错误消息文本。接下来的 64 个字节是,其中包含 4 个分区的记录(每个记录的大小是 16 个字节)。MBR 以两个特殊数字的字节(0xAA55)结束。这个数字会用来进行 MBR 的有效性检查。
图 2. MBR 剖析
主引导加载程序的工作是查找并加载次引导加载程序(第二阶段)。它是通过在中查找一个来实现这种功能的。当找到一个时,它会扫描中的其他分区,以确保它们都不是活动的。当这个过程验证完成之后,就将的从这个设备中读入 RAM 中并执行它。
第二阶段引导加载程序
次引导加载程序(第二阶段引导加载程序)可以更形象地称为加载程序。这个阶段的任务是加载 Linux和可选的初始 RAM 磁盘。/boot/grub 目录中包含了 stage1、stage1.5 和 stage2 引导加载程序,以及很多其他加载程序(例如,CR-ROM 使用的是 iso9660_stage_1_5)。
在 x86 PC 环境中,第一阶段和第二阶段的引导加载程序一起称为 Linux Loader(LILO)或 GRand Unified Bootloader(GRUB)。由于 LILO 有一些缺点,而 GRUB 克服了这些缺点,因此下面让我们就来看一下 GRUB。(有关 GRUB、LILO 和相关主题的更多内容,请参阅本文后面的 参考资料 部分的内容。)
关于 GRUB,很好的一件事情是它包含了有关 Linux 文件系统的知识。GRUB 不像 LILO 一样使用裸,而是可以从 ext2 或 ext3 文件系统中加载 Linux 内核。它是通过将两阶段的引导加载程序转换成三阶段的引导加载程序来实现这项功能的。阶段 1 (MBR)引导了一个阶段 1.5 的引导加载程序,它可以理解包含 Linux 内核映像的。这方面的例子包括 reiserfs_stage1_5(要从 Reiser 日志文件系统上进行加载)或 e2fs_stage1_5(要从 ext2 或 ext3 文件系统上进行加载)。当阶段 1.5 的引导加载程序被加载并运行时,阶段 2 的引导加载程序就可以进行加载了。
当阶段 2 加载之后,GRUB 就可以在请求时显示可用列表(在 /etc/grub.conf 中进行定义,同时还有几个软/etc/grub/menu.lst 和 /etc/grub.conf)。我们可以选择甚至修改附加内核参数。另外,我们也可以使用一个命令行的 shell 对引导过程进行高级手工控制。
将第二阶段的引导加载程序加载到内存中之后,就可以对文件系统进行查询了,并将默认的映像和 initrd 映像加载到内存中。当这些准备好之后,阶段 2 的引导加载程序就可以调用映像了。GRUB 中的手工引导
在 GRUB 命令行中,我们可以使用 initrd 映像引导一个特定的,方法如下:
grub& kernel /bzImage-2.6.14.2
[Linux-bzImage, setup=0x1400, size=0x29672e]
grub& initrd /initrd-2.6.14.2.img
[Linux-initrd @ 0x5f13000, 0xcc199 bytes]
grub& boot
Uncompressing Linux... Ok, booting the kernel.
如果您不知道要引导的的名称,只需使用斜线(/)然后按下 Tab 键即可。GRUB 会显示和 initrd 映像列表。
当映像被加载到内存中,并且阶段 2 的引导加载程序释放控制权之后,内核阶段就开始了。映像并不是一个可执行的内核,而是一个压缩过的内核映像。通常它是一个 zImage(压缩映像,小于 512KB)或一个 bzImage(较大的压缩映像,大于 512KB),它是提前使用 zlib 进行压缩过的。在这个映像前面是一个例程,它实现少量硬件设置,并对内核映像中包含的内核进行解压,然后将其放入高端内存中,如果有初始 RAM 磁盘映像,就会将它移动到内存中,并标明以后使用。然后该例程会调用,并开始启动内核引导的过程。
当 bzImage(用于 i386 映像)被调用时,我们从 ./arch/i386/boot/head.S 的 start 汇编例程开始执行(主要流程图请参看图 3)。这个例程会执行一些基本的硬件设置,并调用 ./arch/i386/boot/compressed/head.S 中的 startup_32 例程。此例程会设置一个基本的环境(等),并清除 Block Started by Symbol(BSS)。然后调用一个叫做 decompress_kernel 的 C 函数(在 ./arch/i386/boot/compressed/misc.c 中)来解压。当被解压到内存中之后,就可以调用它了。这是另外一个 startup_32 函数,但是这个函数在 ./arch/i386/kernel/head.S 中。
在这个新的 startup_32 函数(也称为清除程序或进程 0)中,会对进行初始化,并启用内存功能。然后会为任何可选的浮点单元(FPU)检测 CPU 的类型,并将其存储起来供以后使用。然后调用 start_kernel 函数(在 init/main.c 中),它会将您带入与体系结构无关的 Linux部分。实际上,这就是 Linux的 main 函数。
图 3. Linuxi386 引导的主要函数流程
通过调用 start_kernel,会调用一系列初始化函数来设置中断,执行进一步的内存配置,并加载初始 RAM 磁盘。最后,要调用 kernel_thread(在 arch/i386/kernel/process.c 中)来启动 init 函数,这是第一个进程(user-space process)。最后,启动空任务,现在调度器就可以接管控制权了(在调用 cpu_idle 之后)。通过启用中断,的调度器就可以周期性地接管控制权,从而提供能力。
在引导过程中,初始 RAM 磁盘(initrd)是由阶段 2 引导加载程序加载到内存中的,它会被复制到 RAM 中并挂载到系统上。这个 initrd 会作为 RAM 中的临时使用,并允许在没有挂载任何的情况下完整地实现引导。由于与进行交互所需要的模块可能是 initrd 的一部分,因此可以非常小,但是仍然需要支持大量可能的硬件配置。在引导之后,就可以正式装备了(通过 pivot_root):此时会将 initrd 根文件系统掉,并挂载真正的根文件系统。
decompress_kernel 输出
函数 decompress_kernel 就是显示我们通常看到的解压消息的地方:
Uncompressing Linux... Ok, booting the kernel.
initrd 函数让我们可以创建一个小型的 Linux,其中包括作为可加载模块编译的。这些可加载的模块为提供了访问和磁盘上的文件系统的方法,并为其他硬件提供了。由于是磁盘上的一个文件系统,因此 initrd 函数会提供一种启动方法来获得对磁盘的访问,并挂载真正的根文件系统。在一个没有硬盘的环境中,initrd 可以是最终的,或者也可以通过(NFS)来挂载最终的根文件系统。当被引导并进行初始化之后,内核就可以启动自己的第一个应用程序了。这是第一个调用的使用标准 C 库编译的程序。在此之前,还没有执行任何标准的 C。
在Linux 系统上,第一个启动的程序通常是 /sbin/init。但是这不是一定的。很少有会需要使用 init 所提供的丰富初始化功能(这是通过 /etc/inittab 进行配置的)。在很多情况下,我们可以调用一个简单的 shell来启动必需的。与 Linux 本身非常类似,Linux 的引导过程也非常灵活,可以支持众多的处理器和硬件平台。最初,加载引导加载程序提供了一种简单的方法,不用任何花架子就可以引导 Linux。LILO 引导加载程序对引导能力进行了扩充,但是它却缺少文件系统的感知能力。最新一代的引导加载程序,例如 GRUB,允许 Linux 从一些文件系统(从 Minix 到 Reise)上进行引导。
Linux引导grub和lilo的基本知识作者vivelo
目前,PC的性能越来越强大,尤其是超大容量的硬盘使我们有足够的地方去安装多个。Linux下最常用的多重启动就是LILO和Grub。
LILO是现在许多Linux缺省的引导程序,它的全称是Linux Loader,拥有很强大的功能。Grub 也是一个多重启动管理器,它的全称是Grand Unified Bootloader。Grub的功能与LILO一样,也是在多个共存时选择引导哪个系统。它可以引导很多PC上常用的,其中就有Linux、FreeBSD、Solaris、Windows 9x、Windows NT;可以载入操作系统的和初始化操作系统;可以把引导权直接交给操作系统来完成引导;可以直接从FAT、minix、FFS、ext2或ext3分区读取。Grub 有一个特殊的交互式控制台方式,可以手工装入并选择。Grub和LILO由于Grub出现要比LILO晚,所以它可以实现LILO的绝大部分功能,可以代替LILO来完成对Linux的引导,特别适用于Linux与其它共存情况。
◆ 8.4GB问题
以前大多数Linux所带较旧版本的LILO都有这样的一个问题:启动/boot分区不能分在超过1023柱面的地方,一般是在8.4GB左右的地方,否则LILO不能安装,或者安装后不能正确引导系统。Grub就不会出现这种情况,只要安装时大硬盘是在LBA模式下,它就可以引导根分区在8GB以外的。如今,在LILO较新的版本中这个问题已经做了很好处理。
◆ 漂亮的Logo
Grub引导开机显示一个漂亮的,它可以是640×480、800×600、等各种模式画面, 而且可以支持自动选择最佳图像模式。Linux爱好者可以通过改变这幅图片来制作个性化开机画面。
LILO源于文字界面,因此它在最新的版本中对开机画面的支持也是很有限的。
◆ 执行模式
Grub不但可以通过配置文件进行引导,还可以在选择引导前动态改变引导参数,动态加载各种设备。例如,在Linux下编译了一个新的核心,但不能确定它能不能工作,就可以在引导时动态改变Grub的参数,此时即使Grub菜单配置不正确,但仍可以引导系统。Grub的命令行有非常强大的功能,而且支持如bash一样的历史功能,可以用上下键来寻找以前的命令。LILO就不支持这种模式。
在LILO下,既可以手工输入的名字来引导不同的,也可使用一个菜单来选择不同的系统进行引导。Grub也兼容以上的操作。
◆ 分区对Grub与LILO的影响
LILO是通过读取硬盘上的绝对来装入操作系统,因此每次分区改变都必须重新配置LILO,如果调整了分区的大小及分区的分配,那么LILO在重新配置之前就不能引导这个分区的操作系统了。而Grub是通过文件系统直接把核心读取到内存,因此只要核心的路径没有改变,Grub就可以引导系统。
Grub和LILO支持多种,支持多种文件系统,动态装载,甚至可以通过网络装载操作系统核心。Grub还支持多种可执行,支持自动解压,可以引导不支持多重引导的等。1.安装
敲入“makebootable”命令,就可以安装Grub。而“lilo -v”则是重新安装LILO。LILO包括一个的空间,所以LILO既可以安装在MBR中,也可以安装在某个分区的引导扇区。Grub和LILO同时都可以安装在之中。制作Grub的和制作LILO的启动盘相差不大。
要制作,需执行一些简单的步骤。首先确定Grub或LILO已经安装,并且在新的上创建 ext2文件系统。然后进行安装,将一张空盘插入软驱,输入:
#mke2fs /dev/fd0
创建了ext2文件系统后,需要安装该文件系统。
(1)安装Grub
进入Grub的目录:
#cd /boot/grub
放入一张,执行以下命令:
#dd if=stage1 of=/dev/fd0 bs=512 count=1
#dd if=stage2 of=/dev/fd0 bs512 seek=1
Grub启动盘就完成了。
(2)安装LILO
#dd if=/dev/hda of=/dev/fd0 bs=512 count=1(因为LILO已经安装在MBR中)
执行上述命令后LILO启动盘就完成了。
Grub启动时,会在/boot/grub/中寻找一个名字为menu.lst的配置文件,如果找不到此文件则不进入菜单模式直接进入命令行模式。menu.lst 是一个文本文件,可以用任何一个打开它。每一行代表一个配置命令,如果一行的第一个字符为“#”,则表明这一行为注释,可以简单地用增加或减少注释行来改变配置。LILO使用一个文本文件/etc/lilo.conf作为其配置文件。LILO读取lilo.conf,按照其中的参数将特定的LILO写入系统引导区。如果修改了/etc/lilo.conf,就必须重新运行LILO命令,以保证LILO正常运行。
Grub和LILO有很多的相似的参数,见表1所示。
表1 Grub和LILO参数比较
相似功能 Grub的具体参数 LILO的具体参数
在second秒之后引导默认的timeout second timeout=tsecs
默认启动选项 default num default=name
指定的名字和描述 title OS mode label
指出的路径 Kernel image
指出开机画面的文件所存放的路径和文件名 Splash pathname/filename message=message-file(1)Grub和LILO共同的配置(括号内为LILO的参数)
指定引导默认的的等待时间:
timeout second(timeout=tsecs)
上面代码表明设定second秒之后引导默认的。如果是timeout 5,就是5秒没有其它指令就引导系统;如果设成-1,则Grub会一直等待直到用户选择一个选项为止。
LILO中,timeout=50同样设置等待键盘输入的时长,单位是0.1秒。超过这段时间没有输入则为超时,系统将自动引导缺省的。如果不设置本参数,缺省的超时时间长度为无穷大。
指定引导的默认:
default num(default=name)
Grub中默认启动第num+1行的,default=1则启动第2个系统。LILO中是通过default=name指定缺省引导的,如default=LINUX表示将label为Linux的系统作为缺省引导的操作系统。如不指定该参数,排在lilo.conf中的第一个将作为缺省操作系统。
指定引导的的:
Kernel(image)
给Grub指定在哪儿,还要指出哪个文件是内核文件。例如kernel /boot/vmlinuz-2.2.16 root=/dev/hda7 ro说明/boot/vmlinuz-2.2.16 就是要载入的,后面的都是传递给内核的参数。root=/dev/hda7就是Linux根分区的所在分区,ro以只读的方式打开。 LILO中是以image=filename来指定含有一个Linux内核的启动选项的文件或设备。
指定引导操作系统时的:
Splash pathname/filename(message=message-file)
上面代码指出Grub开机画面文件所存放的路径和文件名。LILO中,message=message-file命令用于指定一个包含注释信息的文件,该文件将在系统“LILO”之前显示。如果在LILO启动时想获取较多的信息,可以编辑这个文件,再使用该命令就可以了。文件中如果包含有ASCⅡ码为0xFF的字符(Ctrl+L)则表示清屏。注意,文件的大小不能超过65535个字节。每次文件改变之后,都必须重新运行LILO命令重建,以保证其正常显示。
指定引导的名称:
title OS mode(label)
上面代码指出的字符就是Grub菜单项上所看见的选项,你可以写上的名字和描述,如用 title Linux、 Single Mode代表这一选项是引导此Linux的单用户模式。在LILO中,label=name通过此参数来标识当前,即操作系统名。用户可通过在LILO提示后输入name来引导特定的。
(2)LILO的配置信息
在LILO.conf中,最多有16个选项,它比Grub有更大的灵活性。LILO.conf配置文件主要分为两部分:一部分是全局配置;另一部分是引导配置,“#”表示注释。
◆ LILO的全局配置
全局参数是全程有效的,它可以出现在文件LILO.conf中的任何地方。
指定引导文件的备份:
backup=backup-file
force-backup=backup-file
install= file
在装入LILO之前,将原先的备份到backup-file。它可以备份到一个设备上,用户可以通过dd if=/boot/boot.bak of=/dev/hda bs=446 count=1恢复原先的MBR。force-backup=backup-file类似“backup”,但是会覆盖原有的同名文件。install=file将指定的文件作为新的引导来安装,若未设置install选项,则将boot/boot.b作为默认使用。
指定一个用于安装LILO的设备:
boot=boot-device
上面代码指定一个用于安装LILO的设备。通常LILO可安装在如下几个地方:
MBR:第一个硬盘的, 对应于/dev/hda、/dev/sda或者是/dev/hda0等。
Root: Linux根分区“/”上。
Floppy: LILO安装在上,对应于/dev/fd0。LILO缺省安装在根分区超级块上。
指定用于优化压缩LILO:
该参数用于优化压缩LILO,让LILO把相邻的多次读取请求合并成一次读取请求,从而使MAP文件更小。因此,从软驱读取时推荐使用 compact 选项。
指定强制LILO等待用户的键盘输入:
delay=tsecs
prompt forces
prompt给出“boot:”提示,强制LILO等待用户的键盘输入,按下则立即引导默认的;按下Tab显示可供选择的操作系统。大多数情况下,如果有多个应该使用参数,这样留给用户一个选择的余地。在没有指定“prompt”参数时,LILO将立即引导缺省的。“delay”参数在这之间插入一段延时,单位是1/10秒。如果未设置delay选项或设为0,则引导装入程序就不会等待。prompt forces不等待任何的按键事件发生,就直接进入启动提示符模式。如果设定了prompt选项而没设定timeout选项,则不能自行启动。
指定非标准硬盘的具体参数:
disk=device-name
上面代码指定了非标准硬盘的具体参数。它有以下的几个参数:bios,设备号;sectors,数;heads,;cylinders,数;partition,用于物理定位特殊硬盘上的分区;start,每一分区的起始扇区。
指定磁盘的物理性能指标:
table=device
ignore-table
linear产生线性地址,而非“扇区/磁头/柱面”地址的linear扇区地址。因此,linear地址在运行时不依赖于硬盘参数。注意,在将LILO安装到上时不能使用“linear”参数。table指定含有的设备;若未指定该参数,引导装入程序就不会把分区信息传送到已启动的操做系统。若一个已定位且引用了table选项的被修改则必须重新运行LILO。fix-table选项使得LILO可对上的扇区/磁头/柱面,以及进行调整,从而建立每个分区表入口、包含有该分区的最前和最后一个扇区的扇区/磁头/柱面及线性地址。ignore-table通知LILO忽略无效的。
map=map-file
指定,没有本项时缺省使用/boot/map,每次改动LILO都应产生一个新的与之相关map文件。Lock是告诉LILO,提示后立即按上一次的引导映像启动计算机。允许自动记录引导命令行,作为以后启动的默认缺省值。
当用于启动的引导映像不存在时,使用optional参数使LILO忽略它。这对用于测试一个不长期存在的Linux内核是有用的。
指定LILO设置口令保护:
password=password
restricted
上面代码为LILO设置口令保护,每次重新启动计算机提示用户输入口令。因为这个密码是明文的,设置了口令后建议将LILO.conf的改为000,以免让非root用户看到口令。restricted 与password联用,使“password”仅作用于在LILO提示后有参数输入的时候。
指定控制器的参数:
serial=parameters (port, bps,parity,bits)
这将初始化指定的串口,并将使引导管理器能接收来自串口的输入。
参数如下:
〈port〉 表示的串口号。
〈bps〉 串口速率。
〈parity〉设置串口校验。一般情况下,LILO忽略。n表示无校验,e表示,o表示。
〈bits〉字符位数,只能取7或8,缺省值是8。当有奇偶校验时只能取7。
用下面命令可以打开进程报告:
verbose=level
append=string
数目越大给出的冗长输出越多。如果在LILO命令行中附加参数-v,则冗长标准也相应增加,最大的冗长标准是5。
append传递一个特殊硬件的参数串string给Linux系统的。它常用来配置一些Linux不能正确测试到的硬件设备。例如:append = “hda=128,64,200”指明该硬盘为128柱面、64磁头、200。
指定RAM盘的大小:
ramdisk=size
size为零时不建立RAM盘。忽略此参数时,RAM盘大小由Linux内核引导程序决定。
指定以何种读写方式载入:
read-write
从字面上可以知道它们分别是通知LILO以只读方式载入,以读写方式载入根文件系统。
指定LILO引导Linux系统时的VGA模式:
指定LILO引导Linux系统时的VGA模式,有以下的参数值:
normal 常规80×25文本模式。
extended 80×50文本模式。
引导时询问用户使用哪一种VGA模式,这时敲将显示一个可分配的VGA模式表。如果不指定VGA模式,系统将缺省地使用包含在系统里的VGA模式值。
◆ 引导配置
引导映像参数作用于每一个。
设置包含Linux内核引导映像的文件或设备:
image=pathname
设置包含非:
other=pathname
如DOS、Windows 95等系统引导的文件或设备,以提示启动其它独立的系统。
range=start-end
alias=name
loader=chain-loader
如果“image”参数被设置为一个设备,则Linux内核引导程序的存放范围必须被range=start-end设置。alias给当前起一别名。loader=chain-loader指定LILO所需要的特定的引导程序,缺省值是/boot/chain.b。
LILO运行时会给出一些提示信息,这些信息对于深刻地了解Bootloader是很有益的。表2罗列了一些供参考。
表2 LILO出错信息
LILO出错信息 代表的意义
LILO提示信息 NULL LILO没有安装或者安装lILO的分区没有被激活
L LILO的第一部分已经被装入并运行了,但它不能装入第二部分的引导程序。这种情况通常发生在介质访问失败或硬盘参数错误。
LI LILO第一部分正确,但是第二部分执行时出错。一般是硬盘参数有误或/boot/boot.b与map程序不相匹配。
LIL LILO第二部分开始执行,但是不能从“map”文件中读取描述符表(Descriptor Table)。磁盘介质错误或磁盘参数有误。
LIL? LILO在错误的地方加载。
LIL- 描述符表错误。硬盘参数的不匹配或/boot/boot.b与map程序不相匹配。
磁盘0x00 由LILO读取子程序产生。被破坏,或者当使用“linear”参数时访问超出1024的柱面。
0x01 LILO访问了BIOS不支持的硬盘。
0x02 磁盘介质出现问题。
0x03 磁盘介质错。
0x04 磁盘未找到,硬盘参数错误。
0x05 磁盘激活顺序改变。
0x06 磁盘错误的介质。
0x07 无效的初始化,BIOS没有适当地初始化硬盘。
0x08 DMA超出限度。
0x09 DMA试图越过64KB边界。由于“compact”参数造成。
0x0C 无效的磁盘介质。
0x010 “CRC错误”,检测到介质错误。建议多启动几次,运行map安装程序,把从坏块写到正常的介质上。
0x11 ECC纠正成功。读错误发生然后被纠正,但是LILO并不知道这个情况,终止了启动过程。
0x20 磁盘控制器错误。
0x40 磁盘定位失败,磁盘介质问题。
0x80 磁盘超时。磁盘或没有准备好,介质坏了或没有磁盘。
0xBB BIOS错误。磁盘与BIOS配置不符。
(3)Grub配置信息
与LILO相比,Grub有更强的交互性。下面就以它的命令来理解这个bootloader 。
进入菜单,按“e”是编辑启动命令,按“c”是使用命令行。按“e”键可以编辑所选项的启动命令,用这个功能可以临时改变系统的启动参数。
要启动一个,首先指定引导哪个分区上的系统,例如要引导第一个硬盘上的第一个分区的操作系统,先键入:
grub&root (hd0,0)
如果要启动的是Windows系统,键入:
grub&chainloader (hd0,0)+1
注意,(hd0,0)要随着硬盘和分区的不同而改变。
如果要引导Linux或其它系统,应键入:
grub&kernel (hd0,6)/boot/vmlinuz root=/dev/hda7
注意,磁盘参数也要随着硬盘和分区的不同而改变,如从第二个硬盘的第一个分区引导则用hdb1,最后敲入boot就可以启动系统了。
在不能确定命令或者命令的参数时,都可以按“Tab”获得相关的帮助;用上下键可以获得命令的历史记录,这些就像在Linux中使用bash一样简单。也可以键入启动命令,然后boot就可以引导系统了。
Grub下生成:
grub& root (fd0)
grub& setup (fd0)
grub& quit
如果要把Grub装到硬盘上,也很容易。如果安装到MBR,则可以指定整个磁盘而不必指定分区,如下(对于hda):
grub& setup (hd0)
如果要将Grub安装到/dev/hda7的中,应输入:
grub& setup (hd0,6)
综上所述,LILO要求用户十分明白每个参数才能很好地掌握;而Grub则更加看中用户的交互性,两者在bootloader中不分伯仲。下面就以我的lilo.conf为例,把它翻译成Grub的menu.lst文件。
lilo.conf:
#The lilo.conf of the writer
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/cosixmsg //指出开机画面的文件所存放的路径和文件名
password = wudi //密码是wudi
timeout=50 //在5秒之后引导默认的操作系统
default=dos //默认启动选项dos
image=/boot/vmlinuz-2.2.16-3 //指出Linux内核的路径
label=linux //指定的名字Linux
root=/dev/hda7
other=/dev/hda1 //指定的名字DOS
翻译后的menu.lst文件:
timeout 5 //在5秒之后引导默认的操作系统
default 1 //默认启动选项dos
# → linux ← //指定的名字LINUX
title linux root (hd0,6) kernel /boot/vmlinuz-2.2.16 root=/dev/hda7 ro
initrd /boot/initrd-2.2.16.gz
# → linux END ←
# → dos ← //指定的名字DOS
title dos root (hd0,0) chainloader +1
# → dos END ←
通过以上对Grub和LILO的讲解,读者可能已经对这两种bootloader有了较深地理解,但是还需要经过大量反复地练习,才能很好地掌握。
新手上路我有疑问投诉建议参考资料 查看

我要回帖

更多关于 compoundbutton是什么 的文章

 

随机推荐