查看: 3527|回复: 0

Linux启动盘boot/root盘的制作 (3)

[复制链接]

该用户从未签到

发表于 2007-2-5 00:27:51 | 显示全部楼层 |阅读模式
分享到:
GRUB激活盘 
  要制作引导盘,需执行一些简单的步骤。首先,在新的软盘上创建 ext2 文件系统。然后,将其安装,并将一些 GRUB 文件复制到该文件系统,最后运行 "grub" 程序,它将负责设置软盘的引导扇区。准备好了吗? 

  将一张空盘插入 1.44MB 软驱,输入: 
  # mke2fs /dev/fd0 
  创建了 ext2 文件系统后,需要安装该文件系统: 
  # mount /dev/fd0 /mnt/floppy 
   现在,需要创建一些目录,并将一些关键文件(原先安装 GRUB 时已安装了这些文件) 复制到软盘: 
  # mkdir /mnt/floppy/boot 
  # mkdir /mnt/floppy/boot/grub 
  # cp /boot/grub/stage1 /mnt/floppy/boot/grub 
  # cp /boot/grub/stage2 /mnt/floppy/boot/grub 
  再有一个步骤,就能得到可用的引导盘。 

  在linux bash中,从 root 用户运行“grub”,该程序非常有趣并值得注意,因为它实际上是 GRUB 引导装入器的半功能性版本。尽管 linux 已经激活并正在运行,您仍可以运行 GRUB 并执行某些任务,而且其界面与使用 GRUB 引导盘或将 GRUB 安装到硬盘 MBR 时看到的界面(即GRUB控制台)完全相同。 
  在 grub> 提示符处,输入: 
  grub> root (fd0) 
  grub> setup (fd0) 
  grub> quit 
  现在,引导盘完成了。 

  如果要把GRUB装到硬盘上,也很容易。这个过程几乎与引导盘安装过程一样。首先,需要决定哪个硬盘分区将成为 root GRUB 分区。在这个分区上,创建 /boot/grub 目录,并将 stage1 和 stage2 文件复制到该目录中,可以通过重新引导系统并使用引导盘, 或者使用驻留版本的 GRUB 来执行后一步操作。在这两种情况下,激活 GRUB,并用 root 命令指定root 分区。例如,如果将 stage1 和 stage2 文件复制到 hda5 的 /boot/grub 目录中,应输入 "root (hd0,4)"。接着,决定在哪里安装 GRUB -- 在硬盘的 MBR,或者如果与 GRUB一起使用另一个“主”引导装入器,则安装在特定分区的引导记录中。如果安装到 MBR,则可以指定整个磁盘而不必指定分区,如下(对于 hda): 
  grub> setup (hd0) 
  如果要将 GRUB 安装到 /dev/hda5 的引导记录中,应输入: 
  grub> setup (hd0,4) 
  现在,已安装 GRUB。引导系统时,应该立即以GRUB的控制台方式结束(如果安装到MBR)。现在,应创建引导菜单,这样就不必在每次引导系统时都输入那些命令。


--------------------------------------------------------------------------------
jeffreyli 回复于:2004-02-09 11:39:03 
LILO(linux Loader)是Linux自带的一个优秀的引导管理器,使用它可以很方便地引导一台机器上的多个操作系统。与其他常用的引导加载程序相比,LILO引导方式显得更具有艺术性,对其深入的理解,将有助于我们方便地处理多操作系统、网络引导、大硬盘及大内存等诸多棘手的问题。 
  通常我们谈到LILO,会涉及到两个方面——LILO引导程序和LILO安装命令/sbin/lilo。为了不至于混淆这两个概念,本文将用LILO表示LILO引导程序,而lilo表示/sbin/lilo。 

  一般地,LILO使用一个文本文件/etc/lilo.conf作为其配置文件。lilo读取lilo.conf,按照其中的参数将特定的LILO写入系统引导区。任何时候,修改了/etc/lilo.conf,都必须重新运行lilo命令,以保证LILO正常运行。lilo.conf使用的配置参数很多,配置起来也相当复杂。下面以RedHat linux为例作一些初步探讨,RedHat的lilo程序包版本为0.20,别的Linux发行版本可能会有所出入,但不会太大。 

  lilo.conf文件中的配置参数分为两部分,一部分是全局参数,另一部分是引导映像参数。与linux系统其他的配置文件一样,“#”号后的一行文字表示注释。 

一、LILO的全局参数 

  全局参数是全程有效的,它可以出现在文件lilo.conf中的任何地方。以下是具体的参数项: 
  1.backup=backup-file 
  在装入LILO之前将原先的引导区备份到backup-file,而不是RedHat 缺省的/boot/boot.NNNN。也可以备份到一个设备上,如: /dev/null。注意:如果原先已有一个同名文件,该参数将被忽略。我们可通过这个备份恢复原先的引导扇区: 
  dd if=/boot/boot.NNNN of=/dev/hda bs=446 count=1 
  原先的MBR。(注:虽然boot.NNNN有512字节,但只能恢复前446字节到MBR。) 
  2.boot=boot-device 
  指定一个用于安装LILO的设备。通常LILO可安装在如下几个地方: 
  MBR:第一个硬盘的主引导区, 对应于/dev/hda、/dev/sda等。 
  Root:linux根分区的超级块(Super block), 对应于/dev/hda1、/dev/hda2、/dev/hda5、/dev/sda1、/dev/sda5等。 
  FloppyILO安装在软盘上,对应于/dev/fd0。 
  不指定时,lilo缺省安装在根分区超级块上。 
  3.compact 
  该参数用于优化LILO,产生一个更小的“map”文件。如果在软盘上安装LILO,强烈推荐使用此参数。 
  4.default=name 
  指定缺省引导的操作系统。如default=dos 表示将label为DOS的系统作为缺省引导的操作系统。如不指定该参数,排在lilo.conf中的第一个操作系统将作为缺省操作系统。 
  5.delay=tsecs 
  在没有指定“prompt” 参数时,LILO将立即引导缺省的操作系统,“delay”参数在这之间插入一段延时,单位是1/10秒。 
  6.disk=device-name 
  为某些非标准硬盘定义参数。其内部还包括有几个可选的子参数。 
  bios=〈bios_device_code〉:  设备号。十六进制数0x80表示第一硬盘;0x81表示第二硬盘,依此类推。 
  sectors=〈sectors〉:硬盘扇区数。 
  heads=〈heads〉:硬盘磁头数。 
  cylinders=〈cylinders〉:硬盘柱面数。受系统BIOS限制,柱面数必须在1024以内。 
  partition=〈partition_device〉:用于物理定位特殊硬盘上的分区,有一个子参数start。 
  start=〈partition_offset〉:每一分区的起始扇区。 
  例如: 
  disk = /dev/sda 
  bios=0x80 
  #指定SCSI硬盘为第一硬盘 
   sectors = 32 
   heads = 64 
   cylinders=632 
  #硬盘参数为632/64/32 
  partition=/dev/sda1 
  start=2048 
  #第一分区起始扇区为2048 
  partition = /dev/sda2 
  start=204800 
  #第二分区起始扇区为204800 
   partition = /dev/sda3 
    start = 500000 
   partition = /dev/sda4 
    start = 900000 
  当机器上有两块硬盘,一块为SCSI硬盘,另一块为IDE硬盘时,LILO很有可能无法自动识别它们的主、从顺序,这时可进行如下设置: 
  disk = /dev/sda 
   bios = 0x80 
  disk = /dev/hda 
   bios = 0x81 
  #SCSI硬盘为主硬盘,IDE硬盘为从硬盘 
  该参数是为linux无法识别的硬盘准备的,一般Linux可以正确识别和使用大多数硬盘,除非最坏的情况,否则不用设置它。 
  7.force-backup=backup-file 
  类似“backup”参数,但是将覆盖原有的同名文件。 
  8.ignore-table 
  通知lilo忽略无效的硬盘分区表。 
  9.install=boot-sector 
  LILO实际上包含有几个部分,而这几部分都存放在/boot/boot.b文件中。如果忽略“install”参数,则lilo认为install=/boot/boot.b。 
  10.linear 
  产生用于替换硬盘sector/head/cylinder地址(硬盘几何参数)的linear扇区地址。linear地址在运行时产生并且不依赖于硬盘几何参数。某些SCSI硬盘和一些以LBA方式使用的IDE硬盘可能会需要使用这个参数。注意,在将LILO安装到软盘上时不能使用“linear”参数。 
  11.lock 
  出现LILO提示后立即按最近一次的引导映像启动计算机。也就是说,当我们在lilo.conf中加入了该参数,然后运行lilo安装LILO,再重新启动计算机,这时LILO会提示我们选择引导哪一种操作系统,这一选择将被LILO记录下来,即“锁定”,下次启动计算机时,LILO将忽略“delay”、“prompt”等参数及键盘输入而直接跳转到其“锁定”的操作系统。 
  12.map=map-file 
  指定map文件。 没有本项时缺省使用/boot/map,每次执行lilo命令都会产生一个新的map文件。 
  13.message=message-file 
  该命令用于指定一个包含注释信息的文件,该文件将在系统打印出字符串“LILO”之前显示。如果在LILO启动时想获取较多的信息,可以编辑一个文件,再使用该命令就可以了。文件中如果包含有ASCII码为0xFF的字符(Ctrl+L)则表示清屏。注意,文件的大小不能超过65535个字节。每次文件改变之后,都必须重新运行lilo命令重建map文件,以保证其正常显示。 
  14.optional 
  当用于启动的引导映像不存在时,该参数使lilo忽略它。这对用于测试一个不长期存在的linux核心是有用的。 
  15.password=password 
  为LILO设置口令保护,每次重新启动计算机提示用户输入口令。设置了口令后,建议将lilo.conf的文件属性改为600,以免让非root用户看到口令。 
  16.prompt 
  给出“boot:”提示,强制LILO等待用户的键盘输入,按下回车键则立即引导默认的操作系统,而按下Tab键则打印可供选择的操作系统。当“prompt”被设置而“timeout”没有被设置时,系统会一直处于等待状态而不引导任何操作系统。不设置该参数时,LILO不给出“boot:”提示而直接引导默认操作系统,除非用户按下了Shift、Ctrl、Alt三键中的任何一个。大多数情况下,如果你的硬盘上有多个操作系统,建议使用参数,它留给用户一个选择的余地。 
  17.restricted 
  与“password”联用,使“password”仅作用于在LILO提示后有命令行输入的时候。 
  18.serial=parameters 
  使用串行口控制。这将初始化指定的串口,并将使引导管理器能接受来自串口的输入。从串口发送一个中断信号相当于从控制台键盘上按下Shift键,它同样会被LILO捕捉到。如果不能保证来自串口的访问和控制台一样安全,比方说有一个modem连在串口上,建议为每个引导映像加上口令保护(password)。参数串有如下语法: 
  〈port〉[,〈bps〉[〈parity〉[〈bits〉]]] 
  〈port〉:数字表示的串口号,0表示COM1,其余类推。所有四个串口都可被使用。 
  〈bps〉:串口速率,支持110、 150、300、600、1200、2400、4800和 9600 bps,缺省值为2400bps。 
  〈parity〉:设置串口校验。一般情况下,LILO忽略奇偶校验。n表示无校验,e 表示偶校验,o 表示奇校验。 
  〈bits〉:字符位数,只能取7或8,缺省值是8。当有奇偶校验时只能取7。 
  如果设置了“serial”,即使没有设置“delay”,系统也会将“delay”项的值自动增加20。 
  19.timeout=tsecs 
  设置等待键盘输入的时长,单位是0.1秒。超过这段时间没有输入则为超时,系统将自动引导缺省的操作系统。如果不设置本参数,缺省的超时时间长度为无穷大。 
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条



手机版|小黑屋|与非网

GMT+8, 2024-11-22 03:50 , Processed in 0.107736 second(s), 15 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.