前言
对于该文章仅适用于个人Linux电脑,笔者暂时没有深入研究运维方面的服务器Ubuntu系统安装和分区配置,有待后续更新。
目录
[(一)在了解硬盘分区前,先明确硬盘的主要分类及 Linux 系统中的标识规则:](#(一)在了解硬盘分区前,先明确硬盘的主要分类及 Linux 系统中的标识规则:)
[(二)硬盘分区表格式与 BIOS 引导方式的对应关系及系统适配](#(二)硬盘分区表格式与 BIOS 引导方式的对应关系及系统适配)
[(1)分区表格式与 BIOS 引导方式的核心差异](#(1)分区表格式与 BIOS 引导方式的核心差异)
[GPT 分区表的底层逻辑](#GPT 分区表的底层逻辑)
[(三)理解 Ubuntu 分区的核心概念](#(三)理解 Ubuntu 分区的核心概念)
[1.EFI 系统分区(/boot/efi)](#1.EFI 系统分区(/boot/efi))
[(1)大小:300MB -- 1GB](#(1)大小:300MB – 1GB)
[2.Swap 交换分区(Swap Space)](#2.Swap 交换分区(Swap Space))
(2)类型:逻辑分区 (如果是 GPT 硬盘则无此概念,直接创建即可)
[(3)文件系统:选择"交换空间 (linux swap partition)"](#(3)文件系统:选择“交换空间 (linux swap partition)”)
[(1)大小:50GB -- 100GB(建议至少 50GB,对于开发者建议 80GB-100GB)](#(1)大小:50GB – 100GB(建议至少 50GB,对于开发者建议 80GB-100GB))
(2)类型:逻辑分区 (如果是 GPT 硬盘则无此概念,直接创建即可)
(3)文件系统:ext4(兼容性强,稳定性高,适合大多数场景)
(2)类型:逻辑分区 (如果是 GPT 硬盘则无此概念,直接创建即可)
[1. 简化分区管理,降低门槛](#1. 简化分区管理,降低门槛)
[2. 空间利用更灵活](#2. 空间利用更灵活)
[3. 适合小容量存储或临时系统](#3. 适合小容量存储或临时系统)
[4. 对 "数据安全性" 要求不高的场景](#4. 对 “数据安全性” 要求不高的场景)
[一、使用传统分区工具调整(如 GParted)](#一、使用传统分区工具调整(如 GParted))
[二、推荐使用 LVM(逻辑卷管理)](#二、推荐使用 LVM(逻辑卷管理))
一、基础知识
分区是将硬盘分割成一个或多个逻辑部分的过程。每个分区都被视为一个独立的存储设备,可以单独格式化、挂载和管理。在Ubuntu系统中,通常会有根分区、家目录分区、交换分区等不同类型的分区。在Ubuntu系统中,常用的文件系统包括ext4、btrfs、xfs等。
(一)在了解硬盘分区前,先明确硬盘的主要分类及 Linux 系统中的标识规则:
硬盘主要分为三类:IDE 硬盘、SCSI 硬盘和 SATA 硬盘。在 Linux 系统中,IDE 接口硬盘被统一称为 "hd",而 SCSI 与 SATA 接口硬盘则统称为 "sd"。目前 IDE 硬盘已基本淘汰,市面上最常见的是 SATA 接口硬盘,其在系统中的标识按顺序依次为 sda(第 1 块)、sdb(第 2 块)等。
关于硬盘分区的核心规则如下:
- 分区类型:硬盘分区分为主分区、扩展分区和逻辑分区。其中主分区最多只能有 4 个;扩展分区是主分区以外的分区(可不存在),但硬盘必须至少有一个主分区。主分区中需有一个激活分区,用于启动 Windows/Linux 系统。主分区(Primary Partition) :可以用来直接安装操作系统或存储数据。一个硬盘最多可以有四个主分区。扩展分区(Extended Partition):扩展分区本身不能直接使用,它需要被进一步划分为逻辑分区。扩展分区的主要作用是突破四个主分区的限制。
- 合理分区方式:为充分利用主分区名额,最合理的方案是划分 3 个主分区和 1 个扩展分区,再在扩展分区内建立若干逻辑分区。
- Linux 系统中的分区标识:单块硬盘最多支持 16 个分区。4 个主分区依次标识为 sda1、sda2、sda3、sda4;逻辑分区从 sda5 开始,依次到 sda16。
(二)硬盘分区表格式与 BIOS 引导方式的对应关系及系统适配
(1)分区表格式与 BIOS 引导方式的核心差异
磁盘分区表主要有两种格式,对应的 BIOS 引导方式也分为两类,核心特性如下:
- MBR 分区表:传统格式,仅支持最大 2.2TB 硬盘和最多 4 个主分区,适配Legacy BIOS(传统 BIOS) 引导方式。
- GPT 分区表:属于 UEFI 规范的一部分,支持超百 TB 硬盘和最多 100 个主分区,适配UEFI BIOS(新型 BIOS) 引导方式,原生支持大容量硬盘更高效。
注:现在主流的分区表类型是 GPT(GUID Partition Table) ,尤其在新设备和大容量存储场景中已成为标准选择。后面方案主要以UEFI+GPT为主。
(2)不同系统下的适配规则
- Windows 系统
- Legacy BIOS 引导:需搭配 MBR 分区表。对于 32 位系统,可通过厂商(如华硕、技嘉、希捷)的 "虚拟磁盘" 技术在 MBR 分区下使用 2TB 以上硬盘,但体验不如原生支持。
- UEFI BIOS 引导:需搭配 GPT 分区表,原生支持大容量硬盘,尤其对 Windows 7 用户更友好,无需额外技术适配。
- 演示Windows11下如何查看BIOS类型
WIN+R输入msinfo32

点击确定

- Linux 系统(以 Ubuntu 为例)
- Legacy BIOS 引导:必须使用 MBR 分区表,按常规划分/、/boot、swap、/home等分区即可。
- UEFI BIOS 引导:必须使用 GPT 分区表,且需额外创建ESP 分区(EFI 系统分区)(注:ESP 分区即 EFI 分区,为系统引导关键分区),划分/、/boot等分区时,严禁删除 ESP 分区,否则会导致系统重启时出现 "Invalid Partition Table(无效分区表)" 错误。
(3)关于GPT分区表的简要说明
在 GPT 分区表下,所有分区本质上都是主分区,没有逻辑分区的概念,也不存在主分区与逻辑分区的区分限制。这是 GPT 相对于 MBR 的核心改进之一,具体原理和使用方式如下:
GPT 分区表的底层逻辑
-
无主分区数量限制
GPT 通过全局唯一标识符(GUID)管理分区,理论上支持最多 128 个主分区。这种设计彻底打破了 MBR 的 "4 主分区" 限制,用户可直接创建多个独立主分区(如 /、/home、/boot 等),无需依赖扩展分区或逻辑分区。
-
分区类型由 GUID 标识
GPT 通过分区类型 GUID区分不同功能的分区,例如:
- Linux 根目录(/)的类型 GUID 为
0FC63DAF-8483-4772-8E79-3D69D8477DE4
; - EFI 系统分区(ESP)的类型 GUID 为
C12A7328-F81F-11D2-BA4B-00A0C93EC93B
。
这些 GUID 仅用于标识分区用途,与分区类型(主 / 逻辑)无关。
- Linux 根目录(/)的类型 GUID 为
-
分区表结构简化
GPT 分区表直接存储在磁盘的特定位置(如 LBA 1),并包含备份分区表以提高可靠性。所有分区平等存在,无需像 MBR 那样通过扩展分区嵌套逻辑分区,因此创建 /home 分区时只需指定挂载点和文件系统即可。
-
理解主分区与逻辑分区限制: 对于使用 MBR 分区表的硬盘,你最多只能创建 4 个主分区。如果你需要更多分区,则必须将其中一个主分区设置为"扩展分区",然后在扩展分区内部创建逻辑分区。GPT 分区表则没有这种限制,可以创建更多分区。
(4)关键注意事项
- 若 UEFI BIOS 引导的主机使用 MBR 分区表,或 GPT 分区表下删除 ESP 分区,都会导致系统安装后无法正常启动。
- GPT+UEFI 组合对大容量硬盘的支持是原生且高效的,优于 MBR 分区表在 32 位系统中的兼容方案。
(三)理解 Ubuntu 分区的核心概念
(1)文件系统 (File System): 文件系统是操作系统用来组织和存储文件的方法。对于 Linux 系统,ext4 是目前最常用且推荐的文件系统,它提供了良好的性能和稳定性。
(2)挂载点 (Mount Point): 在 Linux 中,所有存储设备和分区都必须"挂载"到文件系统树的一个特定目录上,这个目录就是挂载点。例如,根目录 / 是整个文件系统的起点。
(3)主分区 (Primary Partition) 与 逻辑分区 (Logical Partition):
主分区: 直接定义在硬盘的 MBR(主引导记录)或 GPT(GUID 分区表)中。MBR 硬盘最多支持 4 个主分区。
逻辑分区: 为了突破 MBR 硬盘主分区数量的限制,可以在一个主分区(扩展分区)内创建多个逻辑分区。GPT 硬盘则没有主分区和逻辑分区的概念,可以直接创建大量分区。
(4)UEFI 与 BIOS 启动模式:
UEFI (Unified Extensible Firmware Interface): 现代计算机普遍采用的启动模式,支持更大的硬盘和更快的启动速度。UEFI 系统需要一个 EFI 系统分区 (EFI System Partition, ESP) 来存放引导文件。
**Legacy BIOS (Basic Input/Output System):**传统的启动模式,通常用于老旧设备。BIOS 模式下不需要 EFI 分区。
二、常见分区推荐方案
1.EFI 系统分区(/boot/efi)
(1)大小:300MB -- 1GB
(2)类型:主分区
(3)文件系统:FAT32
(4)挂载点:/boot/efi
(5)说明:
该分区是 UEFI BIOS 引导模式下(搭配 GPT 分区表)Linux 系统(如 Ubuntu)的核心引导分区。其核心参数与特性如下:
- 文件系统要求 :必须格式化为FAT32。这是 UEFI 固件的标准要求,因为 FAT32 具有跨平台兼容性,可被 Windows、Linux、macOS 等主流操作系统识别,确保引导程序能被多系统环境下的 UEFI 固件正确读取。
- 分区类型标识 :在 GPT 分区表中,该分区的类型标识为EFI 系统分区(类型 GUID:C12A7328-F81F-11D2-BA4B-00A0C93EC93B),与文件系统类型(FAT32)是两个独立概念。
- **大小方面:**一般是300MB/512MB就够了,但如果需要后续引导多系统就要1GB或者大一些。
- 核心功能 :
- 存储 UEFI 引导程序(如 GRUB)、内核镜像及启动配置文件,是系统启动的 "入口"。
- 支持 UEFI 固件直接访问引导文件,确保系统快速启动和安全启动功能正常运行。
- 操作注意事项 :
- 严禁删除或格式化该分区,否则会导致系统启动失败(如出现 "Invalid Partition Table" 错误)。
- 挂载点必须设置为 **/boot/efi**,而非传统 BIOS 模式下的 "/boot",以确保 UEFI 固件能正确识别引导路径。
- 若手动分区,需使用工具(如
gdisk
)明确指定分区类型为 EFI 系统分区,并格式化为 FAT32。
2.Swap 交换分区(Swap Space)
(1)大小:
- 常规建议 :通常为物理内存的 1-2 倍 ,但需结合实际场景调整。例如:
- 内存 ≤ 4GB:建议设置为 4-8GB;
- 内存 4-16GB:建议设置为 8-16GB;
- 内存 ≥ 16GB:可适当减少(如 2-4GB),甚至可关闭(但需禁用休眠功能)。
- 特殊需求 :若需启用休眠(Hibernate)功能,Swap 大小需 ≥ 物理内存,以确保休眠文件能完整写入磁盘。
(2)类型:逻辑分区 (如果是 GPT 硬盘则无此概念,直接创建即可)
- MBR 分区表 :通常作为 逻辑分区 存在于扩展分区中(受限于 MBR 的 4 主分区限制)。
- GPT 分区表 :可设置为 主分区,无主分区数量限制。
- 分区类型标识 :
- MBR 中需设置为 Linux Swap(类型代码 8200);
- GPT 中需设置为 Swap 类型 GUID(0657FD6D-A4AB-43C4-84E5-0933C84B4F4F)。
(3)文件系统:选择"交换空间 (linux swap partition)"
(4)挂载点:(通过系统配置自动激活,无需挂载到目录)
(5)说明:
- 核心功能:当物理内存不足时,Swap 分区作为虚拟内存扩展,临时存储不活跃的内存数据,避免系统因内存耗尽崩溃。
- 设置原则 :
- 性能权衡:Swap 空间过大会增加磁盘 I/O 负担,影响系统响应速度;过小则无法有效缓解内存压力。
- 休眠依赖 :若需使用休眠功能(将内存状态保存到磁盘),Swap 大小必须 ≥ 物理内存,否则休眠功能无法启用。
- 分区工具建议 :
- MBR 环境下,使用
fdisk
或parted
工具创建逻辑分区并设置类型为 8200; - GPT 环境下,使用
gdisk
工具创建主分区并指定 Swap 类型 GUID。
- MBR 环境下,使用
- 系统配置 :
- 通过
/etc/fstab
文件自动激活 Swap 分区(例如:/dev/sdaX swap swap defaults 0 0
); - 可通过
swapon -a
命令手动启用,或swapoff -a
关闭。
- 通过
- 现代趋势 :对于内存充足的系统(如 ≥ 16GB),Swap 分区可适当缩小甚至省略,但需通过
sysctl
调整swappiness
参数(默认 60,表示内存使用率达 60% 时启用 Swap),以优化内存使用策略。 - 类型方面: 逻辑分区 (如果是 GPT 硬盘则无此概念,直接创建即可),我这里表达的是传统Legacy BIOS下的MBR 分区表情况下是逻辑分区;但是 GPT 分区表情况下就没有限制了没有逻辑分区概念了就全是主分区。
3.根目录(/)
(1)大小:50GB -- 100GB(建议至少 50GB,对于开发者建议 80GB-100GB)
- 最小需求 :至少 10GB(适用于最小化安装的服务器或轻量级系统)。
- 推荐配置 :
- 个人桌面 / 工作站:20GB--50GB(需预留系统更新、软件安装及临时文件空间)。
- 服务器 / 高负载环境:50GB 以上(根据日志、数据库等数据量调整,如 Web 服务器建议 100GB+)。
- 动态扩展 :若使用 LVM(逻辑卷管理),可通过扩容卷组动态调整根目录大小,避免空间不足问题。
(2)类型:逻辑分区 (如果是 GPT 硬盘则无此概念,直接创建即可)
- MBR 分区表 :可作为 主分区 或 逻辑分区(受限于 MBR 的 4 主分区限制,通常与扩展分区配合使用)。
- GPT 分区表 :直接创建为 主分区,无主分区数量限制。
- GPT 类型标识 :在 GPT 分区表中,根目录的类型 GUID 为 0FC63DAF-8483-4772-8E79-3D69D8477DE4(Linux 文件系统通用类型)。
(3)文件系统:ext4(兼容性强,稳定性高,适合大多数场景)
- 其他选项 :
- XFS:适合大文件和高吞吐量场景(如数据库服务器)。
- Btrfs:支持快照、校验和及弹性扩展,适合需要高级功能的系统。
- ZFS:提供数据冗余和压缩功能,但需额外内核模块支持。
(4)挂载点:/(固定挂载点,不可更改)
(5)说明:
- 核心功能 :
- 根目录是 Linux 文件系统的起点,包含所有系统文件、用户文件、应用程序及配置文件(如
/etc
、/usr
、/var
等)。 - 直接影响系统稳定性,若空间不足可能导致服务异常(如日志无法写入、软件更新失败)。
- 根目录是 Linux 文件系统的起点,包含所有系统文件、用户文件、应用程序及配置文件(如
- 分区策略 :
- 独立分区建议 :若追求精细化管理,可将
/home
、/var
、/tmp
等目录单独分区,避免根目录被单一目录占满。 - LVM 优势 :通过 LVM 将根目录创建为逻辑卷,可灵活扩展空间(如添加新硬盘后通过
vgextend
和lvextend
命令扩容)。
- 独立分区建议 :若追求精细化管理,可将
- 操作注意事项 :
- 避免在根目录下直接存储大量用户数据,建议将数据存放在独立分区(如
/home
)。 - 格式化时需指定正确的文件系统类型(如
mkfs.ext4 /dev/sdaX
),并通过/etc/fstab
配置自动挂载。 - 若使用 GPT 分区表,需确保根目录分区类型 GUID 正确设置,否则可能导致系统无法识别。
- 避免在根目录下直接存储大量用户数据,建议将数据存放在独立分区(如
- 性能优化 :
- 对 SSD 硬盘,可启用
discard
选项(在/etc/fstab
中添加discard
参数)以提升性能并延长寿命。 - 定期清理临时文件(如
/tmp
目录),避免空间碎片化。
- 对 SSD 硬盘,可启用
补充说明:
- 根目录的大小需根据实际需求动态调整。例如,安装图形界面(如 GNOME/KDE)可能需要额外 5GB--10GB 空间;运行容器或虚拟机时,建议预留更多空间。
- 在多系统环境中,根目录应独立于其他系统分区,避免文件冲突。若使用 LVM,可通过卷组共享物理磁盘资源,但需注意不同系统对 LVM 的支持差异。
4.用户目录(/home)
(1)大小:剩余所有空间
(2)类型:逻辑分区 (如果是 GPT 硬盘则无此概念,直接创建即可)
- GPT 分区表:直接创建为主分区(无主分区数量限制,无需依赖扩展分区)。
- MBR 分区表:通常作为逻辑分区(受限于 4 主分区限制,需先创建扩展分区后再划分)。
(3)文件系统:ext4
(4)挂载点:/home
(5)说明:
/home 是 Linux 系统中存储用户个人数据的核心分区,包含所有用户的文档、下载文件、桌面数据、浏览器缓存、应用程序配置(如.bashrc
、.config
目录)等。
将 /home 独立分区的核心价值在于:
- 数据安全:重装系统或升级根目录(/)时,可直接保留 /home 分区,避免用户数据丢失;
- 管理灵活:可单独对 /home 进行扩容、备份(如通过 btrfs 快照)或修复,不影响系统核心文件;
- 权限隔离:用户数据与系统文件分离,降低误操作(如删除系统文件)对个人数据的影响。
- 尤其是对于作为服务器来说,因为需要经常被访问可能导致系统文件出现问题,而独立分区的/home出来的用户配置数据不会被"污染",可以保留下来用于重载系统时用上之前的配置。
三、个人推荐分区方案
前提条件: 对于磁盘空间/硬件条件较低的读者就使用该方案,若是磁盘空间足够且配置较高请使用常见分区推荐方案,原因:对于"开发老司机",如果经常折腾开发,/home独立分区隔离出来对于出现问题导致系统挂了,重装系统就可以继续使用之前的/home下的配置,这十分重要。
分区 | 推荐大小 | 类型 | 文件系统 | 挂载点 | 说明 |
---|---|---|---|---|---|
EFI(boot) | 300MB/1GB | 主分区 | FAT32 | /boot/efi | UEFI 引导分区 |
Swap | 16GB | 逻辑分区 | 交换空间 | - | 虚拟内存 (假设物理内存16GB) |
/ | 剩余空间 | 逻辑分区 | ext4 | / | 系统核心、应用程序安装与用户文件 |
注:这个需要根据个人习惯和个人需求的实际情况,同时,作为一名开发者的身份,在这里说明一下:
(1)引导分区
引导分区取决于你是否会用到多系统,即多系统的情况下需要对应的引导配置存放在该引导分区中。
(2)Swap分区
Swap分区要根据自己的实际物理内存和需求来看,现在笔记本一般是16GB的内存,笔者这里是因为有些时候需要编译系统镜像进行开发,防止内存不够就需要Swap分区(需要牺牲物理硬盘作为虚拟内存)顶上,如果自己的配置够高也可以不用设置。同时,有些时候使用Docker并不推荐使用Swap分区。


(3)为什么将根目录与/home目录放在一起?
这里主要对于磁盘/硬件条件较低或者使用Linux To Go的情况下,Linux入门使用者或者其他特殊情况的用户可使用该方案,或者对于无法做到/和/home的预估分区分配,只需要知道条件较低的话就要明白**"每一份空间都要用在刀刃上"**。
将根目录(/
)与 /home
目录放在一起(即不单独划分 /home
分区,让 /home
作为根分区下的子目录),主要是出于简化管理、灵活利用空间的考虑,适合特定场景。
具体原因如下:
1. 简化分区管理,降低门槛
对于新手或不想纠结分区细节的用户,合并根目录与 /home
可以省去分区规划的麻烦:
- 无需提前计算根分区和
/home
分区的大小(避免 "根分区太小不够用、/home
分区剩余太多" 或反之的尴尬)。 - 减少分区操作步骤,系统安装时只需创建一个根分区(无需单独设置
/home
),降低出错概率。
2. 空间利用更灵活
根分区和 /home
共享同一存储空间时,空间可以动态分配:
- 例如,当根目录需要更多空间(如安装大量软件)时,可直接使用原本可能属于
/home
的剩余空间;反之,当/home
存放大量文件(如视频、文档)时,也能占用根分区的空闲空间。 - 避免了 "分区大小固定导致空间浪费" 的问题(尤其是对新手,常因预估错误导致某分区空间不足、另一分区闲置)。
3. 适合小容量存储或临时系统
- 小容量硬盘 / SSD :如果硬盘空间较小(如 128GB 以下),单独划分
/home
会进一步碎片化空间,合并后能减少分区表复杂度,更高效利用有限容量。 - 临时或测试系统 :如虚拟机、短期使用的系统,无需长期保存
/home
下的用户数据(如配置文件、文档),合并后重装系统更简单(无需备份/home
)。
4. 对 "数据安全性" 要求不高的场景
/home
目录主要存放用户数据(文档、配置、下载等),单独分区的核心意义是系统重装时可保留 /home
数据。但如果满足以下情况,合并反而更合适:
- 用户数据不重要(如临时文件、可随时从云端恢复的数据)。
- 习惯定期备份数据到外部存储(如移动硬盘、云盘),无需依赖
/home
分区隔离数据。
注意:合并的潜在缺点
虽然合并有便利性,但也存在局限:
- 系统重装时数据易丢失 :若根分区损坏或重装系统,
/home
下的用户数据会被一同清除(需提前备份)。 - 若根分区填满,会直接影响
/home
使用:例如,根分区因日志文件、软件缓存占满时,用户甚至无法在/home
下保存新文件(而单独分区时/home
空间不受根分区影响)。
总结
将根目录与 /home
放在一起,本质是以 "数据灵活性" 换取 "管理便捷性",适合:
- 新手用户(减少分区配置难度);
- 小容量存储设备(避免空间碎片化);
- 临时 / 测试系统(无需长期保留用户数据)。
若重视数据安全(需保留用户数据跨系统重装)或使用大容量硬盘,更推荐单独划分 /home
分区。
四、后续分区扩容与调整方案
若未来根目录(/)出现空间不足的情况,可通过以下两种方式灵活调整:
一、使用传统分区工具调整(如 GParted)
适用于未采用 LVM 的常规分区场景,操作步骤如下:
- 准备环境:制作 Ubuntu Live USB 启动盘,从启动盘启动进入 Live 环境(避免分区被系统占用)。
- 调整分区 :
- 打开 GParted 工具,先缩小相邻的空闲分区(如 /home 分区,需确保该分区有未使用空间),释放出可用空间。
- 将释放的空间分配给根目录(/)分区,完成扩容。
- 注意事项:操作前需备份重要数据,避免分区调整过程中因意外(如断电、误操作)导致数据丢失;此方法依赖分区物理位置相邻,灵活性有限。
二、推荐使用 LVM(逻辑卷管理)
LVM 通过抽象物理硬盘为 "卷组",再划分 "逻辑卷"(可理解为灵活的 "分区"),提供更高的动态调整能力,核心优势包括:
- 无需重新分区:可直接在线(或离线)调整逻辑卷大小(如根目录、/home 对应的逻辑卷),无需依赖分区物理位置。
- 跨设备扩展:支持将多个物理硬盘的空间合并为一个卷组,灵活分配给不同逻辑卷,适合未来添加新硬盘扩展存储空间。
- 适配频繁调整场景:对于编译工作等需频繁增减空间的需求,LVM 可快速响应调整,避免传统分区的繁琐操作。
若初始分区时采用 LVM,后续根目录或 /home 空间不足时,只需通过lvextend
(扩展)或lvreduce
(缩小)命令即可完成调整,大幅降低操作复杂度。