当前位置:Linux教程 - Linux - 让Linux冲破1024柱面的限制

让Linux冲破1024柱面的限制

作者:胡向荣

目前市面上大多数的Linux发行版都不支持大于1024柱面的分区作为/Root区。那么如何冲破1024柱面的限制就成了养活这只小企鹅的关键了。

  被关在窗户(Windows)内这么多年的计算机爱好者们,现在终于多了Linux这只小宠物,不再那么寂寞了,可惜它的翅膀还不足以带着我们冲出窗外,只好让它和“窗户”一起陪伴着我们。绝大多数用户都是先在第一个主分区安装常用的Windows 9.x、NT、Windows 2000,并且分区占用大部分硬盘容量,等到装Linux时,分区所在位置已经大于1024柱面了,而目前市面上大多数的Linux发行版都不支持大于1024柱面的分区作为/Root区。那么如何冲破1024柱面的限制就成了养活这只小企鹅的关键了。

  Linux中的Disk Druid工具分区功能不强,在分/Root区时,无论分区容量多大,总显示Boot Partion too big(引导分区太大),且Allocation Failed(分区失败)。这是由于BIOS的限制,对于IDE硬盘,引导分区应包含在硬盘前1024柱面内,当Linux起引导作用的根目录分区超过1024柱面时,分区失败,而划分其他区则没问题。解决办法是改用Linux中的Fdisk工具,将/Root区设为第三个主分区(即/dev/hda3,千万不要安装在逻辑分区上),并分配好大小。然后再返回到Druid工具,编辑该分区,在Mount Point中选“/”,/Root分区即告分配完毕。其他分区(如:swap区)应直接在Druid中建立。请注意,如不使用Bootstar等特殊的分区工具,一个硬盘上最多建立三个主分区和一个扩展分区(可分成四个逻辑分区)!

  接下来,我们会遇到设置启动模式,Linux提供LILO作为启动工具,可以管理各个操作系统的启动。但如果你安装的是Windows NT或Windows 2000,并且想使用它们所带的引导装载程序来实现双重启动,那么在设置Install LILO boot record on选项时一定要选First sector of boot partion,Default boot image选DOS。可是,Linux的引导程序根本没有写到Linux的引导分区(即/Root分区)的引导扇区中,你只能进入Windows。Linux内核载入程序LILO,长久以来一直无法由 1024柱面后的硬盘分区载入操作系统内核。有的书上介绍可用Linuxconf配置LILO选项,或编辑/etc/lilo.conf后运行LILO,重写引导扇区,可这仍然跨越不了1024柱面这道门槛。好在天无绝人之路,这个FAQ级的问题,终于在LILO 21.4.2 版出现后正式成为历史。LILO 21.4.2采用了所谓 EDD BIOS 延伸功能,破除了1024 柱面开机的限制,并且一口气将支持的硬盘大小增加到2TB。更方便的是,我们的软件特供中就提供了LILO 21.4.3,只要在Linux下用“gunzip lilo.tar.gz|tar xvf-”命令解压缩后,用Make命令编译,即可生成新版的LILO程序。接下来的事我不说你也知道,编辑/etc/lilo.conf后,执行lilo -L命令(-L参数不可少),一切OK!

  费了这么大事,才解决 1024柱面的问题,真希望Linux的发行版能升级得更快些,免得把一大批渴望“自由”的人们挡在门槛之外,被迫呼吸“窗内”的空气。