Linux 版 (精华区)

发信人: xhc (花自飘零水自流), 信区: Linux
标  题: 深入LINUX的LILO
发信站: 紫 丁 香 (Fri May 12 07:49:59 2000), 转信

随着Linux强大的功能逐渐地被大家所认识,越来越多的朋友同时在计算机上安装了Wi
n98和Linux,这就涉及到多个操作系统共存的引导问题。引导Linux,一般有三种方法:
Linux自带的LILO、System Command之类的多操作系统引导软件以及用Linux的启动盘引
导Linux,一般来说用Linux自带的LILO是最常用的方法。LILO代表Linux Load (Linux装
载),它修改了硬盘的主引导扇区,计算机启动时出现“boot:”,按下键盘的Tab键,就
会显示出LILO所能引导的操作系统的列表,只要键入操作系统的标识符,就可以启动所选
择的操作系统。LILO提供了强大的功能,深入了解LILO以及设置,可以根据您自己的情
况灵活地LILO,不仅可以实现引导多个操作系统,而且可以在同一个Linux中引导多个内
核以及不同版本的Linux操作系统。
  LILO的原理:当计算机启动时,首先就是控制常驻于ROM 的BIOS,当计算机的大多
数硬件初始化完之后,它将加载一个小程序,通常不是从软盘的第一个扇区,也不是第
一个硬盘的第一个扇区,而是从Master Boot Record(主引导记录,简称MBR)装载,M
BR是硬盘上一块特殊的地方,它可以完成以下两个中的任意一个任务:
  首先MBR尽可能地装载位于活动分区的第一个扇区,这个扇区里有一个包含该分区里
所有操作系统信息的程序,然后继续装载系统其它的基本信息。
  同时,硬盘的MBR还可以直接装载硬盘其中一个分区里的信息,通过这些信息引导硬
盘任何一个分区上的操作系统。而通过LILO可以方便地修改MBR,完成这些功能。
  安装LILO:您可以把LILO安装在MBR或者某个分区的第一个扇区,一般推荐您把LIL
O安装在MBR上,除非MBR已经被其它管理操作系统的软件装载,比如:System Commande
r 或者OS/2 的Boot Manager。如果您的计算机有Windows NT,那么推荐把LILO安装在分
区的第一个扇区,除非您想每次用启动盘引导Linux。
  配置LILO:LILO的配置文件为:/etc/lilo.conf,用vi或者mc打开,下面以笔者Li
nux系统中的配置文件为例(为了便于说明,前面的数字是笔者加的),详细介绍LILO的
配置文件。
  (1)boot = /dev/hda
  (2)message = /boot/bootmesg.txt
  (3)timeout = 50
  (4)compact
  (5)vga=normal
  (6)prompt
  (7)default = win98
  (8)read-only
  (9)map=/boot/map
  (10)install=/boot/boot.b
  (11)image = /boot/vmlinuz-2.2.12-20
  (12)label = Linux
  (13)initrd = /boot/initrd-2.2.12-20.img
  (14)root = /dev/hda8
  (15)other = /dev/hda1
  (16)label = win98
  第(1)行:LILO时安装在/dev/hda的主引导扇区,如果您把LILO安装在硬盘的某一
个分区,则为:boot = /dev/hdaX。
  第(2)行:这里您可以指定Linux系统启动时,屏幕上显示提示信息,比如:Linu
x的版本说明,欢迎信息以及提供给另外一些用户的操作提示等等。
  第(3)行:指出从LILO出现到启动默认操作系统的时间间隔,一般默认为50毫秒。

  第(4)行:激活一种运行模式,在此模式下,LILO一次向BIOS发出指令要求读入相
邻的几个分区的信息。这极大地缩短了系统装载的时间,特别是当您从软盘启动Linux系
统时,您就会体会到了。
  第(5)行:其指定在启动时应选择的 VGA 文本模式,其参数有以下几个:
  normal:选择普通 80×25 文本模式。
  extent(或ext):选择 80×50 文本模式。
  ask:启动过程中要求用户的输入:相应的文本模式。在启动时用vga=ask选项或按
[Enter]都可获得一个可选择模式的列表。
  若未指定该参数,则默认使用在核心映像中获得的 VGA 文本环境。
  第(6)行:显示DOS风格的提示符。
  第(7)行:指出计算机中默认启动的操作系统的标识符。
  第 (8)行:通常LILO的配置文件,都有这一句,除非您是以UMSDOS的文件格式安
装Linux(在DOS 下以loadlin引导Linux系统,而不是用LILO)。因为Linux会记录每一
个文件的最后一次被访问时间,虽然这是极其有用的,但这意味着仅仅是在读文件时,
如果出现问题,那么系统文件也有可能被破坏(破坏的数据被写到硬盘上),因此在Li
nux启动时可能会出现意想不到的情况,特别是在系统引导失败时,很容易破坏Linux系统
,所以Linux一般以只读方式启动,计算机在启动Linux时,保护Linux系统文件不被破坏
,当Linux启动完毕后,系统文件重新被设置为可读写模式。
  第(9)行:指出第一次安装LILO后,map文件所在的路径。
  第(10)行:指出在安装LILO时,写入MBR的文件,一般不能改变它。
  第(11)行:指出Linux系统默认启动内核所在的路径。
  第(12)行:指出Linux操作系统的标识符Linux,也就是说当计算机启动出现boot
:时,只要键入Linux就会启动Linux操作系统。
  第(13)行:指出Linux内核镜像文件所在的路径。
  第(14)行:指出Linux root文件系统安装在硬盘的哪个分区。
  第(15)行:除了Linux操作系统之外,另外的操作系统所在的硬盘分区,从这可以
看出该计算机中另外的操作系统在硬盘的第一个主分区中。
  第(16)行:除了Linux操作系统,指出另外一个操作系统的标识符。
  以上的只是一般的配置文件,然而LILO功能很强大,想深入了解LILO,您还需要注意
下面的情况:
  1.如果您的内存大于64M,则可以在LILO的配置文件中使用append来向内核传递参数
,就是加入如下一句:
   append=“mem=128M"
  2.Linux启动初始化硬件时需要必要的信息,有些CDROM不能被正确识别,为了告诉
Linux您有CDROM设备,可以加入以下这一行:
  hdc=cdrom
  这将告诉Linux master IDE设备在第二个IDE接口(/dev/hdc)上的是光驱;
  尽管和Linux兼容性最好的网卡是NE2000兼容卡,但是Linux并不能检测到所有的NE
2000兼容卡,特别是ISA接口的网卡,所以您要手工配置网卡,加入网卡手的驱动模块。

  append=“ether=eth0,0x300,10"
  eth0代表第一个网卡,0×300表示网卡的I\O(输入\输出范围),10表示网卡的中断
号,
  3. 如果您的计算机以LBA( 逻辑块地址)模式访问硬盘,也就是说您的计算机有S
CSI接口的设备,或者当您访问硬盘出错时,推荐用linear(线性)模式,在LILO的配置
文件的boot下一行加入:
  linear
  4. 若是在LILO的配置文件中加入以下命令行,则被指定各参数则只在启动时,需要
输入密码才能进入Linux系统。
   password=*******(您的密码)
  restricted
  如果没有以上两行,那么别人只要用Linux启动盘,不需要密码就可以进入您的Lin
ux系统。
  其实,关于LILO的参数还有很多,有兴趣的可以它的英文文档。
  修复LILO:如果您先安装Linux,后安装Win9x,或者重装Win9x,Win9x都会修改硬
盘的MBR(主引导记录),也就是说LILO被破坏,以后计算机每次启动,就直接进入win
9x,而不能引导Linux了。如果您的Linux版本允许对系统进行升级(比如最典型得Red 
Hat Linux),那么可以用两种方法解决这个问题:一:用Linux系统盘启动计算机,在
出现boot:时输入:mount root=/dev/hdax(x代表您的Linux 系统所在的分区),然后
运行lilo,重新启动计算机,一切就正常了;二:如果您没有Linux系统盘,那么用Lin
ux光盘启动您的计算机,选择update(升级),然后在问您是安装Server还是Workstat
ion时,选择Custom (定制),什么应用软件包都不选,这样就可以方便地重装您的LILO
了。
  删除LILO:如果您想彻底卸载Linux,仅仅删除硬盘上的Linux 分区是不行的,计算
机每次启动时还会出现LILO引导程序。因此,还要恢复硬盘的主引导记录,最简单的方
法是在DOS启动盘下,键入:Fdisk/MBR,就可以清除主引导记录的LILO。
  以上全部在Red Hat Linux 6.1上通过。
--
    古来进退雍容难!
进则易伤,退则易损,该当如何?难!
  

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: dip.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.144毫秒