磁盘分区是指使用分区编辑器在磁盘上划分几个逻辑部分,也就是说,把一块大的硬盘划分为几块小的硬盘。
1. 分区的类型
分区的类型主要有主分区、扩展分区和逻辑分区。
主分区:每块硬盘最多只能有4个主分区,可以格式化和存储数据。
扩展分区:最多只能有1个,扩展分区加上主分区最多只能有4个,扩展分区本身不能格式化和存储数据,但它可以被划分为多个逻辑分区或主分区,然后再来格式化和存储数据。不管主分区个数是否达到最大值4,由扩展分区划分的逻辑分区的设备文件名只能从 /dev/sda5 开始。
逻辑分区:可以格式化和存储数据。
2. 格式化
格式化(高级格式化),又称逻辑格式化,是指根据用户选定的文件系统(如FAT16、FAT32、NTFS、EXT2、EXT3、EXT4等),在磁盘的特定区域写入特定的数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间。简单地说,对分区进行格式化,就是为了写入文件系统。
硬盘经过分区后,必须对分区进行逻辑格式化之后,才能在分区中写入数据。
3. 硬件设备文件名
在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串口硬盘,传输速度较快。
4. 挂载
挂载指的是将设备文件名和挂载点关联起来的过程。相当于windows系统中的分配盘符的操作,挂载点相当于windows系统的盘符。
windows系统是用C、D、E、F等作为盘符,而linux系统是用空目录作为挂载点。理论上说,任何一个空目录都可以作为挂载点,个别特殊的空目录除外。
分区时,必须进行挂载的分区有:
- / (根分区)
- swap分区,即交换分区。 一般指定为内存的2倍,但不超过2GB。交换分区相当于系统的虚拟内存,它比较特殊,没有挂载点。因为它是给系统来自动使用的,而不是给用户操作的。
一般来说,有了上面两个分区后,linux就可以正常安装和使用。但推荐单独分一个boot分区(启动分区),将一个主分区挂载到 /boot 挂载点上,分配200MB的大小就足够了。启动分区里面存放的是和linux系统启动相关的文件。单独分一个启动分区的目的,是为了防止根分区被写满后,导致系统无法启动的问题发生。
一般按照启动分区(挂载点为 /boot)、交换分区(没有挂载点)和根分区(挂载点为 / )的顺序来进行分区操作
5. 文件系统结构
linux系统的文件系统结构非常特殊,它和Windows系统很不相同。
/ 是所有其他目录的根目录,根目录下一般会有 /boot、/etc、/home等子目录。
假如,我们将 /dev/sda1 挂载到 /boot 上,将 /dev/sda2 挂载到 /home 上,将 /dev/sda3 挂载到 / 上。当我们向 / 中写入数据时,数据是保存在 /dev/sda3 分区上的;当我们向 /home 中写入数据时,数据却是保存在 /dev/sda2 分区上的。从文件系统结构上来看,/home 是 / 的子目录;但从硬盘上来看, /home 和 / 的硬盘空间却是独立的。
/ 根目录是必须要进行分区的,根目录下面的子目录也可以单独分区(即单独分配磁盘空间)。