当前位置:Linux教程 - Linux - Linux在大硬盘的安装技巧

Linux在大硬盘的安装技巧



        


    由于历史的原因, BIOS的INT13磁盘功能调用里的柱面(cylinder)只有10bit,2^10 = 1024, 也即柱面参数只能是0-1023. 对于大于520M的硬盘, 因磁头数限为16, 扇区数限为63, 柱面数将大于1024. 为解决这个问题, BIOS采用了逻辑块寻址方式(LBA, Logical Block Addres), BIOS将硬盘加以伪装, 使柱面数小于1024. 例如,540M的硬盘在LBA下将变成:

    cyl=524; sect=63; head=32;

    而实际是;

    cyl=1048; sect=63; head=16;

    在LBA模式下, BIOS对INT13的参数进行重新影射, 使之符合真正的硬盘情况.

    对于Linux而言, INT13的任何限制都不重要, 因为Linux自己有磁盘驱动程序, 并不通过INT13进行I/O. BIOS设置成硬盘的实际参数, Linux将正确无误的进行I/O.

    问题出在以下两个方面:

    1)若硬盘上同时有DOS分区, 则该分区将限于前520M空间内.

    2)Linux的Boot程序LILO(Linux Loader)也受到极大限制. LILO对磁盘的操作是基于BIOS的. LILO负责将Linux的kernel读入内存, 并将控制权交给kernel. 这就使的kernel必须也在硬盘的前520M空间内. 实际上,kernel在Linux的文件系统中一般在根目录下, 称为vmlinuz. 很难限定其物理位置.

    如果不想牺牲520M以后的硬盘空间, 我们必须解决这一问题.

    方法如下(以1G硬盘为例,其物理参数为:cyl=2100;sect=63;head=16;

    LBA下参数为:cyl=505;sect=63;head=64):

    1)在BIOS中, 将硬盘设为LBA模式

    2)用DOS的FDISK开一个DOS分区(不开也可, 大小自定)

    3)用Linux的BOOT安装盘启动计算机, 在boot提示出现后, 敲入硬盘的实际物理参数,

    ramdisk hd=2100,16,63

    这样Linux的kernel就将该参数作为硬盘的实际参数

    4)根据提示插入root盘

    5)用root登录

    6)对硬盘的进行分区,

    fdisk /dev/hda

    敲入p,(print partition table), 若以有DOS分区, 就会出现一大堆错误提示, 不理它. 敲入x,进入expert模式, 将柱面数设为505,磁头数设为64,退出expert模式,敲入p,以前的错误提示不再出现. 下面就进行正常分区.

    7)用setup安装所需软件. 在安装LILO时,使之装在硬盘的MBR区(Main Boot Record),以便启动Linux和装在其它分区的OS, 如DOS,OS/2等

    8)编辑/etc/lilo.conf, 在文件头加入以下两行:

    append="hd=2100,16,63"

    linear

    9)运行/sbin/lilo, 重新生成LILO数据.

    10)reboot系统
    发布人:netbull 来自:网站建设大全