📄 609.html
字号:
</table>
</form>
</TD>
<TD rowSpan=2><IMG src="images/header_r1_c7.gif" tppabs="http://www.linuxhero.com/docs/images/header_r1_c7.gif" width=26 border=0 name=header_r1_c7></TD>
<TD><IMG height=83 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1 border=0></TD></TR>
<TR>
<TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif"><IMG height=22
src="images/header_r2_c1.gif" tppabs="http://www.linuxhero.com/docs/images/header_r2_c1.gif" width=296 border=0
name=header_r2_c1></TD>
<TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colSpan=5>
<DIV align=right><FONT class=normalfont>当前位置:
<A href="index.html" tppabs="http://www.linuxhero.com/docs/index.html">本站首页</A>
<font color="#FF6699">>></font>
<A href="type5.html" tppabs="http://www.linuxhero.com/docs/type5.html">安装启动</A> | <A href="copyright.html" tppabs="http://www.linuxhero.com/docs/copyright.html">版权说明</A></font></DIV>
</TD>
<TD><IMG height=22 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1
border=0></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=10 cellPadding=0 width="100%" bgColor=#ffffff
border=0>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=3 width="100%" border=0>
<TR>
<TD vAlign=top align=middle width="60%">
<TABLE cellSpacing=0 cellPadding=0 width="100%"
background="images/back.gif" tppabs="http://www.linuxhero.com/docs/images/back.gif" border=0>
<TBODY>
<TR>
<TD vAlign=top width="80%">
<DIV align=center>
<FORM action="search.html" tppabs="http://www.linuxhero.com/docs/search.html" method=get>
</FORM>
<TABLE cellSpacing=0 cellPadding=0 width="95%"
border=0><TBODY>
<TR>
<TD background="images/bgi.gif" tppabs="http://www.linuxhero.com/docs/images/bgi.gif"
height=30></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=3 width="95%"
align=center border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=3 width="100%"
border=0>
<TBODY>
<TR>
<TD vAlign=top>
<p><FONT class=normalfont><B><font color=blue>装win9x后lilo失效的解决方案</font></B></FONT><BR><FONT class=smallfont color=#ff9900>2004-04-23 15:18 pm</FONT><BR><FONT class=normalfont>作者:作者<br>来自:Linux知识宝库<br>联系方式:无名<br><br>1一般的开机引导过程。 <br>
在PC机上,最初的启动由BIOS完成。当开机自检结束时(Power-On Self Test,POST), <br>
BIOS尝试读入软盘的第一个扇区,把它看作引导扇区。若没有软盘,则尝试读入硬盘 <br>
的第一个扇区。新的BIOS可以改变这种次序,先从硬盘启动。甚至从光盘启动。由于 <br>
大多数BIOS不提供SCSI支持,若要从SCSI磁盘启动,SCSI适配器要提供他自己的 <br>
BIOS.如果什么都找不到,老的BIOS会启动内置的ROM BASIC,或直接打印"NO <br>
ROM-BASIC". <br>
操作系统的启动分几步完成。由于引导扇区比较小,通常它主要任务是读入第二 <br>
个loader,第二个loader再读入第三个loader,直到整个操作系统被完全读入。 <br>
<br>
DOS 引导区: <br>
OFFSET <br>
0x000 JMP xx Near jump into the program code <br>
0x003 Disk parameters <br>
0x03E Program code loading the DOS kernel <br>
0x1FE 0xAA55 Magic number for BIOS <br>
可见,引导区的结构相对比较简单。它的长度总是512字节。以上,磁盘参数 <br>
只对DOS有意义。重要的是引导区从0开始,以BIOS的magic number 结束。 <br>
从软盘启动比较简单,因为只有一个引导扇区:第一个扇区。硬盘则困难一些, <br>
它被分成很多分区。但是,BIOS根本不管分区信息,它象对待软盘一样对待硬盘, <br>
仍读入第一个分区,叫作:master boot record.(MBR). <br>
所以MBR也应该和上面介绍的结构一样:从0开始,以BIOS的magic number 结束 <br>
在MBR的最后部分,有分区表。如下图: <br>
<br>
OFFSET Length <br>
0x000 0x1BE code loading and starting the boot sector of the active <br>
partitian <br>
0x1BE 0x010 partition1 <br>
0x1CE 0x010 partition2 <br>
0x1DE 0x010 partition3 <br>
0x1EE 0x010 partition4 <br>
0x1FE 0x0012 0xAA55 Disk parameters <br>
<br>
每个分区信息占16字节,结构如下: <br>
1 BOOT Boot flag: 0=not active ,0x80 active <br>
1 HD Begin:head number <br>
2 SEC CYL Begin:sector and cylinder number of boot sector <br>
1 SYS System Code:0x83 linux , 0x82 linux swap etc. <br>
1 HD End:head number <br>
2 SEC CYL End: sector and cylinder number of boot sector <br>
4 low byte high byte Relative sector number of start sector <br>
4 low byte high byte Number of sectors in the partition <br>
所以硬盘可以有4个分区。这四个分区叫做主分区:primary prititions.假如它 <br>
们不够用,可以设置所谓的扩展分区。 扩展分区包含至少一个逻辑分区。扩展 <br>
分区的第一个扇区结构类似MBR,它的分区表的第一表项对应第一个逻辑分区。如果 <br>
存在第二个逻辑分区,那么分区表的第二个表项就包含了一个指针。这个指针指向 <br>
第一个逻辑分区后面的一个地址。这个地址包含一个分区表。该分区表的第一表项 <br>
对应第二个逻辑分区。这样就组成一个链表,从而扩展分区可以有任意多的逻辑分 <br>
区。 <br>
每一个主分区和扩展区都包含一个引导扇区。系统只能从这几个地方之一启动。 <br>
BOOT标志决定哪个区被引导。 <br>
原来,只有主分区,因此,MS-DOS的fdisk和大多数同类工具只能激活主分区.. <br>
MBR的代码要作以下的操作: <br>
1:确定活动分区。 <br>
2:使用BIOS,将活跃分区的启动扇区读入。 <br>
3:跳到启动扇区的0位置。 <br>
MBR的空间足够完成这些工作。如上所述,每个分区理论上包含一个引导扇区, <br>
而且,存在的第二个硬盘也包含和第一个类似的结构。MBR完全可以容纳一个复杂 <br>
的引导程序。即所谓的boot manager,动态的决定活动分区。Linux 为我们提供了lilo <br>
<br>
2 LILO:the linux loader <br>
LILO引导扇区包括一个分区表的空间,所以,LILO即可以安装在MBR中,也可以安 <br>
装在某个分区的引导扇区。LILO拥有DOS引导扇区的所有功能,而且,它还可以引导 <br>
逻辑扇区和第二硬盘分区。LILO还可以和另外的引导者合作(例如:NT loader),这样, <br>
用户就可以有很多选择。 <br>
(注:以下几个标题,为防止引起歧义,用原文) <br>
2.1 LILO started by MS-DOS MBR <br>
如果系统至少有一个linux主分区,(非交换区,且在第一硬盘上),那么LILO就可 <br>
以安装在这些分区中的一个。当 LILO对应分区被激活后,引导过程如下: <br>
BIOS 读入 MBR <br>
MBR 读入 活跃主分区:LILO所在的分区。 <br>
LILO 引导Linux或另外的操作系统。 <br>
要引导其它OS且不用LILO很简单,激活那个分区。Linux分区没有任何变化,非常安全。 <br>
<br>
2.2 LILO started by a boot manager <br>
假如用户不想删除老的boot manager,或者某个OS LILO不能引导,可以考虑该途径。 <br>
1. 假如boot manager可以引导扩展区,那儿是LILO的好去处。 <br>
2. 假如 boot manager 可以引导第二硬盘分区,linux可以装在第二硬盘上。 <br>
3 有些 boot manager 甚至可以引导逻辑分区,那LILO就可以装在逻辑分区上。 <br>
当然,也要注意以下情况: <br>
1 某些操作系统直接改写MBR,这会将原来的boot manager破坏。 <br>
2 重新分区会破坏扩展分区的引导扇区,这是LILO可能要重装。 <br>
当安装新的系统时,是否要重新安装(linux)依靠新的boot manager,要么LILO引 <br>
导扇区被注销,要么boot manager 为它提供一个引导项。重新分区或分区格式化会将 <br>
LILO和linux全部删除。 <br>
<br>
2.3 LILO占据MBR <br>
假如整个linux系统都在第二硬盘上,且第一硬盘没有扩展分区,那么,LILO只有装 <br>
在MBR上。这样,会将老的MBR冲去,所以,在安装LILO前,要将老的MBR(包括分区 <br>
表)做一个备份。DOS下有很多工具可以完成这个任务。在linux下,这样备份: <br>
<br>
# dd if=/dev/hda of=/backup/MBR bs=512 count=1 <br>
<br>
写会使用命令: <br>
# dd if=/backup/MBR of=/dev/hda bs=446 count=1 <br>
这样,原来的MBR就被写会但不包括分区表。如果分区表也要恢复,那么bs=512. <br>
注意,这样,新的分区表会被破坏! <br>
<br>
2.4 LILO 文件 <br>
与LILO有关的文件通常放在/boot/下,配置文件lilo.conf在/etc/下。包含实际 <br>
引导系统信息的映射文件有/sbin/lilo安装。对于任何LILO安装,配置文件应该被定 <br>
置以适合个人需要。 <br>
The configuration file:配置文件 <br>
基本上,配置文件是一些变量赋值。每一行包含一个标志变量或一个变量赋值. <br>
配置文件被特殊的变量赋值分成几个区,每个区引导一个linux或其它OS. <br>
下面解释常见的行: <br>
<br>
boot = device <br>
说明那一个设备或哪一个分区包含引导扇区。假如没有给boot赋值,取当前缺省值。 <br>
<br>
compact <br>
激活一种模式,在此模式下,LILO一次向BIOS请求读入相邻的几个分区。这极大的 <br>
缩短了装载时间,特别是从软盘启动。 <br>
<br>
delay=tenths <br>
以10秒为单位,规定LILO在引导第一个引导配置前应等待用户的时间。若没有定义,则 <br>
直接引导。 <br>
<br>
Linear <br>
使LILO生成线性地址,而不使用通常的Sector/Head/Cylinder机制。Linux地址机制 <br>
可以不依赖磁盘的物理结构。 <br>
<br>
install = boot sector <br>
使用指定的boot sector写入引导扇区,缺省用/boot/boot.b <br>
<br>
disktab=disktab <br>
使用指定的disktab,缺省使用/boot/disktab.disktab保存了硬盘物理结构信息。 <br>
<br>
map=map file <br>
说明映射文件的路径。 <br>
<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -