LILO使用指南(上)

linuxaid.com.cn  hubertzou

〖 返回〗〖转发〗

LILO使用指南(上)

hubertzou@linuxaid.com.cn

计算机的最初启动是由BIOS控制的,在对一些硬件(如:内存、键盘等)初始化之后,它会试图加载硬盘的主引导记录(MBR)或软盘的引导扇区。MBR可通过两种方式运行,其一是定位到活动分区并加载相应的引导扇区,然后由引导扇区完成该分区内操作系统的基本组件的加载;其二是直接从一指定分区中加载信息,并通过它装入任一分区的操作系统,诸如 LILO、gurb,OS/2 boot loader及PartitionMagic等引导加载程序都可以配置成这种方式。软盘的引导扇区相当于硬盘活动分区的引导扇区,它通常用于装入软盘上的操作系统。

只要把LILO之类的多重引导器安装在MBR、活动分区或者引导软盘上,就能接管计算机的控制权,然后由多重引导器完成后继的引导过程。

LILO中建有一个引导表地址编码,借此它的引导程序就能定位到Linux的内核文件,这种地址编码既可以按照柱面/磁头/扇区(CHS)模式,又可以采用LBA的线性块号模式,因此,即使对某些SCSI控制程序LILO也能运转良好。

一,MBR还是Linux 的根分区

首先遇到LILO,估计应该在你安装Linux 的时候,你会被要求选择LILO的安装处,是MBR 还是Linux 的根分区。如果你有其他的启动管理程序例如Boot Magic 或者 System Commander 等,并且想使用他们,那么你应该把LILO 安装到Linux 的根分区。如果你选择使用LILO 作为启动管理程序,就可以选择MBR。如果你想在启动时传递参数给内核,也应该使用MBR。

使用LILO 作为启动程序后,机器启动后就会有LILO:的提示符,按下TAB 键,可以看到可以选择的操作系统列表。输入其中的操作系统标签名就可以启动到对应的操作系统,或者直接输入回车启动到缺省的操作系统。在 LILO.CONF中提及的映象可多达16个.

二,lilo.conf用法详解

我们来看一个LILO 启动的配置文件(/etc/lilo.conf)实例:

boot=/dev/hda3
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
message=/boot/message
default=new

image=/boot/vmlinuz-2.4.3
label=new
read-only
root=/dev/hda3

image=/boot/vmlinuz-2.2.19
label=linux
read-only
root=/dev/hda3

other=/dev/hda2
label=dos

本配置文件指定 LILO使用在/dev/hda路径上的主引导记录。启动时,引导装入程序会等待 5 秒的时间
让你按SHIFT键。如果未按,则上述提及的第一核心映象(vmlinuz-2.4.3),将被启动。如果按下了SHIFT键则引导装入程序就会问你要启动哪一个映象。 万一你忘了该选择启动哪个映象, 按[TAB]就会有个菜单给你选择。你在这时可以选定或者启动这个全新的内核,或者启动一个原来可靠的内核(vmlinuz-2.2.19),或者启动一个不同的操作系统。

由上可见,一个配置文件以一系列的全局选项开始),随之是不同映象选项的描述。在映象描述中的选项
将会覆盖全局选项所设定的内容。

全局选项部分

boot=boot-device

设定包含引导扇区的设备的名称(如一个硬盘的分区)。如果未指定该关键字引导扇区将从当前作为根文件系统安装的设备中读取(或者可能也会写入)。

compact

试图将相邻扇区的多次读取请求合并成一次读取请求。这样就大幅度地减少了读取时间,并使系统描述(MAP)更小。在从软驱进行读取时尤其要使用 'compact' 选项。

default=name

使用特别指定的映象作为默认的启动映象。如果未设置 'defaul' 选项,则将使用在该配置文件中最早出现的那个映象作为启动映象。

disc=device-name

定义特定硬盘的非标准参数。其对于定义 'BIOS=' 参数尤其有用。若你的硬盘的 BIOS 数据是 0x80 ,0x81(十六进制)等等,将无法判断哪一块 Linux 磁盘与哪一块 BIOS 磁盘相对应(因为这决定于 BIOS 的设置
和 BIOS 的类型)。因此若你采用的是非一般的安装,那你就需要说明 LINUX 磁盘和 BIOS 磁盘间的对应关
系。比如:

map=map-file

定位磁盘描述(MAP)文件。若未指定 'map' 选项,就会使用 /boot/map 文件。

message=message-file

指定一个含有在运行启动提示符前显示的信息的文件。在显示出 'LILO' 后等待按键的时间里不会有信息
显示。在信息中,用FF字符([Ctrl + L])清空本地显示器。信息文件的大小限制在65535字节以内。如果信息文件被改动或取消则必须重建磁盘描述(Map)文件。

prompt

不等待任何的按键事件发生就直接进入启动提示符模式。如设定了 'promp'选项而没设定 'timeout' 选项,则不能自行启动。

timeout=tsecs

为键盘输入设定一个超时选项(以10分之一秒为单位)。若在指定的时间内没有按键则第一个映象就会被自动启动。同样,如过用户停顿过长则密码输入就会被取消。默认的超时值是无限。

另外,内核配置参数 append,ramdisk,read-only,read-write,root以及vga都可在全局选项中被设定。如果在相应的核心映象的配置栏中没对其加以指定,该设定值其就会被用做默认的缺省值。

单一映象部分

一个单一映象或者以一行
image=pathname
开始(以提示含有一个LINUX内核的启动映象的文件或设备),或以一行
other=pathname
开始以提示启动其他独立的系统。

label=name

引导装入程序使用每个映像说明的主文件名(不包含路径)来标识该映像。通过设定变量'label'可使用不同的名称。

alias=name

通过指定一个别名可对同一个目录使用第二名称。

password=password

用密码保护映像。

restricted

若是在命令行被指定各参数则只在启动映像使需要输入密码。

内核选项部分

如果被启动的映像是一个LINUX内核,则可以将命令行参数传送到该内核。

append=string

将指定的各选项增加到传送于内核的参数行。其典型的运用于指定不能完全自检或彻查对其有危害的硬盘
的参数。比如:

append="hd=64,32,202"

ramdisk=size

该选项指定了任选RAM磁盘的大小。0 表示不应创立任何RAM磁盘。若不指定该参数,则使用在根文件系统中建立的RAM磁盘大小。

read-only

采用read-only 选项时,系统会把根分区挂接为只读方式,推荐采用这个选项,因为 fsck 程序要求文件系统只读。但不用担心你的根分区会不能写入了,相反,系统一旦启动就会把根分区挂接为读写方式。

read-write

其指定根文件系统应以可读写方式装载。

root=root-device

该参数指定应作为根文件系统装载的设备。如果目前使用的是指定的名称,则根驱动器就设在根文件系统目前所在的设备上。如果根设备被 -r 参数所修改,则使用相应的设备。若未指定 'root' 参数,则使用包含核心映象的根设备设置(该设置是编译内核时在内核的 Makefile 文件中用 ROOT_DEV 变量设定的,并稍后可用 rdev(8)程序修改)

vga=mode

其指定在启动时应选择的 VGA 文本模式。 下列数值可被识别 (忽略大小写):

normal:选择普通 80x25 文本模式。

extent(或ext):选择 80x50 文本模式。

ask:停止并要求用户的输入(在启动时)

:使用相应的文本模式。在启动时用vga=ask选项或按[Enter]都可获得一个可用模式的列表。

若未指定该参数,则使用在核心映像中获得的 VGA 文本环境。(该设置是编译内核时在内核的 makefile文件中用 SVGA_MODE 变量设定的)

LILO 也可以让你手工在LILO 提示符下传递这些参数。例如:

LILO: linux single

就是告诉Linux 启动Linux 进入单用户模式。在引导区损坏时,可以从软盘启动,然后指定硬盘的根来修复硬盘引导扇区。

LILO: linux root=/dev/hda3

LILO 引导其他类型的操作系统和引导Linux 一样配置,但是更加简单:

other = /dev/hda3
         label = dos
         table = /dev/hda

other 指明操作系统所在的分区,同样的和Linux 下的image 一样也需要给定一个标签(label),table 选项指向包含分区表的设备,这个选项必不可少,因为LILO 会从这个这个分区表寻找对应的分区信息,然后把他传递给要启动的操作系统。

对lilo.conf 的任何改变都要求重新运行 /sbin/lilo ,保证最新的改变能写入分区。
         另外,如果你升级内核或者重构了 initrd 映像,也需要重新运行 /sbin/lilo。

运行/sbin/lilo 后,可以看到如下信息:

Added linux * 
         Added dos
         表示各种映像已经写入分区,带有 * 的分区是目前的缺省引导分区。
         可以用 -D 参数改变缺省引导分区:

/sbin/lilo -D dos
         Added linux
         Added windows *
         可以看到缺省分区已经成为 windows了。

install=boot-file

将指定的文件作为新的引导扇区来安装。若未设置 'install' 选项,则将boot/boot.b作为默认缺省值使用。

linear

产生线性扇区地址而非“扇区/磁头/柱面”地址。线性地址不依赖于磁盘的分区结构,且在运行时被翻译。注意如果使了'linear'选项则可能使启动盘不能被移植,这是因为BIOS中用于决定磁盘分区结构的服务对软盘的作用不稳定。在对大硬盘使用'linear'选项时,由于3D扇区地址在启动前是未知的,故 /sbin/lilo 可能会产生对不可访问的磁盘区域的一个参考。
        
lock
        
允许自动记录引导命令行,作为以后启动的默认缺省值。这样,在手工取消之前lilo会锁定一个选项。

loader=chain-loader

该参数指定了将使用的连锁装入程序。使用默认缺省/boot/chain.b。如果是从其他设备而非第一硬盘或软盘启动则必须指定连锁装入程序。

LILO使用指南(上)相关推荐

  1. LILO使用指南(中)

    LILO使用指南(中) linuxaid.com.cn  hubertzou [ 返回][转发] LILO使用指南(中) hubertzou@linuxaid.com.cn 三,关于lilo的问题 & ...

  2. nRF开发指南—上下册

    针对nRF52832的初级开发指南.希望能够帮助到大家. nRF开发指南-上下册 提取码:kzvv

  3. 【Camera专题】Qcom-高通OTP完全调试指南-上

    一.前言 关于高通OTP编程的知识,网上少得可怜,官方文档又没有那么清晰,于是就来一篇干货吧! OTP编程完全指南分上.下2篇. 上:主要讲OTP的知识和调试流程. 下:主要讲OTP的源码. 本文知识 ...

  4. react取消捕获_React 面试指南 (上)

    使用 React 进行项目开发也有好几个项目了,趁着最近有空来对 React 的知识做一个简单的复盘. 完整目录概览 React 是单向数据流还是双向数据流?它还有其他特点吗? setState Re ...

  5. 数模国赛之一份简短的LaTeX入门指南(上)

    [写在最前面]本篇文章是一个简单的LaTeX入门指导,根据亲身的学习经历和各类资料的总结,才有了这个分享.总的来说,能够对模板进行简单的修改算是入门了,对模板修改的前提是了解简单的命令和环境,会改字体 ...

  6. Nature Reviews:给医生的菌群分析指南(上)

    本文转载自"态昌基因",己获授权. 最近人体共生微生物,尤其是肠道菌群,简直火的不要不要的,经常是CNS的坐上客.各位老板有没有心动啊~ 菌群(特别是肠道菌群)的群落组成和功能的变 ...

  7. Kotlin项目实践指南(上)

    关于作者 郭孝星,程序员,吉他手,主要从事Android平台基础架构方面的工作,欢迎交流技术方面的问题,可以去我的Github提issue或者发邮件至guoxiaoxingse@163.com与我交流 ...

  8. .NET CoreCLR开发人员指南(上)

    1.为什么每一个CLR开发人员都需要读这篇文章 和所有的其他的大型代码库相比,CLR代码库有很多而且比较成熟的代码调试工具去检测BUG.对于程序员来说,理解这些规则和习惯写法非常的重要. 这篇文章让所 ...

  9. 笨办法学linux dhcp,iptables使用指南(上)

    iptables-save用来把当前的规则存入一个文件里以备iptables-restore使用.它的使用很简单,只有两个参数: iptables-save [-c] [-t table] 参数-c的 ...

最新文章

  1. javascript 两个数组组成一个对象
  2. MQ各个元素的详细理解
  3. 基于FPGA的电机控制设计(PWM)
  4. 数据结构 最长公共子序列问题
  5. cifar10 c语言,Python3读取深度学习CIFAR-10数据集出现的若干问题解决
  6. 太漂亮了!66个高颜值的矿物晶体,吸引到你的目光了吗
  7. linux无盘工作站互不干扰,Linux环境下无盘工作站的架设和实现二
  8. vmstat工具详解
  9. firefox 插件可能用得上的Firefox插件及下载
  10. Tunnel Warfare HDU 1540 区间合并+最大最小值
  11. 高频量化交之李庆:在华尔街狼共舞的岁
  12. Vue验证座机号的同时验证手机号
  13. linux 删除开机密码,6种清除开机密码方法,总有一个适合你
  14. itunes显示app store无法连接服务器,无法连接到iTunes Store的解决方案
  15. android 手机 平板同屏,酷乐视Q6投影仪Android手机/平板同屏方法汇总
  16. ai人工智能将替代人类_AI再次击败人类
  17. MySQL 基础——MySQL 起步
  18. 如何使用css实现三角形?
  19. 百度搜索限定时间_提高搜索能力必备技巧(建议收藏)
  20. 还原王欣:技术宅男的红与黑

热门文章

  1. vue-element-admin的v-waves指令失效问题解决(与@click冲突导致水波纹失效)
  2. 计算机图像处理相关论文,计算机图像处理论文
  3. 超级产品:档口式咖啡成为新风口,这家2平方的店铺月收入十万
  4. Windows 打开appdata文件夹
  5. python语言数值操作符_python数据类型和运算符
  6. 基于微信买菜小程序系统设计与实现 开题报告
  7. edge黑色主题/夜间模式(包括页面也是)
  8. misc高阶 攻防世界_攻防世界misc高手进阶篇教程(4)
  9. 中国防篡改袋行业现状调研及趋势分析报告
  10. JavaScript常用数组API(2)