当前位置:Linux教程 - Linux资讯 - 实战lilo管理工具

实战lilo管理工具

lilo是Linux 的引导管理程序,它和OS/2、NT的BootManager,以及许多人用的syste m commander的作用类似,当你在这个提示符下按下Tab键的时候,它会显示出当前可以 引导的系统: lilo: dos smplinux 实际上,lilo就是一小段引导程序,可以位于任何有可能用来引导系统的位置,但是 通常我们把它放在硬盘的主引导区,这个概念对任何与病毒打过交道的用户都应该是非 常熟悉的。系统自检完毕之后,就会从硬盘上读入主引导区的内容,于是,lilo接管了 系统的控制权,可以引导Linux了。理论上,许多书籍建议你用软盘引导服务器以便避免 可能的破坏,这倒是那种“教科书的解决方案”的一个典型。 你可以看到在上面显示出了多个系统名字,输入某一个名字引导相应的系统,lilo会 自动选择对应的分区以及启动文件来启动系统。 与lilo决斗是系统管理员生活的一部分,硬盘可能会损坏,病毒可能更改了引导记录 ,错误地编译内核使系统报销,甚至一些愚蠢的反病毒程序也可能会使得lilo被破坏, 这时你也许必须从DOS上引导,然后重新配置lilo。如何从DOS下启动Linux等一会再说, 现在让我们把主要精力拿来对付lilo。 lilo的配置是靠编辑/etc/lilo.conf实现的,这个文件的规则很简单,举例来说,这 是我的lilo文件: [wanghy@openlab /etc]$ cat lilo.conf boot=/dev/hda install=/boot/boot.b prompt timeout=50 default=smp image=/boot/bzImage label=smp read-only append="mem=256M" root=/dev/hda1 image=/boot/vmlinuz-2.2.12-20 label=linux read-only root=/dev/hda1 other = /dev/hda3 label = dos table = /dev/hda 首先是boot=/dev/hda,这表示你用的启动磁盘是第一个IDE硬盘(由于这个原因,通 常你不能从从盘上启动Linux)。 接下来,install=/boot/boot.b将/boot.b表示要将/boot/boot.b文件的内容写到引导 记录中。这个文件在安装Linux的时候就已经创建了。 prompt timeout=50 default=smp 这两行表示系统启动时将会显示一个lilo:提示信息并等待5秒钟,注意timeout的单位 是0.1秒。如果5秒钟之内没有输入系统的名字,那么缺省将引导标号为"smp"的系统。 接下来定义的是各个引导项目,首先定义了两个Linux引导项目,image=/root/bzIma ge这样的行定义了启动时使用的内核映像,接下来,label=smp定义了这个启动选择项的 名字是smp。在下面的几行则是用bzImage启动系统时的一些附加参数: read-only 使用只读方式连接文件系统,由于系统启动的时候要检测文件系统完整性,因此要使 用这个选项,当系统启动后,启动脚本会自动将它切换为read-write模式。 append="mem=256M" 缺省下,Linux内核只使用64MB以下的内存空间,由于这个系统有256MB内存,必须用 命令行直接通知内核,append后的内容就是启动时加给内核的命令行参数。必须注意, 有时你需要把它写成mem=255M,原因是在许多系统上bios会占用部分存储空间,如果你 没有把握,就从内存量中减去一。 root=/dev/hda1 当这个内核启动以后,用/dev/hda1文件系统作为本机文件系统的根。 接下来的段落的效果与刚才我们解释的一样,刚才定义了一个名叫"smp"的启动项,它 启动Linux并且连结/dev/hda1文件系统,而从image=/boot/vmlinuz-2.2.12-20开始的段 落则定义一个名叫“Linux"的选项,它使用/boot/vmlinuz-2.2.12-20作为内核映像,挂 接/dev/hda1文件系统,但是只使用缺省的64MB内存。 再往下的段落 other=/dev/hda3 label=dos table=/dev/hda 定义了一个名叫dos的启动项,这个启动项用来启动位于/dev/hda3上的MS-DOS分区。 由于DOS不使用内核映像而是利用引导记录,系统必须能够找到分区表信息以便定位引导 记录,table=/dev/hda表示系统的DOS类型的分区表在/dev/hda上。 当完成了lilo.conf的设置工作后,执行 /sbin/lilo 会出现这样的信息: [openlab]# /sbin/lilo Added smp * Added linux Added dos *表示这个加入的项是缺省启动项。三行信息表示我们定义的三个启动项都已经被加入 ,以后再启动就可以使用新的启动定义了。 lilo还支持很多其他的定义,但是对于系统管理员来说,上面解释的已经足够了,想 要了解进一步的内容,执行man lilo.conf。 前面提到了内核映像这个概念,Linux在编译内核时将内核做成压缩的二进制内存映像 ,启动中自动拷贝到内存中并解压,然后让核心代码接管系统。
[1] [2] 下一页 

核心代码得到系统的控制权之后,下一步需要检测系统设备并激活必须的设备,在这 个过程中,一串初始化信息在屏幕上滚过: Linux version 2.2.14 ([email protected]) (gcc version egcs-2.91.66 199903 14/Linux (egcs-1.1.2 release)) #9 SMP Sat Jan 29 10:07:06 EST 2000 Intel MultiProcessor Specification v1.1 Virtual Wire compatibility mode. OEM ID: MSIProdUCt ID: 440BXAPIC at: 0xFEE00000 Processor #0 Pentium(tm) Pro APIC version 17 Processor #1 Pentium(tm) Pro APIC version 17 I/O APIC #2 Version 17 at 0xFEC00000. Processors: 2 mapped APIC to ffffe000 (fee00000) mapped IOAPIC to ffffd000 (fec00000) Detected 451033204 Hz processor. Console: colour VGA+ 80x25 Calibrating delay loop... 448.92 BogoMIPS Memory: 257700k/262144k available (1044k kernel code, 424k reserved, 2920k data, 56k init) Dentry hash table entries: 32768 (order 6, 256k) Buffer cache hash table entries: 262144 (order 8, 1024k) Page cache hash table entries: 65536 (order 6, 256k) VFS: Diskquotas version dquot_6.4.0 initialized Checking 386/387 coupling... OK, FPU using exception 16 error reporting. Checking 'hlt' instruction... OK. ............. 这个信息很长,几乎每个被初始化的设备都会显示一段讯息,从这里可以看出系统中 那些设备已经开始工作,那些设备失败了。如果信息滚动过快,可以在启动完成之后用 dmesg命令显示全部信息。 当需要直接在内核映像中启动的设备(这些设备是在编译内核时确定的)初始化完毕 后,Linux连结在lilo.conf的root=行中定义的根文件系统,启动init进程(应该记得它 是一切程序的最初启动者),寻找/etc/inittab文件并且进入运行级的设置。

(出处:http://www.sheup.com)


上一页 [1] [2] 

dmesg命令显示全部信息。 当需要直接在内核映像中启动的设备(这些设备是在编译内核时确定的)初始化完毕 后,Linux连结在lilo.conf的root=行中定义的根文件系统,启动init进程(应该记得它 是一切程序的最初启动者),寻找/etc/inittab文件并且进入运行级的设置。

(出处:http://www.sheup.com/)


上一页 [1] [2] [3]