Linux发行版按照打包方式划分主要包括Debian系(基于Dpkg)、Red Hat系(基于RPM)、Slackware系等,其中Debian系、Red Hat系是我们所常见的,前者包括Ubuntu、Debian GNU/Linux等,后者包括Red Hat Enterprise Linux、CentOS、Fedora等。本文介绍硬盘分区的基础知识、Linux系统的目录结构及与硬盘分区的挂载关系、在双硬盘PC上指定分区安装Ubuntu系统的方法。
硬盘安装于计算机中用于存储数据,出厂(初始)状态时犹如一张白纸,是不能直接往其中写入数据的,必须经过分区及格式化之后才能使用,分区及格式化相当于为白纸划分了不同区域(如正文区、注释区等)并分别在不同区域内画上了线条格以便于书写。格式化之后的分区就是我们通常见到的硬盘分区,如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属于硬盘相关术语,其不同组合及区别如下:
可用,可启动操作系统。传统PC上最常见的组合方式,硬盘的主分区与扩展分区之和不能超过4个,硬盘容量最大识别到2T;操作系统启动时,顺序如下图所示:
可用,但是无法启动操作系统。BIOS主板可以搭配GPT硬盘来作为资料盘,但不能引导系统;若电脑同时带有容量小于2T的硬盘和容量大于2T的硬盘,小于2T的可以用MBR分区方式安装操作系统,大于2T的可以使用GPT方式来存放资料,但必须使用64位操作系统。
可用,可启动操作系统。为提高兼容性,近几年出现的UEFI主板大多采用UEFI+BIOS共存的模式,并且在BIOS中集成UEFI启动项。可以把UEFI设置成Legacy模式(传统模式)、打开CSM(Compatibility Support Module ,兼容性支持模块)模块以支持UEFI启动和非UEFI启动,其效果等同于BOIS + MBR 。
可用,可启动操作系统。目前最常见的组合方式,也是未来的主流组合。如果要将操作系统安装于大于2T的硬盘时,必须如此设置,否则硬盘大于2T的部分无法识别;且操作系统必须使用64位的,否则无法引导。GPT方式可识别大于2T的硬盘,且理论上支持无限个分区(主分区最多为128个),操作系统启动时,顺序如下:
与传统的BOIS + MBR启动方式相比,少了BOIS自检环节,会加快启动速度;如果换上固态盘,启动速度会明显加快。
硬盘的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文件系统的进一步论述及区别,请点击这里。
对于一块新硬盘,假定使用MBR分区格式,如果安装Linux系统时不进行分区,Linux系统将被安装在整块硬盘中(整块硬盘为1个主分区),同安装Windows时不进行硬盘分区时的效果一样;具体来说,CentOS会自动在整块硬盘中划分出swap分区(大小与内存相当),Ubuntu则不会划分swap分区(会在挂载配置文件/etc/fstab中设置swapfile参数)。为便于系统维护和确保数据安全,在安装操作系统前应对硬盘进行分区,将操作系统安装于主分区。
在linux系统中,目录、字符设备、块设备、套接字、打印机等都被抽象成了文件,即“Linux系统中一切都是文件”。Linux系统中的一切文件都是从“根(/)”目录开始的,并按照文件系统层次结构标准(Filesystem Hierarchy Standard,FHS)采用树形结构来存放文件,且定义了常见目录的用途,文件和目录名称严格区分大小写。以Ubuntu系统为例,Linux系统的文件目录结构如下所示:
对于上述目录,有些在安装时可以指定单独分区,Ubuntu安装时单独指定分区(对应于挂载点)的界面如下所示:
关于挂载点目录,说明以下3点:
在linux操作系统中, 挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。 我们要访问硬盘分区中的文件,必须将文件所在的硬盘分区挂载到一个已存在的目录上, 然后通过访问这个目录来访问硬盘分区。可以这样认为,挂载目录是硬盘分区的一个快捷方式,是访问硬盘分区的入口。
# 显示所有可用的硬盘分区
$ sudo fdisk -l
上图显示识别了2块硬盘,设备名称分别为/dev/sda、/dev/sdb,前者容量为232.9Gib,后者容量为465.8Gib;两块硬盘均建立了MBR分区表,/dev/sda1表示第一块硬盘上的第一个主分区,/dev/sda2表示第一块硬盘上的扩展分区,/dev/sda5表示第一块硬盘上的第一个逻辑分区,/dev/sda6表示第二个逻辑分区,/dev/sdb1 ~ /dev/sdb8的含义与之类似。
# 创建挂载目录
$ sudo mkdir /mnt/D
$ sudo mkdir /mnt/D
# 临时挂载硬盘分区
$ sudo mount /dev/sdb5 /mnt/D
$ sudo mount /dev/sdb6 /mnt/E
# 目录结构树形显示软件安装
$ sudo apt-get install tree
临时挂载的硬盘分区,在系统重启后会失效,若要再次访问硬盘分区,需重新挂载,为解决该问题,可永久挂载硬盘分区。
# 编辑/ect/fstab文件
$ sudo gedit /etc/fstab
新增参数的格式为:“设备文件 挂载目录 格式类型 权限选项 自检 优先级”,各字段含义如下:
编辑完成的fstab文件如下图所示,之后每次启动系统时,均会自动挂载硬盘分区。
挂载需要注意以下3点:
目前双硬盘电脑越来越多,博主的PC也不例外,为安装互不影响的双系统,博主计划在硬盘位的固态盘中安装windows系统,在光驱位的机械盘中安装Ubuntu系统;为保留机械盘中扩展分区的数据,只需在安装时删除原主分区,紧接着将该分区再次创建为用于安装CentOS的主分区、指定分区的挂载点为“根(/)”即可。安装具体步骤如下:
若要在同一块硬盘上安装双系统且保留其他分区的数据,也只需删除、新建待装CentOS的主分区,操作过程与上述步骤类似。