免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 815 | 回复: 0
打印 上一主题 下一主题

LINUX 引导流程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-02 12:26 |只看该作者 |倒序浏览
第三讲:LINUX 引导流程
[知识要点]
²        LINUX引导的三个阶段
²        可能的故障现象与如何排除
3.1 第一阶段
3.1.1 开机----------启动由BIOS完成----------当开机自检结束时(Power-On Self Test,POST)-------BIOS尝试读入软盘的第一个扇区,把它看作引导扇区。若没有软盘,则尝试读入硬盘的第一个扇区。新的BIOS可以改变这种次序,先从硬盘启动。甚至从光盘启动。由于大多数BIOS不提供SCSI支持,若要从SCSI磁盘启动,SCSI适配器要提供他自己的 BIOS.-------硬盘主引导扇区MBR-----加载lilo。
F从软盘启动比较简单,因为只有一个引导扇区:第一个扇区。硬盘则困难一些,它被分成很多分区。但是,BIOS根本不管分区信息,它象对待软盘一样对待硬盘,仍读入第一个分区,叫作:master boot record.(MBR).
3.1.2 硬盘主引导扇区
1. 位置:0道0 面第一扇区。
2. 产生时间:硬盘分区时创建。
3. 读取方法:
一步:WIN98启动盘启动A:\>DEBUG回车
二步:_A0
         MOV AX,0201
         MOV BX,100
         MOV CX,1
         MOV DX,80
         INT 13
         回车
_G=0 E  回车
_D2B0  显示数据
4. 改写方法
_E+地址
5. 保存方法
   _A0
         MOV AX,0301
         MOV BX,100
         MOV CX,1
         MOV DX,80
         INT 13
         回车
_G=0 E  回车
      _Q
6.引导扇区内容(512字节)
(1) 主引导扇区引导程序(446字节)
(2) 分区表数据(4*16字节)
(3) 分区表标志 55AA(2字节)
7.  硬盘分区表
A      功能:记录分区的大小,2.     状态,3.     类型等信息。
B      字节:16个字节。
C      存贮位置:相对于主引导扇区的第2BE 处。
D     各字节数据含义
数据0    分区引导标志=80 活动分区=00 非活动分区
        数据1    分区起启磁头号
        数据2    分区起启扇区号
        数据3    分区起启磁道号
        数据4    分区类型(01,04,06代表基本分区)
(05代表扩展分区)
(0B  代表FAT32位分区)
        数据5    分区结束磁头号
        数据6    分区结束磁道号
        数据7    分区结束扇区号
        数据8-11  32位本分区之前的扇区数
        数据12-15  32位本分区之后的扇区数
[附]DEBUG常用命令
1. 功能:调试汇编程序,可利用它来读取硬盘中的数据。
2. 启动:A:\>DEBUG
         _(光标变横杠)
3. 命令特点:单个字母,不分大小写,   后加参数。
4. 常见命令
(1)D 显示数据
(2)E 修改一个数据
(3)F 修改一批数据
(4)R 显示寄存器值
(5)A 汇编指令
(6)N 起名
(7)L 加载
(8)U 返汇编
(9)W 写盘
(10)Q 退出。
FMBR的代码要作以下的操作:
  1:确定活动分区。
  2:使用BIOS,将活跃分区的启动扇区读入。
  3:跳到启动扇区的0位置。
  MBR完全可以容纳一个复杂的引导程序。即所谓的boot manager,动态的决定活动分区。Linux 为我们提供了lilo
3.2 LILO:the linux loader
  LILO引导扇区包括一个分区表的空间,所以,LILO即可以安装在MBR中,也可以安装在某个分区的引导扇区。LILO拥有DOS引导扇区的所有功能,而且,它还可以引导逻辑扇区和第二硬盘分区。LILO还可以和另外的引导者合作(例如:NT loader),这样,用户就可以有很多选择。 (注:以下几个标题,为防止引起歧义,用原文)
3.2.1 LILO started by MS-DOS MBR
如果系统至少有一个linux主分区,(非交换区,且在第一硬盘上),那么LILO就可以安装在这些分区中的一个。当 LILO对应分区被激活后,引导过程如下:
BIOS 读入 MBR-----MBR 读入 活跃主分区:LILO所在的分区。------LILO 引导Linux或另外的操作系统。-----要引导其它OS且不用LILO很简单,激活那个分区。Linux分区没有任何变化,非常安全。
3.2.2 LILO started by a boot manager
假如用户不想删除老的boot manager,或者某个OS LILO不能引导,可以考虑该途径。
A. 假如boot manager可以引导扩展区,那儿是LILO的好去处。
B. 假如 boot manager 可以引导第二硬盘分区,linux可以装在第二硬盘上。
C. 有些 boot manager 甚至可以引导逻辑分区,那LILO就可以装在逻辑分区上。
F注意以下情况:
1 某些操作系统直接改写MBR,这会将原来的boot manager破坏。
2 重新分区会破坏扩展分区的引导扇区,这是LILO可能要重装。

3.2.3 LILO占据MBR
假如整个linux系统都在第二硬盘上,且第一硬盘没有扩展分区,那么,LILO只有装在MBR上。这样,会将老的MBR冲去,所以,在安装LILO前,要将老的MBR(包括分区表)做一个备份。DOS下3.1.2中介绍如何完成这个任务。在linux下,这样备份:
  # dd if=/dev/had of=/backup/MBR bs=512 count=1
写会使用命令:
  # dd if=/backup/MBR of=/dev/had bs=446 count=1
这样,原来的MBR就被写会但不包括分区表。如果分区表也要恢复,那么bs=512. 注意,这样,新的分区表会被破坏!
3.2.4 LILO 文件
与LILO有关的文件通常放在/boot/下,配置文件lilo.conf在/etc/下。包含实际引导系统信息的映射文件有/sbin/lilo安装。
#vi /etc/lilo.conf
boot=/dev/had                              //引导设备
map=/boot/map                              //引导位置
install=/boot/boot.b                       //引导文件
prompt                                     //输入提示 LILO:
timeout=50                                 //等待时间
image=/boot/vmlinuz-2.2.5-15               //引导图象
      label=linux
      root=/dev/hda
      read-only
other=/dev/hda1                            //另一设备
label=dos
table=/dev/had
Ë实例:LINUX下安装WIN9X
&1 进入LINUX用FDISK命令分出一个FAT16的分区
&2 用WIN9X启动盘启动格式化该分区
&3 修改LILO配置文件,实现多重引导。
3.2 第二阶段
加载lilo------装载内核-----选择引导模式------引导LINUX。
由LILO引导,读取配置文件/etc/inittab中设置的系统运行级别,级别分类如下:
级别 内容
0 低级系统初始化、关闭电源
1 单用户或管理等级。可以运行象详细的磁盘检查等在多任务情况下可能运行的任务。
2 多用户方式但无网络支持。
3 全方位等级,启动全部功能。
4 暂时未使用
5 图形终端方式登录Linux
6 中断系统后重启,sync+reboot
s、S 单用户状态,用于LILO时引导名称后的参数,可处理root口令丢失时的补救。
可用runlevel查看系统当前运行级别,telinit 更改init状态。
实例: 修改该配置文件并测试结果
3.3 第三阶段
检测硬件-------启动服务-------LOGIN登陆
启动服务使用命令# ntsysv
F制作LINUX启动盘
#mkbootdisk –device /dev/fd0 2.2.16-22

[课后预习]
²        硬盘分区与连接的原理和方法
²        文件系统与操作系统的关系


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/5252/showart_1161952.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP