被关在窗户(windows)内这么多年的计算机爱好者们,现在终于多了linux这只小宠物,不再那么寂寞了,可惜它的翅膀还不足以带着我们冲出窗外,只好让它和“窗户”一起陪伴着我们。绝大多数用户都是先在第一个主分区安装常用的windows 9.x、nt、windows 2000,并且分区占用大部分硬盘容量,等到装linux时,分区所在位置已经大于1024柱面了,而就连市面上最新的red hat v6.2发行版也不支持大于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的发行版能升级得更快些,免得把一大批渴望“自由”的人们挡在门槛之外,被迫呼吸“窗内”的空气。