磁盘分区是指使用分区编辑器在磁盘上划分几个逻辑部分,也就是说,把一块大的硬盘划分为几块小的硬盘。
分区的类型
分区的类型主要有主分区、扩展分区和逻辑分区。
主分区:每块硬盘最多只能有4个主分区,可以格式化和存储数据。
扩展分区:最多只能有1个,扩展分区加上主分区最多只能有4个,扩展分区本身不能格式化和存储数据,但它可以被划分为多个逻辑分区或主分区,然后再来格式化和存储数据。不管主分区个数是否达到最大值4,由扩展分区划分的逻辑分区的设备文件名只能从 /dev/sda5
开始。
逻辑分区:可以格式化和存储数据。
格式化
格式化(高级格式化),又称逻辑格式化,是指根据用户选定的文件系统(如FAT16、FAT32、NTFS、EXT2、EXT3、EXT4等),在磁盘的特定区域写入特定的数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间。简单地说,对分区进行格式化,就是为了写入文件系统。
硬盘经过分区后,必须对分区进行逻辑格式化之后,才能在分区中写入数据。
硬件设备文件名
在 linux 中,所有的硬件设备都是文件。硬盘有设备文件名,硬盘经过分区后,每一个分区也必须有一个唯一的设备文件名,用于标示该分区。
硬件 | 设备文件名 |
---|---|
IDE硬盘 | /dev/hd[a-d] |
SCSI/SATA/USB硬盘 | /dev/sd[a-p] |
光驱 | /dev/cdrom 或 dev/sr0 |
软盘 | /dev/fd[0-1] |
打印机(25针) | /dev/lp[0-2] |
打印机(USB) | /dev/usb/lp[0-15] |
鼠标 | /dev/mouse |
第一块 SCSI 硬盘的设备文件名就是 /dev/sda
,第二块SCSI硬盘的设备文件名就是 /dev/sdb
,以此类推。
/dev/sda
的第一个主分区的设备文件名是 /dev/sda1
,第二个主分区的设备文件名是 /dev/sda2
,以此类推。
在windows系统中,硬盘经过分区、格式化和分配盘符后就可以使用。
在linux系统中,多了一个“建立设备文件名”的步骤,即硬盘经过分区、建立分区设备文件名、格式化和分配挂载点后才可以使用。
设备文件名是 linux 系统自动识别和创建的。
IDE硬盘接口、 SCSI 硬盘接口、 SATA 硬盘接口、 USB 硬盘接口,是根据硬盘的接口类型来区分的,不同类型的硬盘支持的最高数据传输速度也不同。IDE 硬盘属于最古老的硬盘类型,传输速度最慢;目前最普遍的硬盘都是 SATA 串口硬盘,传输速度较快。
挂载
挂载指的是将设备文件名和挂载点关联起来的过程。相当于 windows 系统中的分配盘符的操作,挂载点相当于 windows 系统的盘符。
windows 系统是用 C、D、E、F 等作为盘符,而 linux 系统是用空目录作为挂载点。理论上说,任何一个空目录都可以作为挂载点,个别特殊的空目录除外。
分区时,必须进行挂载的分区有:
/
(根分区)swap
分区,即交换分区。 一般指定为内存的2倍,但不超过2GB。交换分区相当于系统的虚拟内存,它比较特殊,没有挂载点。因为它是给系统来自动使用的,而不是给用户操作的。
一般来说,有了上面两个分区后,linux 就可以正常安装和使用。但推荐单独分一个 boot 分区(启动分区),将一个主分区挂载到 /boot 挂载点上,分配200MB的大小就足够了。启动分区里面存放的是和 linux 系统启动相关的文件。单独分一个启动分区的目的,是为了防止根分区被写满后,导致系统无法启动的问题发生。
一般按照启动分区(挂载点为 /boot
)、交换分区(没有挂载点)和根分区(挂载点为 /
)的顺序来进行分区操作
文件系统结构
linux系统的文件系统结构非常特殊,它和Windows系统很不相同。
/
是所有其他目录的根目录,根目录下一般会有 /boot
、/etc
、/home
等子目录。
假如,我们将 /dev/sda1
挂载到 /boot
上,将 /dev/sda2
挂载到 /home
上,将 /dev/sda3
挂载到 /
上。当我们向 /
中写入数据时,数据是保存在 /dev/sda3
分区上的;当我们向 /home
中写入数据时,数据却是保存在 /dev/sda2
分区上的。从文件系统结构上来看,/home
是 / 的子目录;但从硬盘上来看, /home
和 /
的硬盘空间却是独立的。
/
根目录是必须要进行分区的,根目录下面的子目录也可以单独分区(即单独分配磁盘空间)。