硬盘分区基础知识

硬盘安装于计算机中用于存储数据,出厂(初始)状态时犹如一张白纸,是不能直接往其中写入数据的,必须经过分区及格式化之后才能使用,分区及格式化相当于为白纸划分了不同区域(如正文区、注释区等)并分别在不同区域内画上了线条格以便于书写。格式化之后的分区就是我们通常见到的硬盘分区,如Windows系统中的C盘、D盘等等。
传统硬盘采用MBR(Master Boot Record,主引导记录)分区方式引导操作系统,与之配套使用的是BOIS(Basic Input Output System,基本输入输出系统)主板,随着技术和需求的不断发展,GPT(GUID Partition Table,全局唯一标识分区表)硬盘及UEFI(Unified Extensible Firmware Interface,统一可扩展固件接口)主板逐渐流行,后者现已常见并将成为今后的主流方向。BOIS、UEFI是主板相关术语,MBR、GPT属于硬盘相关术语,其不同组合及区别如下:

BOIS + MBR

可用,可启动操作系统。传统PC上最常见的组合方式,硬盘的主分区与扩展分区之和不能超过4个,硬盘容量最大识别到2T;操作系统启动时,顺序如下图所示:

BOIS + GPT

可用,但是无法启动操作系统。BIOS主板可以搭配GPT硬盘来作为资料盘,但不能引导系统;若电脑同时带有容量小于2T的硬盘和容量大于2T的硬盘,小于2T的可以用MBR分区方式安装操作系统,大于2T的可以使用GPT方式来存放资料,但必须使用64位操作系统。

UEFI + MBR

可用,可启动操作系统。为提高兼容性,近几年出现的UEFI主板大多采用UEFI+BIOS共存的模式,并且在BIOS中集成UEFI启动项。可以把UEFI设置成Legacy模式(传统模式)、打开CSM(Compatibility Support Module ,兼容性支持模块)模块以支持UEFI启动和非UEFI启动,其效果等同于BOIS + MBR 。

UEFI + GPT

可用,可启动操作系统。目前最常见的组合方式,也是未来的主流组合。如果要将操作系统安装于大于2T的硬盘时,必须如此设置,否则硬盘大于2T的部分无法识别;且操作系统必须使用64位的,否则无法引导。GPT方式可识别大于2T的硬盘,且理论上支持无限个分区(主分区最多为128个),操作系统启动时,顺序如下:


与传统的BOIS + MBR启动方式相比,少了BOIS自检环节,会加快启动速度;如果换上固态盘,启动速度会明显加快。

GPT 与 MBR

硬盘的GPT分区格式与MBR分区格式是可以互相转换的,但从GPT转换为MBR时,原分区数量不能超过4个,且大于2T的部分将不被识别;为以防万一,转换前备份好数据。

文件系统

确定好分区格式(MBR或者GPT)后,就可建立各分区,在进行分区格式化时,需要指定文件系统,Linux可用的文件格式包括,Ext4、Ext3、Ext2、btrfs、JFS、XFS、FAT16、FAT32等,NTFS、FAT32则是Windows常用的文件系统。Ext4、Ext3、XFS是目前Linux常用的文件系统,关于Linux文件系统的进一步论述及区别,请点击这里。

Linux系统的目录结构及硬盘分区挂载

对于一块新硬盘,假定使用MBR分区格式,如果安装Linux系统时不进行分区,Linux系统将被安装在整块硬盘中(整块硬盘为1个主分区),同安装Windows时不进行硬盘分区时的效果一样;具体来说,CentOS会自动在整块硬盘中划分出swap分区(大小与内存相当),Ubuntu则不会划分swap分区(会在挂载配置文件/etc/fstab中设置swapfile参数)。为便于系统维护和确保数据安全,在安装操作系统前应对硬盘进行分区,将操作系统安装于主分区。

Linux系统目录结构

在linux系统中,目录、字符设备、块设备、套接字、打印机等都被抽象成了文件,即“Linux系统中一切都是文件”。Linux系统中的一切文件都是从“根(/)”目录开始的,并按照文件系统层次结构标准(Filesystem Hierarchy Standard,FHS)采用树形结构来存放文件,且定义了常见目录的用途,文件和目录名称严格区分大小写。以Ubuntu系统为例,Linux系统的文件目录结构如下所示:


/usr
这是一个非常重要的目录,包含绝大多数的(多)用户工具和应用程序,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/lib
存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
/var
存放不断扩充的内容,如经常被修改的目录、文件(包含各种日志文件)等。
/boot
存放启动Linux时使用的一些核心文件,包括一些引导程序文件、链接文件、镜像文件等。
/home
用户的主目录,在Linux中,每个用户都有一个自己的目录,该目录名一般以用户账号命名,包含保存的文件、个人设置等。
/sbin
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/bin
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/etc
存放所有的系统管理所需的配置文件和子目录,如interfaces(Ubuntu)、ipcfc-*(CentOS)、fstab等。
/tmp
存放一些临时文件,在系统重启时临时文件将被删除。
/snap
Ubuntu 16.04及之后版本引入了snap包管理器,与之相关的目录、文件(包括安装文件)位于/snap中。
/lost+found
该目录一般情况下是空的,当系统非法关机后会在该目录生成一些遗失的片段。
/media
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到该目录下。
/srv
该目录存放一些服务启动之后需要提取的数据。
/cdrom
光驱目录。
/root
该目录为系统管理员用户目录。
/opt
该目录存放安装的第三方软件,如Oracle数据库就可以安装到该目录下。
/mnt
挂载其他的文件系统(含硬盘分区)的目录。
/lib64
类似lib目录,存放64位库文件。