硬盘分区表与LILO多重启动

随着Linux的热潮一浪一浪地袭来,不少电脑爱好者对它已经不陌生了。但是,如果搞不清楚硬盘分区表与引导程序LILO的关系,会使得许多初学者有一头雾水的感觉。本文就是要针对这种情况,分析一下硬盘分区表和LILO,让初学者对此有更深的了解,更好地把LILO用起来。

   硬盘分区表

  每个硬盘都有一个主引导扇区,即该盘的第0柱面第0磁头的第1扇区,上面保存着关于这个硬盘的一些至关重要的信息。其结构为:主引导记录(MBR)+ 硬盘分区表(DPT)+ 主引导扇区生效标志。其中,MBR是用来存储引导程序的;生效标志占两个字节,其值一般为AA55(16进制),表示这个硬盘是可用的,为其它值时系统将视此硬盘不存在,也就不能访问。如图1所示。 



  下面主要介绍硬盘分区表。硬盘分区表分为四个记录项,分别记录硬盘上四个分区的信息,也就是说一个硬盘可以分为1~4个逻辑分区。这四个分区相互独立,每个都占据一段完整的连续区域,分区内的逻辑扇区号都是从0开始连续编址的,就像一个独立的硬盘一样,这样就可以把一个硬盘当作多个硬盘使用了。每个分区内都可以装入不同的文件系统(如FAT、FAT32、NTFS、Linux Ext2等)和操作系统(如DOS、Windows 98/NT、Linux等)。每个分区记录项中都有一个活动标志(可引导标志)位,这个位为1时表示系统从该分区引导,即开机时启动该分区中的操作系统,而四个记录项中只能有一个活动标志为1;当四个活动标志都为0时,系统将无法引导,但如果从软盘、光盘、其它硬盘、网卡、优盘等启动系统后,这个硬盘还是可以访问的。

  在上述四个分区中,有一个可以设置为扩展分区,相应地另三个一般就称作主分区。在扩展分区内,可以设置逻辑驱动器。扩展分区的第一个扇区和主引导扇区类似,只是没有MBR。这个扇区中的DPT结构与主引导扇区中的相同,只是四个记录项中存储的内容是逻辑驱动器的信息罢了。其实我们也可以将逻辑驱动器看作和分区一样,这样一个硬盘最多就可以分为7个分区了。

   多系统引导程序LILO

  LILO(Linux Loader)是Linux中最常见的引导程序,负责将Linux的内核(Kernel)读入内存, 并将控制权交给内核。LILO 最大的好处就是它独立于文件系统,可以启动各种操作系统。现在LILO的配置也比较简单直观,大都是图形化界面(GUI)或有选单提示的,而且各种版本的Linux在安装时一般就将LILO配置好了,操作比较方便,这里就不再赘述了。对一些初学者来说,还是有一些基本知识需要明白,下面就对几个经常碰到的问题做一说明。

  1. Linux中磁盘分区的表示方法

  Linux是按顺序给磁盘编号的,硬盘用hd表示,第一个硬盘控制器(Primary IDE Controller)上的主盘(Master)用hda表示,第二个硬盘控制器(Secondary IDE Controller)上的主盘是hdb,第一个硬盘控制器上的从盘(Slave)是hdc,以此类推。以hda为例,hda的硬盘分区表中的第一个分区是hda1,第二个是hda2,以此类推。如果还划分了扩展分区,那么分区中的逻辑驱动器接着往下排,如hda5、hda6等等。

  2. 最好将LILO安装在Linux所在分区

  现在大多数Linux在安装时都推荐将LILO安装到主引导记录MBR中(如果装在第一个硬盘上,可能显示为装到/hda),其实这仅仅是为了确保在安装完后由LILO引导系统。但是,如果装完Linux后又安装其它操作系统(如Windows 98)时,可能会将MBR覆盖掉,这样LILO就会丢失,Linux就无法从硬盘启动了。如果有Linux引导软盘的话,虽然还可以启动Linux,但慢得多,也不方便。所以,最好在安装时选择将LILO装在Linux所在分区(如果是第一个硬盘的第二个分区,可能显示为装到/hda2),并用fdisk等工具将该分区激活。这样,即使别的操作系统覆盖了MBR,或者改变了激活分区导致Linux不能启动时,也只需运行fdisk /mbr清理MBR,并用fdisk将Linux分区重新激活即可使LILO重展神威了。

  3. 在大硬盘上安装使用LILO

  由于历史的原因,早先的PC机BIOS只能访问1024柱面以前的硬盘空间。Linux本身虽然不通过BIOS访问硬盘,但LILO引导Linux时却是通过BIOS访问硬盘的,所以如果Linux分区没有在1024柱面之前结束,Linux将无法启动。讨论如何在大硬盘下安装Linux的文章很多,一般的解决办法是在1024柱面之前分一个小分区放/boot目录,然后将其它目录放入别的分区。这种办法要多占一个宝贵的分区表空间,而且操作麻烦,初学者不容易弄明白。其实,现在的电脑基本上都已经支持以LBA方式访问大硬盘,优秀的LILO当然也早已支持大硬盘了。所以在大硬盘上安装Linux时,如果有LBA32选项,选上后会省去许多麻烦。如果没有LBA32选项,可以选择制作启动软盘,安装完Linux后,用软盘启动Linux后,在/etc目录中的lilo.conf文件中加入一行LBA32,然后运行lilo即可。这项操作可用vi编辑器完成,在/etc目录下运行命令启动vi编辑器,键入“i”进入插入模式,输入“LBA32”(大小写均可),回车换行,按ESC退出插入模式,按“:”进入命令模式,输入“x”保存退出。最后别忘了运行lilo命令。

  4. 用LILO实现多重启动

  进入Linux后,运行linuxconf命令,然后在树形选单中进入LILO选单,可以加入其它操作系统。如果系统没有提供linuxconf命令,同样可以编辑/etc目录下的lilo.conf文件来达到目的。举个例子,如果在第一个硬盘的第三个分区即hda3中装有Windows 98,可以用vi编辑器,在lilo.conf的末尾添加下面两行:

  other = /dev/hda3

  label = Windows98

  其中label是所装操作系统的名称。保存退出后运行lilo,这样机器再启动时就多了选择启动Windows 98的选项。加入其它操作系统可以如法炮制。

  最后,给出一个lilo.conf的示范文件以供参考:

      
      
       
       boot = /dev/hda1
map = /boot/map
timeout = 50
lba32
prompt
  message = /boot/message
  default = Windows2000
  vga = normal
  root = /dev/hda1
  read-only
install=/boot/boot.b
image = /boot/vmlinuz-2.4.2-2
  label = linux
  append = "hdc=ide-scsi"
other = /dev/hda2
  label = Windows2000
other = /dev/hda3
  label = Windows98
      
      


  对于初学者来说,清楚地了解硬盘分区表可以更容易学习和理解引导程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值