当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 深入解剖 LILO

Unix/Linux
linux查看内存的大小
在linux下写的代码,用的是utf-8,结果拿到XP下运行的时候,所有的中文都成乱码
linux su和sudo命令的区别
linux cron 下的定时执行工具使用技巧
linux 查找进程及终止进程操作的相关命令
redhat linux 安装 gcc编译器
Linux Mplayer播放各种格式的电影
一起回顾一下linux常用命令
Linux 网站项目发布要做哪些配置
linux SSH配合SecureCRT的密匙完美使用方法
GD 编译出错解决方法
Facebook Open Platform编译FAQ
Linux 系统硬盘 优化
linux 挂载详解
linux crontab定时命令
Linux 系统中确保访问三级域名畅通的方法
Linux 特权帐号VS普通帐号
确保Linux系统安全的前提条件 漏洞防护
Linux 监视系统资源使用率
Red Hat Linux上使用BIND建立DNS服务器

Unix/Linux 中的 深入解剖 LILO


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 27 ::
收藏到网摘: n/a

  前面的文章我们讲述了 LILO 的配置,本文我们将深入底层来讲述LILO 的技术细节,也将告诉读者怎样
去掉LILO 以及重新安装LILO。
前文我们讲述了LILO 配置的灵活性,本文我们将讲述LILO 的内部技术细节以及启动时的主要操作及其功
能,以帮助我们调整LILO 的安装。LILO 最大的好处就是它独立于文件系统,可以启动各种操作系统:
从Microsoft、OS/2、SCO Unix、Unixware、PC-DOS到Linux等等。

LILO 能处理最多16个不同的映像,LILO 写入MBR 时就作为主引导程序,写入扩展分区的引导扇区时就是
第二引导程序。采用LILO,可以有多种组合方式启动系统。

我们先来看看引导过程,硬盘上的数据被准确的分配到对应的“磁道”和“扇区”,硬盘上的数据分布首
先是引导扇区,然后是文件分配表(FAT),接下来就是数据区。

硬盘分区时,被分为基本分区和扩展分区。基本分区可以作为引导分区,可以通过任何引导程序标记为可
引导。扩展分区可以分成好几个逻辑分区,很多的BIOS 不允许从逻辑分区启动。

Linux 最多支持4个基本分区,如果需要额外的分区,那么就要其中的一个基本分区变成扩展分区,然后在
扩展分区里面,划分逻辑分区。很重要的一点是有些逻辑分区的分区表不能被识别为设备的第一块。分区
表通常存放于分区的引导扇区,而且,通常只有整个盘的分区启动扇区用作引导扇区,称为主引导记录(MBR)。

LILO 可以用于以下情形:

1、第一硬盘的引导扇区。
2、软盘的引导扇区。
3、位于第一硬盘的Linux 文件系统分区上的引导扇区。

LILO 不能用于以下情形:

1、交换分区。
2、扩展分区中的逻辑分区的引导扇区。

所以,如果你在第二硬盘上安装了Linux ,而不能启动的话,可以采取在第一硬盘上建立 /boot 的办法来解决。

引导加载过程由很多程序组成,我们先来看看LILO 安装
时的各种不同程序:

MAP 安装程序:这个程序把LILO 的文件放到合适的位置
并记录这些信息(会在LILO 启动时用到),这个程序就是
/sbin/lilo ,每次配置文件有改动或者有新内核时,需要重新运行一遍。

/boot/*.*:其他LILO 启动时需要的文件存放在 /boot 目录下,map 文件是十分重要的,map 安装程序把新内
核的位置记录到这个文件。

引导加载程序:这个程序无需多言是最重要的部件了。它被
BIOS 调入内存,然后调用内核或者其他操作系统的引导扇区。

包含引导加载程序第一部分的引导扇区被调入内存,然后调用引导加载程序的第二部分,一般位于文件
 /boot/boot.b,接下来就启动内核。

如果从可引导软盘启动的话,BIOS 把软盘的第一个扇区调入内存,一般,这个扇区包含一段程序来启动对应的
操作系统。和软盘一样,如果LILO 写入MBR ,那么,MBR 就被调入内存,执行对应的操作,给用户提示选择需
要引导的操作系统。具体地说,MBR 的头 446 个字节由引导加载程序利用,剩余的64 字节是分区表信息。还剩
下的两个字节就是分区激活标志“55 AA” 了。

在软盘上备份 MBR 信息:

bash# dd if=/dev/hda of=/dev/fd0 bs=512 count=1 

恢复:(万一的情况下)

bash# dd if=/dev/fd0 of=/dev/hda bs=446 count=1 

删除 LILO:

c:> fdisk /mbr 

恢复 LILO:

重新安装 Windows 以后,就会把LILO 干掉。无论什么原因
我们都应该知道怎样恢复LILO。

最好手头有一张安装 CD ,这年头,干净并且确实好用的
软盘太少了。所以不推荐你使用软盘。当然,如果你认为
你的软盘质量可靠,那么可以从CD-ROM
上建立应急启动盘:

dd if=/cdrom/disks/rescue of=/dev/fd0

在 DOS 下面,采用:

rawrite image-name a:

也可以在 www.bootdisk.com上下载一个,按照说明制作一张启动磁盘。

如果从 CD 启动的话,各个不同的Linux 版本有不同的方法进入应急状态。Red Hat 启动后有一个应急模式,
SuSE 的话,需要先进入安装界面,然后按Ctrl+Alt+Fn 键找到shell 提示符,可以在这个提示符下来恢复。

下面介绍恢复步骤:

首先建立挂接点:
mkdir mount 

然后把丢失的 Linux 挂接到这里:
mount /dev/hda6 mount 

如果 /boot 位于另外的分区,
需要把他挂接到 mount/b