|
Linux的分区结构
许多人被Windows误导,认为硬盘分区很简单,无外乎C: D: E: …..的盘,最多分区到Z:也就是24个分区。其实不是这样的,硬盘分区并没有你想象的那么简单!通过本文你会发现在硬盘分区方面有许多是在学习Linux之前你要学习。我们先从硬盘的结构说起,然后再讲Linux下的分区。
首先,硬盘最重要的部分是它的0磁面0磁道1扇区(clindyer 0, side 0, sector 1),在系统BIOS自检结束后,如果BIOS中定义了首先从硬盘启动,计算机就会把控制权交给了硬盘的0磁面0磁道1扇区,它又叫做“硬盘主引导扇区”。
硬盘主引导扇区由三部分组成,分别是:硬盘主引导记录(MBR)、硬盘分区表(DPT)和结束标志,其总共所占空间为512字节(512b), 其中硬盘主引导记录(MBR)446字节(0000--01BD),硬盘分区表(DPT )64字节(01BE--01FD),结束标志2字节。硬盘主引导记录是用来存放引导程序(Bootloader)的,也就是Linux中Grub程序放置的地方,负责把操作系统的内核(kernel)读入内存。
硬盘分区表用来存放硬盘分区信息,64字节被平均分为4个部分,也就是每一部分16字节,系统用这每16个字节记录一个硬盘分区,我们把这样的分区叫做主分区(Primary Partition )。一个硬盘最多只能有4个主分区,这对于计算机的发展是很不利的,随着硬盘容量的扩大这个问题渐渐的明显了,但我们又不能打破以前的分区规则,怎么办呢?我们就把4个主分区中的一个拿出来当作特殊的分区处理,在它上面建立新的分区结构。我们把这个特殊的主分区叫做扩展分区(Extended Partition),在扩展分区上划分的新结构分区叫做逻辑分区(Logical Partition)。根据规定IDE硬盘可以分63个区,SCSI硬盘可以分15个区。
大家都知道在UNIX中一切都是文件,包括我们的硬盘和分区!在Linux 里硬盘和分区都是设备文件,存放在/dev目录下。IDE设备是/dev/hdX,而SCSI设备是/dev/sdX。X是设备标签,IDE设备标签一般从a到d ,/dev/hda代表主板上主IDE插口上的主设备,/dev/hdb代表主板上主IDE插口上的从设备,/dev/hdc代表主板上从IDE插口上的主设备,/dev/hdd代表主板上从IDE插口上的从设备,我们PC机上的硬盘在Linux应你连接的不同一般是/dev/hda或/dev/hdc,我们后面的讨论以/dev/had为准。SCSI设备的命名和IDE设备有相似的地方,因此我们在这里只讨论IDE硬盘的分区。
现在我们有了一个连接在主板上主IDE插口上的主设备位置的硬盘/dev/hda ,我们开始分区,从/dev/hda1到/dev/hda4 这4个分区设备文件是为主分区预留的,我们一般在Windows里看到的C:盘就是其中之一。扩展分区可以是从/dev/hda2到/dev/hda4中的任意一个,但逻辑分区只能是从/dev/hda5开始而且一定是从/dev/hda5开始,SCSI硬盘的逻辑分区也必须从/dev/sdX5开始。
我们一般在安装Linux的时候,第一步要做的就是分区。在分区的时候一般使用的是Disk Druid分区工具或Linux自己的Fdisk分区工具。Disk Druid的优点是图形化、易操作,但缺点是只能在安装系统时使用。Linux 自己的Fdisk使用的是字符界面的交互环境,不适于初学者使用,且只能对每个硬盘的前16个分区做操作。
总的说来,Linux的分区要比Windows下麻烦很多,但这样的麻烦可以让你更了解系统低层的东西,更利于你的提高! |
|