硬盘的分区主要分为基本分区(primary partion)和扩充分区(extension partion)两种,基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩充分区再分下去的是什么呢?它就是逻辑分区(logical partion),况且逻辑分区没有数量上限制。
对于使用DOS或Windows的用户来说,有几个分区就有几个驱动器,并且每个分区都会获得一个字母标识符,然后就可以选用这个字母来指定在这个分区上的文件和目录,它们的文件结构都是独立的,非常好理解。但对这些初上手red hat linux的用户,可就有点恼人了。因为对red hat linux用户来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。red hat linux中每个分区都是用来组成整个文件系统的一部分,因为它采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
在 Linux中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE或 SCSI 设备也不例外。Linux把各种 IDE 设备分配了一个由 hd前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。
对于ide硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指ide硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个ide硬盘上的第三个主分区或扩展分区,hdb2表示为第二个ide硬盘上的第二个主分区或扩展分区。对于scsi硬盘则标识为“sdx~”,scsi硬盘是用“sd”来表示分区所在设备的类型的,其余则和ide硬盘的表示方法一样。
在 Linux中规定,每一个硬盘设备最多能有 4个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4个。
对于早期的 DOS 和 Windows(Windows 2000以前的版本),系统只承认一个主分区,可以通过在扩展分区上增加逻辑盘符(逻辑分区)的方法,进一步地细化分区。
主分区的作用就是计算机用来进行启动操作系统的,因此每一个操作系统的启动,或者称作是引导程序,都应该存放在主分区上。这就是主分区和扩展分区及逻辑分区的最大区别。
我们在指定安装引导 Linux的 bootloader 的时候,都要指定在主分区上,就是最好的例证。
Linux 规定了主分区(或者扩展分区)占用 1至 16 号码中的前 4个号码。以第一个 IDE 硬盘为例说明,主分区(或者扩展分区)占用了 hda1、hda2、hda3、hda4,而逻辑分区占用了hda5 到 hda16 等 12 个号码。因此,Linux 下面每一个硬盘总共最多有 16个分区。对于逻辑分区,Linux 规定它们必须建立在扩展分区上(在 DOS 和 Windows 系统上也是如此规定),而不是主分区上。因此,我们可以看到扩展分区能够提供更加灵活的分区模式,但不能用来作为操作系统的引导。 除去上面这些各种分区的差别,我们就可以简单地把它们一视同仁了。
Linux 支持多种的文件系统格式,其中包含了我们熟悉的FAT32、FAT16、NTFS、HP-UX,以及各种Linux 特有的 Linux Native和 Linux Swap分区类型。
磁盘分区工具fdisk
--- fdisk是一个基于MBR(主引导分区)的分区工具,所以如果需要使用GPT,则无法使用fdisk进行分区。
是IBM设计给PC使用的。
一般情况下,把操作系统所在的分区设置为主分区,其他的都为扩展分区(不能用),扩展分区再分为逻辑分区就能用。
逻辑分区的分区号永远是从5开始。5 or over
特征:
1) fdisk命令只有具有超级用户权限才能够运行,基本上所有磁盘操作命令都是特权级的,位置都是在/sbin下面。
su - 切换到root用户
2) 使用$ sudo fdisk –l 可以列出所有安装的磁盘及其分区信息。
3) 使用$ sudo fdisk /dev/sda 可以对目标磁盘进行分区操作。
4) 输入m可以看帮助信息,id是用来标识分区类型,主分区还是扩展分区。
用-p可以输出硬盘分区表的信息。
用-n可以增加/创建新的分区,要选择新建的分区类型,是主分区还是扩展分区,选择p或是e。(primary/extension)在增加分区的时候,其类型都是默认的Linux Native,如果需要把其中的某些分区改变为其它类型,例如Linux Swap或FAT32等,可以通过命令t来改变,当按下“t”改变分区类型的时候,系统会提示要改变哪个分区,并且改变成什么类型。
改变完了分区类型,就可以按下“w”,保存并且退出;如果不想保存,可以按下“q”直接退出。
未输入w之前,分区表的信息是保存在内存中的,并没有写入磁盘,这时退出的话,并不保存所做的分区信息。
输入w:输出:The partition table has been altered! 分区表已经被修改了
Calling ioctl() to re-read partition table, Syncing disks.(同步硬盘)
5) 分区之后需要使用partprobe命令让内核(kernel)更新分区信息,否则需要重启才能识别新的分区。
6) $ cat /proc/partitions文件也可用来查看分区信息。
分区后要创建文件系统后才能使用,操作系统通过文件系统管理文件及数据。
磁盘或分区需要创建文件系统之后才能够为操作系统所用,创建文件系统的过程又称为格式化。