📄 563.html
字号:
要引导其它OS且不用LILO很简单,激活那个分区。Linux分区没有任何变化,非常安全。<br>
2.2 LILO started by a boot manager<br>
假如用户不想删除老的boot manager,或者某个OS LILO不能引导,可以考虑该途径。<br>
1. 假如boot manager可以引导扩展区,那儿是LILO的好去处。<br>
2. 假如 boot manager 可以引导第二硬盘分区,linux可以装在第二硬盘上。<br>
3. 有些 boot manager 甚至可以引导逻辑分区,那LILO就可以装在逻辑分区上。<br>
当然,也要注意以下情况:<br>
1 某些操作系统直接改写MBR,这会将原来的boot manager破坏。<br>
2 重新分区会破坏扩展分区的引导扇区,这是LILO可能要重装。<br>
当安装新的系统时,是否要重新安装(linux)依靠新的boot manager,要么LILO引 导扇区被注销,要么boot manager 为它提供一个引导项。重新分区或分区格式化会将 LILO和linux全部删除。<br>
2.3 LILO占据MBR<br>
假如整个linux系统都在第二硬盘上,且第一硬盘没有扩展分区,那么,LILO只有装 在MBR上。这样,会将老的MBR冲去,所以,在安装LILO前,要将老的MBR(包括分区 表)做一个备份。DOS下有很多工具可以完成这个任务。在linux下,这样备份:<br>
# dd if=/dev/had of=/backup/MBR bs=512 count=1<br>
写会使用命令:<br>
# dd if=/backup/MBR of=/dev/had bs=446 count=1<br>
这样,原来的MBR就被写会但不包括分区表。如果分区表也要恢复,那么bs=512. 注意,这样,新的分区表会被破坏!<br>
2.4 LILO 文件<br>
与LILO有关的文件通常放在/boot/下,配置文件lilo.conf在/etc/下。包含实际 引导系统信息的映射文件有/sbin/lilo安装。对于任何LILO安装,配置文件应该被定 置以适合个人需要。<br>
The configuration file:配置文件<br>
基本上,配置文件是一些变量赋值。每一行包含一个标志变量或一个变量赋值. 配置文件被特殊的变量赋值分成几个区,每个区引导一个linux或其它OS.<br>
下面解释常见的行:<br>
boot = device<br>
说明那一个设备或哪一个分区包含引导扇区。假如没有给boot赋值,取当前缺省值。<br>
Compact<br>
激活一种模式,在此模式下,LILO一次向BIOS请求读入相邻的几个分区。这极大的 缩短了装载时间,特别是从软盘启动。<br>
Delay=tenths<br>
以10秒为单位,规定LILO在引导第一个引导配置前应等待用户的时间。若没有定义,则 直接引导。<br>
Linear<br>
使LILO生成线性地址,而不使用通常的Sector/Head/Cylinder机制。Linux地址机制 可以不依赖磁盘的物理结构。<br>
Install = boot sector<br>
使用指定的boot sector写入引导扇区,缺省用/boot/boot.b<br>
disktab=disktab<br>
使用指定的disktab,缺省使用/boot/disktab.disktab保存了硬盘物理结构信息。<br>
Map=map file<br>
说明映射文件的路径。<br>
Message=file<br>
指定一个文件,该文件的内容将会在LILO引导是被显示。假如没有说明该文件,那么就 只会出现"LILO"。<br>
Verbose=level<br>
说明LILO的调试级别。从0(不显示任何信息)到5(所有的状态信息)。<br>
Backup = backup file<br>
以前引导扇区内容的备份文件。缺省使用/boot/boot.device number<br>
force-backup=backup file<br>
和backup 相同,当时假如备份文件存在,被覆盖。<br>
Prompt<br>
指定要用户通过键盘选择要引导的内核。不会缺省选择。<br>
Timeout=tenths<br>
设置一个超时值,在此时间内必须有键盘输入,否则用第一个配置。类似,假如超 时,就不能再输入密码。一般情况下,该取缺省值,无穷大。 注:delay 与 timeout的区别(joe 认为),delay 是"LILO"出现后用户必须有 输入的最长时间。Timeout 是用户在按了任意键后,系统等待选择,用户 两次击键的最大间隔时间。<br>
Serial=port, bps parity bits<br>
设置串口参数。如果LILO会从该文件获取串口参数的话。如果其中之一无效, 那所有三个参数都无效。Port从四个标准串口选择一个:0对应COM1 或者 /dev/ttyS0.。支持的波特率范围为:100-9600。所有校验设置都支持<br>
(n:none,e:even,odd) bits为7或者8。缺省为serial=0,2400n8.<br>
Ignore-table<br>
让LILO忽略被破坏的分区表。<br>
Fix-table<br>
允许LILO将每个分区的(sector/head/cylinder)地址转化为线性地址。通常, 分区地址从cylinder boudary开始。某些操作系统,会改变这一点。由于LILO只能 将它的启动扇区写于两种地址都一致的分区上,不正确的3D地址可以用fix-table 来纠正。但是,这种纠正不能被保证是永远的,所以重分区以保证对齐cylinder boudary 是最好的选择。<br>
Password=password<br>
为引导配置设置password<br>
restricted<br>
放松对password的限制。只有用户想传附加的启动参数给内核时才需要password<br>
optional<br>
允许配置的几个内核有错误的,或者不存在,如果不说明optional,LILO遇到这种 情况就会打印一些错误信息然后退出。<br>
每个从LILO引导的配置从image行开始。<br>
Image = kernel<br>
Label = name<br>
Image包含要引导的内核。Label是给用户选择用的。Image行通常指向一个设备, 例如/dev/fd0,可以找到内核的范围用range来注明。<br>
Range = range<br>
range可以用start sector -end sector 或者 start sector + length 表示。例如:<br>
image = /dev/fd0<br>
label = floppy<br>
range = 1+512<br>
以下变量赋值有可能出现:<br>
append=string<br>
将string作为引导参数传给内核。例如,硬件参数。<br>
Literal=string<br>
和append查不多。但是,他会冲掉原来的设置。所以不能被全局说明。<br>
Ramdisk=size<br>
设置RAM disk的大小。<br>
Read-only<br>
read-write<br>
设置根文件系统的访问方式。<br>
Root=device<br>
设置根文件系统存在的设备。<br>
Vga=mode<br>
屏幕设置。可能模式为:normal,extended 和ask. 。<br>
以下设置是针对别的操作系统的:<br>
loader=loader 说名用来引导操作系统的文件。缺省为 /boot/chain.b . 另外,LILO包含以 下的loader:<br>
os2_d.b 可以从第二硬盘上引导os/2<br>
any_d.b 在引导操作系统之前试图将两个硬盘的次序颠倒,从而可以引导第二硬盘 上的os.<br>
Table=device 说明一个设备,该设备的某个分区上存放要引导的os.假如没有说明table, LILO就不会将该信息传给要引导的osunsafe<br>
关掉对要引导的os的检查。只有要从软盘引导时,才使用该设置。没有该设置, 每次map installer开始运行时,引导盘都要插入软驱。<br>
The disktab file<br>
disktab文件包含LILO要引导的设备的物理结构信息。通常,这些信息可以从设备驱 动程序获取。所以,只有这种方法不行时才会用到disktab 文件。在此情况下,如 果文件不能用,LILO报告错误信息:<br>
geo_query_dev HDIO_GETGEO(dev …)<br>
或者<br>
HDIO_REQ not supported for your SISI controller<br>
Please use /boot/disktab<br>
然后,物理结构信息就必须手工地输入:<br>
# /boot/distab-LILO parameter table<br>
#<br>
#This table contains the geometry parameters for SCSI and<br>
# IDE disks,which can not be recognized automatically<br>
# Entries in this table overwrite recognized parameters!<br>
#<br>
# Dev. BIOS Secs/ Heads/ Cylin - Par.<br>
# num. Code track cyLin. Ders. Offset<br>
(optional)<br>
#0x800 0x80 32 64 202 0 # /dev/sda<br>
各个域含义如下:<br>
0x800<br>
设备号.由主副设备号组成。<br>
设备号.由主副设备号组成。<br>
0x80<br>
设备的BIOS 码。0x80代码系统的第一个硬盘。0x81第二个,。。。。<br>
所有同一硬盘上的分区该值相同。<br>
32,64,203<br>
sector 数目(每个track)<br>
heads 数目<br>
cylinders 数目<br>
0<br>
分区的开始。也可以从分区表中读,所以可以不说明。<br>
2.5 LILO 启动信息<br>
在启动过程中,LILO会显示'LILO':每完成一个特定的过程显示一个字母。如果LILO在某个地方失败了,屏幕上就停留几个字母,以指示错误发生的地方。如果LILO出错退出,可以根据显示来判断系统的 出错原因。<br>
注意,如果磁盘发生瞬间故障,可能会在第一个字母"L"后插入一些十六进制数字(磁盘错误码)。除非LILO停在那里并不停地产生错误码流,否则并不说明有严重问题。<br>
没有信息:LILO根本就没有被读入,没安装LILO,或LILO驻留的分区没被激活。<br>
L(number): LILO的第一部分被读入并开始执行。但第二部分不能被读入。后面 的数字表明出错原因。这可能是由于硬盘的物理错误或不正确的物理结构信息。<br>
LI: LILO的第一部分可以读入第二部分,第二部分执行时出错。这可能是不正确的物理结构信息或重装了boot.b而没有运行LILO重新安装。<br>
LIL:LILO的第二部分启动起来了,但是不能从map文件读入描述符表(descriptor tables).这说明不正确的物理结构信息或物理错误。<br>
LIL?: LILO的第二部分被读到不正确的地址。原因同LI<br>
LIL-: descriptor tables有错。这可能是不正确的物理结构信息或重装了 map file而没有运行LILO重新安装。<br>
LILO: LILO执行正确。<br>
1010101010: 分区情况已经改变却没有重新安装LILO,另外,超频也可能会出这种情况。<br>
磁盘错误码 :<br>
0x00:"内部错误"。 由LILO扇区读取子程序产生。可能是因为被破坏的文件,重建map文件试试看。另一个原因也许是,当使用"linear"参数时去访问超出1024的柱面。<br>
0x01:"非法命令"。这意味着LILO访问了BIOS不支持的硬盘。<br>
0x02:"没找到地址标记"。通常是介质问题,多试几遍看看。<br>
0x03:"写保护错"。 仅在写操作时出现。<br>
0x04:"扇区未找到"。典型的原因是硬盘参数错误。<br>
0x06:"激活顺序改变"。这应该是短暂的错误,再试一次。<br>
0x07:"无效的初始化"。BIOS没有适当地初始化硬盘,热启动一次或许有帮助。<br>
0x08:"DMA超出限度"。这不应当发生,重新启动。<br>
0x09:"DMA试图越过64kB边界"。这不应当发生,建议忽略"compact"参数。<br>
0x0C:"无效的介质"。这不应当发生,重新启动看看。<br>
0x10:"CRC错误"。检测到介质错误。建议多启动几次,运行map安装程序,把map文件从坏块写到正常的介质上。<br>
0x11:"ECC纠正成功"。读错误发生然后被纠正,但是LILO并不知道这个情况,终止了启动过程。<br>
0x20:"控制器错误"。一般不应发生。<br>
0x40:"定位失败"。这可能是介质问题,重新启动试试。<br>
0x80:"磁盘超时"。磁盘或驱动器没有准备好。介质坏了或磁盘没有转,也有可能是从软盘启动而没有关上软驱门。<br>
0xBB:"BIOS错误"。一般不应发生,如果反复发生,可考虑去掉"compact"参数或添加删除"linear"参数。<br>
如果在写操作过程中发生错误,则在错误码前有个前缀"w"。尽管写错误并不影响启动过程,但它们暗示了系统中存在某种错误,建议重新配置LILO成只读格式(read-only)。<br>
<br>
3 几个重要的LILO引导参数<br>
LILO的引导参数有很多,在此对一些比较重要的参数作一介绍。<br>
1. "boot="<br>
此参数指明包含引导扇区的设备名(如:/dev/had),若此项忽略,则从当前的根分区中读取引导扇区。<br>
2. "root="<br>
此参数告诉内核启动时以哪个设备作为根文件系统使用,其设定值为构造内核时根文件系统的设备名,可用的设备名有:<br>
(1)/dev/hdaN~/dev/hddN:ST-506兼容硬盘,a到d上的N个分区<br>
(2)/dev/sdaN~/dev/sdeN:SCSI兼容硬盘,a到e上的N个分区<br>
(3)/dev/xdaN~/dev/xdbN:XT兼容硬盘,a到b上的N个分区<br>
(4)/dev/fdN:软盘,A:(N=0)或B:(N=1)<br>
(5)/dev/nfs:由网络取得根文件系统的标志<br>
3. "nfsroot="<br>
若需通过NFS提供根文件系统来引导无盘工作站,此参数为内核指定了网络根文件系统所在的机程序、目录及NFS,其格式为:nfsroot=[〈server_ip〉:]〈root_dir〉[,nfs_options〉]<br>
4. "nfsaddrs="<br>
设定网络通讯所需的各种网络界面地址,如无此参数,则内核会试图用反向地址解析协定(RARP)或启动协定(BOOTP)找出这些参数,其格式为:<br>
nfsaddrs=〈客户端IP〉:〈服务端IP〉:〈网关IP〉:〈子网屏蔽〉:〈客户端名称〉:〈网络设备名 〉:〈auto〉<br>
5. "image="<br>
指定Linux的内核文件。<br>
6. "delay="<br>
设定引导第一个映像前的等待时间。<br>
7. "disk="<br>
此参数为某一特殊的硬盘定义非标准参数。<br>
8. "append="<br>
为内核传递一个可选的参数行,其典型的应用是为不能完全由系统自动识别的硬盘指定参数,如: append = "hd=64,32,202"<br>
9. "label="<br>
此参数为每个映像指定一个名字,以供引导时选择。<br>
10. "read-only"<br>
设定以只读方式挂入根文件系统,用于文件系统一致性检查(fsck)。<br>
11. "install="<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -