前阵子帮一个朋友在他的笔记本上装 Ubuntu 双系统,他直接用安装向导里的“Install Ubuntu alongside Windows”一路点下去,结果装完没到两周就来跟我抱怨:根分区就 50GB,编译几个项目、Docker 镜像一拉,直接满了。我上机一看,swap 分了 16G,/home 挂在根上,一堆大文件把系统盘塞得严严实实。这种场景我见了太多次。很多人在 Ubuntu 下折腾“磁盘分卷”,也就是磁盘分区与卷管理,真正的问题往往不是命令不会敲,而是动手之前没想清楚自己到底需要什么样的分区布局。这篇文章我就把 Ubuntu 下磁盘分卷的完整链路讲透——从最基础的分区表选型,到安装系统时怎么布局,再到系统装好后不重装改分区、用 LVM 动态管理卷,最后顺手说说“分卷”在文件层面的另一种玩法:大文件拆包。内容偏实战,适合正在规划装机的、准备做双系统的、以及分区后想扩容却不知道怎么下手的读者。
1. 分卷前的基础认知:分区表、设备名和文件系统的选择
1.1 GPT 和 MBR,先别急着二选一
我接触过不少用户,一上来就问“我应该用 MBR 还是 GPT”,其实这个选择在现代硬件上基本没有悬念:用 GPT。
MBR(Master Boot Record)是上世纪 80 年代的设计,它有两大硬伤:第一,最多只能建 4 个主分区(虽然可以用扩展分区绕一下,但操作繁琐且容易踩坑);第二,单块磁盘最大只能识别 2TB,超过 2TB 的部分直接“消失”。如果你现在买一块 4TB 的机械盘或者 2TB 以上的 NVMe,用 MBR 初始化,后面扩容、加分区都会非常痛苦。
GPT(GUID Partition Table)就没有这些限制。它支持最多 128 个分区(默认值,实际还可以更多),单分区容量上限达到了 9.4ZB,对个人用户来说等于没有上限。而且 GPT 在磁盘末尾还存了一份分区表副本,其中一块坏了还有另一块兜底,比 MBR 那种“分区表坏了一切全完”的设计稳健得多。
不过有一个细节需要注意:GPT 需要 UEFI 引导配合才能真正发挥优势。如果是一台 2012 年以前的老机器,BIOS 是 Legacy 模式,那选 MBR 更省事。2015 年之后的机器基本都是 UEFI,直接 GPT 走起。
怎么看自己的分区表类型?终端里执行:
sudo parted -l输出里会明确写Partition Table: gpt或者Partition Table: msdos,一眼就能认出来。
1.2 认盘:sda、nvme0n1 到底谁是谁
很多人分区失败,不是不会敲命令,而是认错盘。Ubuntu 里设备名的命名规则是有规律的,但和 Windows 的 C 盘 D 盘完全是两套逻辑:
- SATA 接口的硬盘或 SSD:设备名是
/dev/sda、/dev/sdb,依次往后排。注意这个字母顺序不一定是物理插槽顺序,而是内核识别顺序,所以不要凭感觉认为 sda 一定是第一块盘。 - NVMe 接口的 SSD:命名方式完全不一样,是
/dev/nvme0n1、/dev/nvme1n1,后面的数字表示控制器编号和命名空间编号。分区也不叫 sda1,而是nvme0n1p1,带个p再跟分区号。 - 虚拟机里的 VirtIO 磁盘是
/dev/vda,SD 卡读卡器常见/dev/mmcblk0,loop 设备则是/dev/loop0,这些平时用得少,但遇到了要知道它们是什么。
要快速查看当前系统认到了哪些磁盘,用这个命令:
lsblk输出非常直观,以树状结构展示磁盘和分区的从属关系。比如:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 476.9G 0 disk ├─nvme0n1p1 259:1 0 512M 0 part /boot/efi ├─nvme0n1p2 259:2 0 99.5G 0 part / └─nvme0n1p3 259:3 0 376.9G 0 part /home这个输出告诉我,机器只有一块 NVMe 盘,分了三个区,分别挂载在/boot/efi、/和/home。任何分区操作之前,先 lsblk 看一眼,再决定动谁,这是避免“把系统盘删了”这种事故的最有效手段。
1.3 挂载点与文件系统:分区只是手段,挂载才是目的
分区本身没有意义,Linux 是将“分区”通过“挂载”变成目录树的一部分之后,才能真正存东西。理解这一点,很多概念就通了。
挂载点就是目录,比如/、/home、/var。一个分区挂载到/home后,你往/home/user/文件里写的数据,物理上就是落在那个分区里。当你把多个分区分别挂到不同目录,就实现了“分卷”的效果——系统目录、用户数据、日志文件各自独立,互不挤占。
文件系统的选择也很关键。Ubuntu 默认用的是ext4,这是最稳的选择:成熟、日志机制完善、出问题后恢复工具多。如果你是重度桌面用户,磁盘上有大量小文件,ext4 的表现完全够用。xfs适合超大文件和高吞吐场景(比如视频剪辑素材盘),但它的劣势是缩减分区很难,几乎只能扩不能缩。btrfs功能很强大,支持快照、压缩、校验和,但普通用户没必要为这些特性承担额外的复杂度和潜在的性能开销。
看完分区布局,再配合查看文件系统类型和 UUID:
lsblk -f输出里会多出 FSTYPE 和 UUID 两列。UUID 是分区的全局唯一标识符,后面写 fstab 自动挂载时要用它,而不是用设备名——因为设备名可能因启动顺序变化而改变,UUID 不会变。
2. 安装 Ubuntu 时的分区实操:从双系统到虚拟机
2.1 手动分区推荐布局:别再用“一整块盘给系统”
Ubuntu 安装界面默认的“清除整个磁盘并安装 Ubuntu”,适合那种拿整台机器专门跑 Linux、且未来不打算折腾的人。但只要你有以下任何一种情况,我都建议在安装时选择“Something else”(手动分区):
- 打算和 Windows 双系统共存;
- 将来可能重装系统但想保留个人文件;
- 对 Docker 镜像、虚拟机磁盘等大文件有存储需求;
- 就是想搞明白自己的系统盘里都是什么。
手动分区时,我常用的推荐布局是这样的(以 512GB 固态 + UEFI 引导为例):
| 挂载点 | 分区类型 | 建议大小 | 文件系统 | 用途说明 |
|---|---|---|---|---|
/boot/efi | EFI System Partition | 512MB | FAT32 | UEFI 引导必需,已有 Windows 则共用不新建 |
/boot | Ext4 | 1GB | ext4 | 内核和引导文件,非 LVM 加密场景也可不单独分 |
/ | Ext4 | 80GB | ext4 | 根目录,系统程序、依赖库全在这里 |
swap | swap | 8GB | swap | 内存交换区,休眠用建议等于内存大小 |
/home | Ext4 | 剩余全部 | ext4 | 用户数据、下载、文档、项目文件 |
这套方案的核心思路是:系统是系统,数据是数据,隔离管理。把 /home 独立出来之后,哪天系统崩了要重装,只要在安装时再次手动挂载 /home 分区并且不去勾选“格式化”,个人文件就能原封不动保留下来。这是我自己这么多年折腾系统最深的一条体会。
至于 swap 区,如果你内存 16GB 以上且不需要休眠功能,可以完全不建 swap 分区,改用 swapfile,需要多大动态创建多大,灵活得多。
2.2 双系统安装中的关键陷阱:别动 Windows 的分区
双系统安装 Ubuntu,最大的风险不是 Ubuntu 装不上,而是把 Windows 的分区搞坏了。我在安装界面见过太多人对着分区表手一抖,把 Windows 的恢复分区或 EFI 分区当成无用分区删掉,结果 Windows 直接进不去。
如果你电脑上已经有一个 Windows 系统,并且能看到它占用了一个 EFI 分区(通常是 100MB 到 600MB,FAT32 格式),安装 Ubuntu 时:
- 选择这个已经存在的 EFI 分区作为
/boot/efi挂载点,不要格式化它。Windows 和 Ubuntu 可以共用同一个 EFI 分区,Grub 引导菜单会同时列出两个系统。 - 不要去动 Windows 的 C 盘分区(NTFS 格式,通常是最大的那个分区),更不要把它删除或重新分配。
- 找一个 Windows 没有使用的空余空间,在里面创建
/和/home。如果你的磁盘空间已经很满,建议先从 Windows 的磁盘管理里压缩卷腾出空间,再回到 Ubuntu 安装界面。
为什么强调“不要格式化 EFI 分区”?因为格式化会把里面 Windows 的引导文件清掉,开机后 Windows 的启动项就没了。这种情况可以修复,但过程相当折腾:要用 Windows 安装 U 盘进恢复模式,执行bootrec /rebuildbcd一类的命令重建引导,对普通用户来说心理压力极大。
2.3 在虚拟机里安全练习分区:零成本的试错空间
如果你对分区还不太有信心,我非常建议先在虚拟机里完整演练一遍。VMware Workstation 或者 VirtualBox 里装 Ubuntu,和物理机上的操作几乎完全一样,唯一的区别是虚拟磁盘认出来是/dev/sda或者/dev/vda。
虚拟机练习有一个物理机比不了的优势:快照。在动手分区之前,给虚拟机拍一个快照,然后随便折腾——删错分区、格式化错磁盘、把引导搞坏,都只需要回滚快照就能恢复如初。这种“零成本试错”的机会,在真实物理机上是不可能有的。
我在 VirtualBox 里演练了至少十几次分区流程之后,才敢在朋友的物理机上动手。分区操作的肌肉记忆和分区表的阅读能力,都是靠反复练习练出来的,看一百篇教程不如亲手折腾一次。
安装完成后,还可以顺手把gparted装上。它是个图形化分区工具,查看分区情况非常直观,后半程改分区的时候会用到:
sudo apt update sudo apt install gparted3. 系统已经装好了:在不重装的情况下改分区
3.1 GParted 无损扩容实操:最常见的“根分区不够用”救法
Ubuntu 装好后最常遇到的问题就是:当初根分区给小了,现在 / 满了,想扩容。很多人以为只能重装,其实不是。只要目标分区相邻的右侧有空闲空间,就可以用 GParted 做到“无损扩容”。
所谓“无损”,是在保留分区数据的前提下调整分区大小。使用 GParted 的步骤大致如下:
- 先
sudo fdisk -l或者lsblk确认空闲空间在哪。如果空间在根分区右侧(比如你之前预留了未分配空间),这是最简单的情况;如果空间在更远的位置,可能需要先移动分区,耗时更长。 - 打开 GParted(需要管理员权限),右键目标分区,选择
Resize/Move,拖动滑块或者输入新的大小,点击Resize/Move确认。 - GParted 会把操作加入队列,此时还没真正执行,需要点击工具栏上的绿色勾“Apply All Operations”才会开始。这一步会根据数据量大小耗时几分钟到几十分钟不等,期间不要断电。
有一个硬性前提:要调整的分区不能被挂载。根分区挂在/上,系统正在使用,所以这种情况下没法直接在运行中的系统里用 GParted 去扩根分区。常见做法是做一个 Ubuntu Live USB,从 U 盘启动后,在 Live 环境里打开 GParted,此时硬盘上的分区都未被挂载,就可以随便操作了。
如果是想扩大数据分区/dev/sdb1,而它没有挂载在关键路径上,理论上可以在运行中的系统里操作。但为了稳妥,我仍然建议:重要数据先备份,Live USB 环境永远是分区调整最安全的选择。
3.2 fdisk 命令行分区全流程:新硬盘从零开始
命令行的分区工具首选fdisk,它适用于 MBR 和 GPT 两种分区表。假设新加了一块硬盘/dev/sdb,想在上面建两个分区,一个 100GB,剩下全部分给第二个分区,流程是这样的:
sudo fdisk /dev/sdb进入交互界面后:
Command (m for help): g # 创建新的 GPT 分区表 Command (m for help): n # 新建分区 Partition number (1-128, default 1): 1 First sector (2048-..., default 2048): # 直接回车用默认起始扇区 Last sector, +/-sectors or +size: +100G # 指定大小 100G Command (m for help): n # 再建第二个分区 Partition number (2-128, default 2): 2 First sector: # 直接回车 Last sector: # 直接回车,用满剩余空间 Command (m for help): p # 打印分区表确认 Command (m for help): w # 写入并退出注意w才是真正写入,q是退出不保存。在写入之前,所有操作都只是存在于内存里的计划,这是 fdisk 比较安全的一点——但前提是你记得最后要按w,我见过有人按了q以为分区建好了,结果白忙活一场。
分区建好后,内核可能不会立即识别新分区表,可以用partprobe或者sudo partprobe /dev/sdb强制刷新。
3.3 格式化、挂载与 fstab 自动挂载
分区建好只是第一步,还得格式化加挂载。格式化成 ext4:
sudo mkfs.ext4 /dev/sdb1如果你的磁盘大于 16TB,ext4 支持得不太好,建议 xfs:
sudo mkfs.xfs /dev/sdb2挂载也很简单:
sudo mkdir -p /mnt/data sudo mount /dev/sdb1 /mnt/data但这样挂载是临时的,重启就没了。要开机自动挂载,需要写入/etc/fstab。绝不要直接写设备名,而要使用 UUID:
sudo blkid /dev/sdb1输出类似UUID="f8a1b2c3-...",然后在/etc/fstab末尾加一行:
UUID=f8a1b2c3-... /mnt/data ext4 defaults 0 2写完后先验证一下再重启:
sudo mount -a如果mount -a没有报错,说明 fstab 写法没问题。如果报错,马上检查路径、UUID 和文件系统类型。fstab 写错最典型的后果是开机进入 emergency mode,出现这种情况不要慌,输入 root 密码后用vim把写错的那行注释掉或改回来,重启即可。
4. 用 LVM 做“真分卷”:动态调整逻辑卷
4.1 为什么传统分区不够用:LVM 解决的问题
前面讲的都是传统分区,它有一个人人都会迟早遇到的痛点:分区大小一旦定下来,想改非常麻烦,尤其是缩减。你很难把一个已经用了大半的分区缩得很小,因为文件系统里的数据可能分布在分区各个位置,移动数据耗时且风险高。
LVM(Logical Volume Manager,逻辑卷管理)就是为了解决这个问题而生的。它把“磁盘分区”和“文件系统”之间加了一层抽象:
- 物理卷(PV, Physical Volume):就是一块磁盘或一个分区,比如 /dev/sdb1;
- 卷组(VG, Volume Group):把多个物理卷打包成一个大的“存储池”;
- 逻辑卷(LV, Logical Volume):从卷组里划分出来的逻辑分区,格式化后挂载使用。
用生活里的话说,传统分区就像你买了一个固定大小的柜子,隔板位置是定死的;LVM 则像一个仓库,里面有若干货架(物理卷)组成一个大库容(卷组),货架上的箱子(逻辑卷)可以随时挪动、扩大、缩小,只要整个仓库还有空间。
如果你喜欢折腾系统、经常需要扩容,或者有多块硬盘想合并使用,LVM 是很值得上的方案。Ubuntu Server 安装时选默认设置其实就已经帮你用了 LVM,桌面版默认不用,但完全可以手动配。
4.2 从物理卷到逻辑卷的完整创建链路
假设你有两块新硬盘 /dev/sdb 和 /dev/sdc,想把它们合并成一个“大卷”,然后从中划出两个逻辑卷分别存数据和备份。
第一步,创建物理卷:
sudo pvcreate /dev/sdb /dev/sdc注意这里我直接对整块磁盘创建 PV,没有分区。这是合法的,LVM 可以直接管理整盘。
第二步,创建卷组:
sudo vgcreate vgdata /dev/sdb /dev/sdcvgdata是我给卷组起的名字。卷组创建好后,可以查看状态:
sudo vgdisplay第三步,从卷组中创建逻辑卷。我要划一个 200GB 的data卷,和一个 100GB 的backup卷:
sudo lvcreate -L 200G -n data vgdata sudo lvcreate -L 100G -n backup vgdata创建出来的逻辑卷设备路径是/dev/vgdata/data和/dev/vgdata/backup。
第四步,格式化并挂载:
sudo mkfs.ext4 /dev/vgdata/data sudo mkfs.ext4 /dev/vgdata/backup sudo mkdir -p /srv/data /srv/backup sudo mount /dev/vgdata/data /srv/data sudo mount /dev/vgdata/backup /srv/backupfstab 里同样写 UUID,逻辑卷的 UUID 用blkid查。之后开机自动挂载的写法和前面一模一样。
4.3 在线扩容与缩减:LVM 的杀手锏
LVM 最爽的时刻来了。假设用了几个月,200GB 的data卷快满了,而backup卷还剩 80GB。我想把 data 扩到 260GB,不用关机,不用卸载,在线就能完成:
sudo lvextend -L +60G /dev/vgdata/data sudo resize2fs /dev/vgdata/datalvextend是扩大逻辑卷,resize2fs是让文件系统感知并使用新增空间。两个命令执行完,数据立即可用,不需要重启。这就是传统分区完全做不到的操作。
缩减则要麻烦一些,而且风险更高。缩减的顺序绝不能反过来:必须先缩小文件系统,再缩小逻辑卷。否则文件系统和逻辑卷大小不匹配,数据会损坏。
sudo umount /srv/data sudo e2fsck -f /dev/vgdata/data sudo resize2fs /dev/vgdata/data 150G sudo lvreduce -L 160G /dev/vgdata/data sudo mount /dev/vgdata/data /srv/data我在这里多留了 10GB 的余量,防止文件系统缩过头导致数据丢失。缩减之前务必确认数据有备份,因为 e2fsck 和 resize2fs 在这些操作中一旦中途断电,后果非常严重。
LVM 还有一个传统分区给不了的功能:快照。对逻辑卷做快照,可以瞬间得到一个“某时间点的副本”,做系统级备份、升级前的回滚准备,都非常方便:
sudo lvcreate -L 20G -s -n>sudo lvremove /dev/vgdata/data-snapshot不过我自己的建议是:LVM 的 /boot 分区不要放在 LVM 里面。Grub 引导器对 LVM 的支持虽然已经不错,但遇到某些特殊情况(比如 /boot 上的驱动加载问题)会很头痛,单独分一个 ext4 的 /boot 分区能省掉很多麻烦。
5. 另一种“分卷”:大文件的拆分、传输与合并
5.1 split 与 cat:最朴素的拆包方案
“磁盘分卷”这个词在中文语境里还有一种常见理解:把一个超大文件拆成多个小卷,方便传输、上传或刻录。这个场景我用得最多的命令是split。
比如我有一个 8GB 的数据库备份database.sql,想把它拆成 2GB 一块,方便分次传到另一台机器(有些网盘单文件限 2GB):
split -b 2G -d -a 3 database.sql database.sql.part_参数含义:-b 2G按大小切分,-d让文件后缀用数字而不是字母,-a 3表示后缀用三位数字,也就是database.sql.part_000、database.sql.part_001……一直到全部拆完。
合并的时候更简单:
cat database.sql.part_* > database.sql合并完最好校验一下完整性。用md5sum在拆分前和合并后各算一遍,对比结果一致就说明没传坏:
md5sum database.sql md5sum database.sql.part_* > checksums.txt如果文件分散在不同目录,cat的*通配符可能会乱序。稳妥起见,用循环按序号合并:
for i in $(seq 0 30); do cat database.sql.part_$(printf "%03d" $i) >> database_merged.sql; done不过要注意,这样按固定序号循环,如果分卷数量不确定,不如cat part_*直接方便。实际情况自己判断。
5.2 分卷压缩与合并:tar 和 rar 的实际用法
如果你的原始内容是整个目录,而不是单个文件,可以在打包的同时直接分流输出,达到“边打包边分卷”的效果:
tar -czf - /path/to/project | split -b 2G -d - project_backup.tar.gz.part_这里tar -czf -把项目目录压缩后输出到标准输出,管道交给split按 2GB 拆分,-表示从标准输入读取。合并后解压:
cat project_backup.tar.gz.part_* > project_backup.tar.gz tar -xzf project_backup.tar.gz如果是 Windows 用户协同,可能需要处理rar格式的分卷压缩。Ubuntu 上安装工具:
sudo apt install rar unrar压缩成每个 2GB 的分卷包:
rar a -v2000M archive.rar /path/to/project解压时,只要把第一个文件(archive.part1.rar)交给 unrar 即可,它会自动读取后续分卷:
unrar x archive.part1.rar这里有个细节:rar 分卷的文件名通常是archive.part1.rar、archive.part2.rar,如果少了任何一个,unrar 会提示缺卷。传输这些分卷文件时,要保证文件名不要被改动,否则顺序错乱后解压会失败。
7zip 也有分卷功能,而且更通用:
sudo apt install p7zip-full 7z a -v2g archive.7z /path/to/project解压时输入:
7z x archive.7z.001分卷传输的另一个建议是,传完立刻校验,别等对方解压时报错才回头查。用sha256sum -c配合一份包含所有分卷哈希值的校验文件,是效率比较高的做法。
6. 我在分区这件事上踩过的坑和最终的规划建议
6.1 分区前必须做的三件事
这些年折腾 Ubuntu,我总结出三条操作前铁律,每一条都是用教训换来的:
一是备份。不是“重要数据备份”,而是“万无一失才动手”。分区操作涉及底层数据结构,哪怕是最常见的扩容,也有极小的概率因为断电、工具 bug、文件系统异常导致数据不可读。我在给朋友操作前,会先把他 /home 下的关键目录通过 rsync 同步到移动硬盘:
rsync -avzh --progress /home/user/ /media/user/backup_drive/home/二是记录原分区表。操作前把lsblk -f和sudo fdisk -l的输出保存到文本文件,最好再blkid记录所有 UUID。一旦中途出了意外,这些信息是恢复现场的导航图。
三是准备 Live USB 和足够的充电。笔记本务必插上电源再操作,台式机最好接一个 UPS。分区扩展过程中断电,比扩容失败本身要麻烦得多,轻则分区表损坏,重则文件系统无法挂载。Live USB 用来在系统进不去的时候修复。
6.2 那些容易忽略的空间占用:为什么分区总是不够用
很多人都问过同一个问题:“我明明按 50GB 给根分区留了空间,怎么没几天就满了?”这其中有几个沉默的空间吞食者:
第一个是 ext4 文件系统默认会保留 5% 的块给 root 用户,用于防止磁盘写满后系统无法启动。500GB 的盘,5% 就是 25GB,对个人用户来说偏浪费。如果你确定 root 不需要这么大的应急空间,可以调小:
sudo tune2fs -m 1 /dev/nvme0n1p2把保留比例从 5% 降到 1%。
第二个是 Docker 和虚拟机镜像。Docker 默认数据目录在/var/lib/docker,一个镜像动辄几个 GB,几个容器跑起来,几十 GB 瞬间就没了。虚拟机的磁盘文件默认也放在用户目录下,稍不注意就会把 /home 塞满。所以如果你的 Docker 用量大,建议单独给/var分一个区,或者把 Docker 数据目录迁移到大分区:
sudo systemctl stop docker sudo rsync -av /var/lib/docker/ /srv/data/docker/ sudo vim /etc/docker/daemon.json # 写入 {"data-root": "/srv/data/docker"} sudo systemctl start docker第三个是日志。系统的 journal 日志如果不管,时间长了也能积攒几个 GB。限制一下大小:
sudo journalctl --vacuum-size=500M还可以在/etc/systemd/journald.conf里设置SystemMaxUse=500M,从源头限制。
6.3 适合普通用户的分区规划模板
回到最初的“格局”问题,我给普通用户的分区规划建议,实际上可以归纳成三套模板:
- 模板一(省心型,适合 256GB-512GB 固态盘单系统):EFI 分区 512MB,
/直接用全盘余量,swap 用 swapfile,不单独分 /home。好处是空间利用最大化,坏处是重装系统时个人文件要提前迁移。适合不在乎重装、桌面使用轻度的用户。 - 模板二(稳重型,适合 512GB 以上且在意数据):EFI 512MB,
/80GB,swap 8GB 或 swapfile,/home剩余全部。重装系统不丢个人数据,系统盘被日志或 Docker 灌满也不影响 /home。这是我给大多数朋友的推荐。 - 模板三(折腾型,适合多盘/长期使用):系统盘按模板二,再额外加一块或多块盘组成 LVM 卷组,把 Docker 数据目录、虚拟机镜像、下载目录全挂到大卷上。前期多花半小时配置,后期扩容只需
lvextend + resize2fs两条命令。
至于很多人纠结的“要不要单独分 /tmp、/var、/usr”,我的观点是:桌面场景完全没必要,分区越细,空间利用率越低,管理负担越大。分区是手段,不是目的,别为了“看起来很专业”去过度分区。
还有个容易忽略的小细节:Linux 的dd命令可以整盘克隆,如果你要换一块更大的系统盘,直接:
sudo dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync status=progress然后sudo gparted扩大分区即可。这算是一个不用重装就能“磁盘升级”的实用技巧。
最后再分享一个我自己的习惯:每台机器分区完成后,我会把完整的分区规划、UUID、硬盘型号、用途写在一个 Markdown 文件里,放在 /root 下或者自己的笔记库里。半年后你再回头看那台机器,不会一脸茫然地想“这 400G 到底是谁在用”。磁盘分卷这件事,说到底不是技术门槛有多高,而是你有没有在动手前,把需求和布局都想清楚。