简介:这份PDF资料面向Ubuntu Linux初学者与运维人员,针对安装过程中最棘手的硬盘分区环节,讲解一套经过实践验证的合理分区方案,帮助读者摆脱自动分区带来的局限。内容先梳理IDE、SCSI、SATA三类硬盘在Linux下的命名规则,再围绕主分区与扩展分区的数量限制,给出3个主分区加1个扩展分区的推荐结构,并针对500G至1000G大硬盘与虚拟机小硬盘两种场景,分别列出根目录、swap、/boot、/tmp、/home等挂载点的大小与ext4格式建议,同时以Ubuntu 12.04.3为例图文演示手动分区流程。资源包为1个PDF文件,约234KB,轻量易读,适合安装前快速查阅。目前已有13430人学习下载,可作为分区规划与容量分配的实用参考。
1. 装 Ubuntu 时分区这一步,为什么多数人第一次都分错了
很多人装 Ubuntu 时,前面下载镜像、做启动盘、进安装界面都顺风顺水,偏偏卡在「安装类型」那一屏:选「清除整个磁盘」怕把 Windows 干掉,选「其他选项」又对着一堆 /dev/sda、/dev/nvme0n1p3 发懵,最后凭感觉点了个「现在安装」,装完发现根目录只给了 20G,没几天就爆红。硬盘分区这件事,本质是把一块物理盘切成若干逻辑块,再给每块指定挂载点和文件系统,让系统知道「这块放系统、那块放数据、那块当内存缓冲」。它不难,但它是整个 Ubuntu 安装里唯一一个「装完再改代价极高」的步骤,所以值得在动手前花二十分钟想清楚。这篇面向的是第一次独立装 Ubuntu 的开发者、要给虚拟机或旧笔记本重装系统的运维,以及想搞明白 160G 硬盘到底怎么切才不浪费的人。下面按「先想清楚再动手」的顺序,把分区方案、挂载点、swap 和踩坑一次讲透。
2. 分区前必须想清楚的四件事:盘、表、挂载点、文件系统
2.1 先确认盘的类型和分区表格式
动手前第一件事不是打开安装器,而是搞清楚你面对的是哪种盘。机械盘和 SATA SSD 通常显示为/dev/sda,NVMe 固态显示为/dev/nvme0n1,分区则带p后缀,比如/dev/nvme0n1p2。这个命名差异在手动分区时特别容易看错,一旦把系统装到错误的盘上,数据就没了。
分区表格式决定了你能建多少主分区。传统 MBR 最多四个主分区,超过就得用扩展分区套逻辑分区;GPT 没有这个限制,而且和 UEFI 启动绑定。判断当前盘用哪种格式,可以在安装器的 live 环境里开终端跑:
# 查看所有块设备及分区表类型 sudo fdisk -l # 只看某块盘的详细信息,重点看 Disklabel type sudo parted /dev/nvme0n1 printfdisk -l会列出每块盘的容量、扇区大小和已有分区;parted print里的Disklabel type: gpt或dos直接告诉你分区表格式。如果是 UEFI 主板加 GPT 盘,必须有一个 EFI 系统分区(ESP),大小 512M 到 1G,格式 FAT32,挂载点/boot/efi。这一步判断错了,装完可能直接进不了系统。
2.2 挂载点到底怎么分:/、/home、/boot 各管什么
挂载点是 Linux 的核心概念:它把某个分区「接」到目录树的某个位置。安装时你能指定的挂载点主要有这几个。
| 挂载点 | 作用 | 建议大小 | 是否必须 |
|---|---|---|---|
/ | 根目录,系统和软件都在这 | 30G 起,建议 50G | 必须 |
/home | 用户数据和配置 | 剩余空间大部分 | 建议独立 |
/boot | 内核和启动文件 | 1G | 一般不必独立 |
/boot/efi | UEFI 启动分区 | 512M | UEFI 必须 |
swap | 交换空间,内存不够时顶替 | 见 2.3 | 建议有 |
把/home独立出来的最大好处是重装系统时可以不格式化它,个人文件原封不动。/boot在现代 Ubuntu 上通常不需要单独分,除非你用 LVM 加密或者有特殊引导需求。根目录给太小是新手最常见的翻车点,Ubuntu 22.04 装完加上 snap 包,30G 很容易吃紧,给 50G 更稳。
2.3 swap 到底给多大:别再用「内存两倍」这条老规矩
「swap 给内存的两倍」是十几年前内存只有 512M 时代的口诀,现在照搬就是浪费。判断标准应该看两件事:你有没有休眠需求,以及物理内存多大。
- 内存 8G 以上、不休眠:swap 给 2G 到 4G 足够,甚至可以用 swapfile 代替分区。
- 内存 4G 到 8G:swap 给 4G 到 8G。
- 需要休眠(hibernate):swap 必须大于等于物理内存,否则休眠会失败。
- 服务器场景:一般给 2G 到 4G,主要防止偶发内存峰值把进程 OOM 杀掉。
热搜里那个「swap 用满但是 available 还剩余很多」的现象,其实是free命令的显示逻辑:used里包含了被缓存占用的部分,available才是真正可用的估算值。swap 被用满不代表内存不够,可能只是系统把不活跃页换出去了,看available更准。
2.4 文件系统选 ext4 还是别的
Ubuntu 安装器默认 ext4,这是最稳的选择,工具链成熟、恢复手段多。想用快照可以选 btrfs,但它在桌面场景的稳定性口碑不如 ext4,新手不建议。xfs 适合大文件和高并发,服务器上常见,但缩小分区很麻烦。一句话:桌面和普通服务器,ext4 闭眼选。
3. 手动分区实操:从进安装器到点下「现在安装」
3.1 进入手动分区界面并读懂分区列表
启动 Ubuntu 安装盘,走到「安装类型」这一屏,选「其他选项」(英文版是 Something else),进入手动分区。这时你会看到一张表,列出当前所有盘和分区,每行有设备名、类型、挂载点、大小、已用空间。空盘会显示「空闲」或 free space。
关键动作是:先确认你要装到哪块盘,再决定是删掉旧分区还是用空闲空间。如果这块盘上有 Windows,千万别动它的 EFI 分区和 C 盘,只在你预留的空闲空间上操作。选中空闲空间,点「+」号新建分区。
3.2 按顺序建四个分区:EFI、swap、根、home
推荐按下面顺序建,逻辑清晰不容易乱。
# 以下为分区规划示例,实际操作在安装器图形界面完成 # 假设盘为 /dev/nvme0n1,总容量 500G,UEFI 启动 # 1. EFI 系统分区 # 大小 512M,类型 EFI System Partition,格式 FAT32,挂载点 /boot/efi # 2. swap 分区 # 大小 4G,类型 swap area,无挂载点 # 3. 根分区 # 大小 50G,类型 Ext4,挂载点 / # 4. home 分区 # 剩余全部空间,类型 Ext4,挂载点 /home在安装器里每建一个分区,都要在弹窗里选对「用于」「挂载点」「格式」三项。EFI 分区类型要选「EFI 系统分区」,不是 ext4;swap 的类型选「交换空间」,不要给它挂载点。建完四个分区后,检查一遍列表:EFI 在最前,swap 和根、home 依次排开,挂载点没有重复。
3.3 确认引导器安装位置
界面底部有「安装启动引导器的设备」下拉框。UEFI 模式下,它应该指向你刚建的 EFI 分区所在的那块盘,比如/dev/nvme0n1,而不是某个具体分区。如果这块盘是双系统里的第二块盘,引导器装到它自己的 EFI 分区上,别覆盖 Windows 的。
确认无误后点「现在安装」,安装器会弹出「将改动写入磁盘吗」的确认框,把要格式化的分区列出来。这是最后的后悔药,逐行核对,确认没有误伤数据盘,再点继续。
3.4 装完验证分区是否生效
系统装完重启进桌面,开终端验证:
# 查看挂载情况和各分区使用率 df -h # 查看 swap 是否启用 swapon --show # 查看块设备树状结构 lsblk -fdf -h应该能看到/和/home分别挂在不同分区上,使用率正常;swapon --show有输出说明 swap 生效;lsblk -f能看清每个分区的文件系统和挂载点。如果/home没独立出来,说明分区时漏了,只能重装或后期迁移。
4. 分区避坑:这几类翻车我见过太多次
4.1 现象:装完进不去系统,卡在 grub 或黑屏
原因:UEFI 模式下没有建 EFI 分区,或者引导器装错了盘。有些人在 MBR 盘上按 UEFI 方式装,或者反过来,都会导致引导失败。
解决:重进安装器,确认主板启动模式和分区表匹配。UEFI 配 GPT,必须建/boot/efi;Legacy BIOS 配 MBR,不需要 EFI 分区但要确保引导器装到/dev/sda这类盘上。装之前在 BIOS 里看清是 UEFI 还是 Legacy。
4.2 现象:根目录很快满了,系统卡顿
原因:/只给了 20G,Ubuntu 22.04 加上 snap、日志、缓存,几个月就撑满。热搜里「ubuntu 安装 gcc 失败」很多时候就是根目录没空间导致的。
解决:重装时根目录至少 50G。已经装好的可以清理 snap 旧版本、/var/log日志,或者用du -sh /*找出大目录。长期方案还是重装时把/home独立出去,给根目录留足空间。
4.3 现象:swap 用满但系统并不卡,available 还剩很多
原因:这是free命令的显示方式造成的误解。used包含 buffer/cache,swap 被用满可能只是内核把不活跃内存页换出,属于正常行为。
解决:看free -h的available列,只要它还有余量就不用慌。真担心可以调vm.swappiness:
# 临时调整,值越低越倾向不使用 swap sudo sysctl vm.swappiness=10 # 永久生效写入配置文件 echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf桌面用户设 10 到 30 比较合适,服务器默认 60 也行。
4.4 现象:双系统装完 Windows 启动项不见了
原因:安装 Ubuntu 时引导器覆盖了 Windows 的 EFI 引导文件,或者装到了 Windows 的 EFI 分区上。
解决:进 BIOS 看启动项,通常 Windows Boot Manager 还在,只是顺序变了。进 Ubuntu 后跑sudo update-grub一般能重新识别 Windows。如果还不行,用 Windows 安装盘修复引导。预防办法是装 Ubuntu 时把引导器装到它自己盘的 EFI 分区,别动 Windows 那块。
4.5 现象:虚拟机里装 Ubuntu 提示磁盘空间不足
原因:VMware 或 VirtualBox 建虚拟机时虚拟磁盘给太小,比如只给了 20G,分区时又想分/home和 swap,空间根本不够分。
解决:建虚拟机时磁盘至少给 60G,动态分配即可。已经建好的可以在虚拟机设置里扩容虚拟磁盘,再进系统用gparted调整分区。热搜里「虚拟机安装 linux 蓝屏」多半是虚拟化没开或镜像损坏,和分区无关,但空间不足确实会让安装中途失败。
5. 进阶:用 swapfile 替代 swap 分区,以及后期调整分区的技巧
现在 Ubuntu 默认安装其实已经用 swapfile 而不是 swap 分区了,它就是一个放在根目录下的普通文件,用起来和分区没区别,但调整大小方便得多。如果你装系统时忘了分 swap,或者想改大小,不用重装:
# 创建一个 4G 的 swapfile sudo fallocate -l 4G /swapfile # 设置权限,只有 root 可读写 sudo chmod 600 /swapfile # 格式化为 swap sudo mkswap /swapfile # 启用 sudo swapon /swapfile # 写入 fstab 实现开机自动挂载 echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstabfallocate快速分配空间,mkswap写入 swap 签名,swapon立即启用,最后写进/etc/fstab保证重启后还在。想改大小就先swapoff,删掉文件重建,再swapon。这套操作比重装系统调整 swap 分区省事太多。
另一个常见需求是后期给根目录扩容。如果当初用了 LVM,lvextend加resize2fs就能在线扩;如果是普通分区,得用 live USB 启动后跑gparted,把相邻空闲空间合并过来。这也是为什么我建议一开始就把空间规划好:根目录 50G、home 拿大头、swap 按需给,这个组合在 160G 到 1T 的盘上都适用,重装时只格式化根分区,home 原样保留。
我自己装了几十次 Ubuntu 后养成的习惯是:动手前先在纸上画一遍分区表,标好每块的大小和挂载点,进安装器后严格照着填,绝不临时改主意。分区这步没有玄学,想清楚再点,比装完救火省心得多。希望帮到你。
本文还有配套的精品资源,点击获取