2026/10/12 16:51:07

Ubuntu Linux 手动分区避坑指南:主分区、逻辑分区与 swap 分配

Ubuntu Linux 手动分区避坑指南:主分区、逻辑分区与 swap 分配 简介对于需要在Ubuntu系统安装过程中合理规划硬盘分区的初学者与运维人员这份PDF文档系统梳理了最合理的分区策略。内容涵盖IDE、SCSI、SATA硬盘在Linux中的命名规则并给出“三个主分区加一个扩展分区”的经典方案既能有效利用有限的主分区数量也为逻辑分区保留弹性针对五百GB到一千GB常用硬盘详细推荐了根目录、交换分区、引导分区、临时目录与用户目录等挂载点的容量和格式同时给出虚拟机低配环境下的替代分配建议。文档以Ubuntu 12.04.3为例图文讲解手动分区完整操作从创建引导分区、交换空间到最终挂载点布局逐步演示并特别提示数据备份和按实际需求调整分区大小等注意事项。资源共1个PDF文件大小234KB已有13525人学习下载适合作为安装Linux服务器或日常维护时的分区速查手册。1. 装 Ubuntu Linux 系统为什么“自动分区”是新手最大的坑装 Ubuntu Linux 系统真正让新手卡住的往往不是镜像下载也不是软件源配置而是安装过程中的硬盘分区。网上大量 Ubuntu linux分区教程默认走“清除整个硬盘并安装 Ubuntu”的自动分区装完才发现 /home 小得可怜、swap 大得离谱想调整只能重来一次。手动分区其实没那么玄学先搞清 IDE、SCSI、SATA 的硬盘命名规则再理解主分区、扩展分区、逻辑分区的关系随后按 500G-1000G 与 100G 以下两套容量方案分配挂载点最后在安装向导里点几下就能完成。这条路线我按实际装机的顺序写参数含义和踩坑点一次说清适合准备装 Ubuntu 的初学者也适合想重分区、维护 linux 服务器的老手参考。2. 分区前的选型课硬盘命名、主分区与逻辑分区的边界规则2.1 从 hd 到 sd硬盘类型与命名规则决定你认盘的能力Linux 不叫 C 盘 D 盘它按接口类型给硬盘命名。IDE 接口的硬盘叫 hdSCSI 和 SATA 接口的硬盘叫 sd。IDE 硬盘已经基本淘汰现在市面上最常见的是 SATA 接口所以绝大多数机器上看到的是 sda、sdb 这类名字。第一块硬盘是 sda第二块是 sdb依此类推盘内分区编号从 1 开始sda1、sda2 就是第一块硬盘上的第一个、第二个分区。这个命名规则在手动分区时是第一道关卡。如果机器里插了两块硬盘分区界面会同时出现 sda 和 sdb认错目标盘就会把另一块盘上的数据清掉。我一般会在安装前用 live 系统或固件界面确认目标盘的型号和容量对照分区间界面里的磁盘容量来判断哪一块是 sda、哪一块是 sdb。容量信息比盘符可靠因为盘符可能因 BIOS 识别顺序变化而调整容量几乎不会认错。虚拟机环境稍有不同很多虚拟磁盘走 virtio 驱动显示为 vda、vdbNVMe 固态硬盘则显示为 nvme0n1、nvme1n1。规则是一样的先字母后数字字母代表物理盘数字代表盘内分区。认盘是所有分区操作的第一步这一步错了后面全错。进系统后可以用 lsblk 复核盘符和容量命令如下lsblk -o NAME,SIZE,MODEL,MOUNTPOINT参数说明-o 指定输出列NAME 是设备名SIZE 是容量MODEL 显示磁盘型号MOUNTPOINT 显示当前挂载点。这条命令在 live 环境和装完的系统里都能用是认盘最直接的工具。2.2 主分区、扩展分区、逻辑分区为什么“3 个主分区 1 个扩展分区”是默认最优解一块硬盘最多只能有 4 个主分区。4 个主分区用满这块盘就不能再增加分区了而实际使用中 4 个分区往往不够尤其要给 /home、/tmp、swap 分开建分区的时候。于是有了扩展分区这个设计在 4 个主分区的名额里拿 1 个名额作为扩展分区然后在扩展分区内部建立逻辑分区。逻辑分区不受 4 个数量限制Linux 中每块硬盘总共最多有 16 个分区其中 sda1 到 sda4 是主分区或扩展分区逻辑分区从 sda5 开始编号一直到 sda16。所以最合理的分区策略是最多分 3 个主分区留 1 个扩展分区在扩展分区里建逻辑分区。这样既能有效利用有限的主分区名额又能让逻辑分区数量充足。具体到 Ubuntu 安装场景我的习惯是 /boot 建主分区、根分区 / 建主分区其余 swap、/tmp、/home 全部放进扩展分区里的逻辑分区。多系统场景要更精打细算。Windows 需要一个主分区作为激活分区来引导所以常见搭配是Windows 主分区、Ubuntu 的 /boot 主分区、Ubuntu 的 / 主分区剩下一个主分区名额留给扩展分区。这也是“3 主 1 扩展”在双系统场景下依然成立的原因。这里补充一个容量方案之外的差异点老式 BIOS 引导配 MBR 分区表时有严格的 4 主分区限制UEFI 引导配 GPT 分区表则没有这个限制可以建更多主分区。本文第 5 章会专门讲这个坑。2.3 手动分区 vs 自动分区什么时候必须放弃“清除整个硬盘并安装 Ubuntu”Ubuntu 安装向导在“安装类型”这一步给出两条典型路径“清除整个硬盘并安装 Ubuntu”和“其它”。前者本质是自动分区安装程序按它自己的策略格式化整块盘然后自动分配挂载点和 swap 大小整个过程不需要用户干预。自动分区适合第一次体验系统的场景缺点是装完你基本控制不了 /home 与根目录的比例。常见结果是根目录占了 300G/home 只有 100G个人文件多的话很快就不够用。手动分区则完全可控每个挂载点多大、swap 给多少、格式化成什么文件系统全部由你决定。什么时候建议走手动分区三类场景很典型电脑里已有 Windows 或其他系统需要双系统共存保留原有分区不被清除数据盘上有照片、项目文件不能整盘格式化需要单独挂载另一块盘或划出数据分区机器是 linux 服务器日志、网站目录、数据库文件需要独立分区避免日志把根目录写满。手动分区不是更高级只是更可控。代价是要对自己做过的选择负责——分区大小、挂载点、格式每一项都会写进磁盘。这也是为什么接下来要把分区参数讲细再看第 4 章的实操步骤。3. 两种硬盘容量方案怎么选500G-1000G 与 100G 以下的分区参数3.1 500G-1000G 硬盘根目录、swap、/boot、/tmp、/home 的推荐值容量充足时分区的主要矛盾不再是省空间而是让每个目录都有合理独立空间避免相互挤占。下面这套分配方式是我在 500G-1000G 机器上常年使用的方案挂载点建议大小文件系统作用/150G-200Gext4根目录放系统文件与大部分软件swap物理内存的 2 倍swap交换空间内存不足时的兜底/boot1G 左右ext4内核 vmlinuz、initrd.img、GRUB 引导文件/tmp5G 左右ext4系统临时文件重启后一般清空/home剩余全部ext4用户工作目录、个人配置、账号文件根目录给 150G-200G 是有道理的系统文件、应用软件、依赖库和缓存默认都装到 / 下面普通桌面场景 150G 够用如果常跑容器镜像、大型 IDE 或游戏直接给 200G省得后续为根目录空间发愁。swap 列在表格里是“物理内存的 2 倍”但这个数字只适合小内存机器8G 以上内存的大机器就别照搬了具体规则在 3.3 展开。格式那栏要特别说明swap 不是 ext4它没有挂载点文件系统类型直接显示为“swap”或“交换空间”。/boot 给 1G 是一个性价比很高的值。它能容纳多个内核版本内核升级时不会因为空间不足报错也留出了 grub 恢复操作的余地。很多老教程写 400MB 够用那是多年以前的事现在的内核和 initrd 体积越来越大按 1G 分不会错。/tmp 给 5G编译源代码、解压大文件、浏览器下载临时文件都够用。如果拿这台机器做持续集成或大数据处理建议再加到 10G。/home 把剩余空间全部给掉这是用户数据的家单独分区最大的意义就是重装系统不丢数据。3.2 虚拟机与旧电脑100G 以下怎么压没有独立机器、只能在自己电脑上装虚拟机跑 Ubuntu 的读者硬盘一般不超过 100G内存也只有 2-4G。照搬上面的方案会显得拥挤参考这套压缩版配置挂载点建议大小文件系统作用/10G-20Gext4根目录系统与基础软件swap不超过 2048Mswap交换空间/boot200M 左右ext4内核与引导文件/tmp5G 左右ext4临时文件/home剩余全部ext4用户数据根目录 10G-20G 能跑桌面和日常软件前提是 /home、/tmp、swap 都已经独立出去不会反过来挤占根目录。虚拟机的 swap 控制在 2048M 以内配合 2-4G 物理内存足够内存不够时 Ubuntu 会频繁交换但这是容量受限场景下取舍的结果不会比没有 swap 更差。对比两套方案共同点是 /home 都拿剩余空间、swap 都跟内存挂钩、/boot 都单独分差别只在根目录和 swap 的绝对值。所以选哪套先问自己两块问题这块磁盘多大物理内存多大答案基本就定了。3.3 swap 大小到底怎么定别盲信“两倍内存”网上很多教程一句“swap 等于物理内存两倍”带过这句话只适用于小内存机器。我的判断规则分四档物理内存 512MB 及以下swap 给内存的 2 倍这时交换分区几乎是必需品物理内存大于 512MB、低于 4Gswap 给等于物理内存的量兼顾稳定性物理内存 8G-16Gswap 要么等于物理内存要么物理内存加 2G我一般直接给等于内存大小简单好记内存 16G 以上且不做休眠swap 给 4G-8G 兜底甚至不建 swap。还有一个容易被忽略的点如果需要支持休眠suspend-to-diskswap 必须大于或等于物理内存否则休眠镜像写不进去。服务器场景也一样swap 不是用来跑业务的而是内存写满时给进程一个缓冲避免直接被系统的 OOM killer 杀掉。所以 swap 宁可小一点不能没有但对大内存机器真没必要给到内存两倍那么夸张。4. 手动分区实操从安装向导到分完 /boot、swap、/home 的完整步骤4.1 进入手动分区界面选“其它”而不是“清除整个硬盘”Ubuntu 12.04.3 的安装向导走到“安装类型”这一步时界面里有两个主要选项。最简单的莫过于“清除整个硬盘并安装 Ubuntu”单击“继续”安装向导会根据原有分区信息自动选择合理分区方式想对分区过程完全控制选择“其它”单击“继续”后会进入手动分区界面。手动分区界面会列出当前机器的所有磁盘和已有分区比如 sda、sdb 各自的分区布局、文件系统类型、挂载点。第一次进来看到的是类似下面的结构一块没有使用过的硬盘显示为整块空闲空间。如果用虚拟机做演示通常只看到一块 20G 的虚拟磁盘实体机可能同时出现多块硬盘这时先用第 2 章的认盘规则确认目标盘。进入手动分区界面的操作顺序在“安装类型”界面选中“其它”点击“继续”。在分区列表里找到目标磁盘确认容量和盘符。选中磁盘的空闲空间点击“添加”开始创建第一个分区。4.2 按顺序创建分区/boot、swap、/、/tmp、/home 逐个建以下演示基于一块 20G 虚拟硬盘对应第 3.2 节的压缩方案实体机操作思路一致把容量替换成第 3.1 节的值即可。第一步创建 /boot 启动分区。选中空闲空间点击“添加”弹出“创建新分区”对话框。分区类型选“主分区”新建分区容量填 128MB挂载点选 /boot最后点击“确定”。这一步在虚拟演示里给 128MB实体机建议按第 3 章直接给到 1G。挂载点 /boot 包含操作系统的内核和启动系统过程中要用到的文件vmlinuz、initrd.img、GRUB 引导管理器都在这。第二步创建交换分区。再次选中剩余的空闲空间点击“添加”分区类型选“逻辑分区”“用于”选择“交换空间”新建分区容量填 1024M。交换分区没有挂载点不需要选。注意选择“逻辑分区”时分区工具会自动把剩余空间规划为扩展分区来容纳它这是 MBR 分区的正常行为不用手动单独创建扩展分区。第三步创建根分区 /。选中剩余空闲空间点击“添加”容量填 10G实体机 150G-200G文件系统保持 ext4挂载点选 /。根目录是系统的核心所有不属于独立挂载点的文件都会落到这里。第四步创建 /tmp 分区。容量填 5G挂载点 /tmp文件系统 ext4。如果这台机器要做服务器可以同时给 /var 单独建一个分区比如 10G用来放日志和缓存桌面机不一定要分。第五步创建 /home 分区。选中剩余全部空闲空间点击“添加”容量默认就是剩余大小挂载点选 /home文件系统 ext4。/home 放用户的工作目录、个人配置文件所有账号都会在这里分配一个工作目录。把剩余空间全部给它后续不用再为个人数据不够发愁。分区创建顺序有个讲究先把系统引导相关的 /boot 固定下来再定 swap然后分根目录最后把大头空间一次性留给 /home。/home 放最后是为了用掉剩余空间反过来先分 /home 会导致后面的分区不好规划还可能出现零碎空闲空间浪费。4.3 分区完成后安装前再核对三件事所有分区建完后回到手动分区界面分区表里应当列出 /boot、swap、/、/tmp、/home 五个条目。点击“现在安装”之前花一分钟核对以下三件事目标盘没有搞错确认分区列表里的磁盘容量和型号与要安装的机器一致/boot 与 swap 都存在缺 /boot 会导致引导文件没有独立空间缺 swap 会导致内存峰值时系统卡死“安装启动引导器的设备”指向目标盘默认通常是 /dev/sda多硬盘环境尤其要检查防止引导器装到另一块盘。提示手动分区阶段的所有操作都还没有真正写入磁盘只有点击“现在安装”才会生效。在这个界面之前误删、误改都可以点“返回”撤销重来点击“现在安装”后安装程序会弹出将要执行的磁盘操作列表逐条读一遍再确认。5. Ubuntu 分区避坑5 条实测踩坑记录与排查方法5.1 /boot 分得太小内核升级直接翻车现象当年装机 /boot 分了 100M之后每次系统更新都小心翼翼终于在某次 apt upgrade 时提示“磁盘空间不足”新内核下载完解压失败系统停在旧内核上。原因/boot 目录存放 vmlinuz、initrd.img 以及 GRUB 引导文件每个内核版本要占几十到上百 MB多个版本内核共存时空间迅速耗尽。Ubuntu 默认保留上一版内核用于回退两三个版本叠加就把小分区撑爆了。解决新装机把 /boot 分到 1G500G 方案压缩方案至少给 200M。已踩坑的机器可以手动清理旧内核常见做法是apt autoremove --purge精确移除指定版本或者查看 /boot 下文件再确认删除。从那以后我装系统 /boot 一律不低于 1G。5.2 swap 按“两倍内存”盲目分配SSD 空间白费现象16G 内存的笔记本按教程分了 32G swap装完发现 SSD 空间被吃掉一大块而 swap 长期处于使用率 0。原因内存容量足够大时Linux 几乎不会把进程换出到交换分区。swap 大小直接等于磁盘空间成本在 SSD 上还涉及写入寿命问题盲目给两倍并不划算。解决按 3.3 的判断规则来8G-16G 内存给内存等量或加 2G 足够。用swapon --show能实时查 swap 利用率大多数桌面机器长期为 0 是正常的不代表 swap 没起作用。空间紧张的场景可以直接不用分区改用 swap 文件第 6 章会讲。5.3 /home 不分重装系统没有后悔药现象系统越用越慢打算重装 Ubuntu结果发现 /home 没有单独分区个人文件、项目、浏览器配置全部跟着根目录一起被格式化。原因所有个人数据默认放在 /home 下。如果 /home 只是根目录里的普通目录重装时格式化 / 就等于删掉所有数据没有任何后悔药。解决安装时把 /home 单独分出去。重装时在手动分区界面把新系统的根分区指向原 / 分区/home 挂载点指向原 /home 分区且不勾选“格式化”数据就能完整保留。这个血泪经验对双系统共存同样适用。5.4 分区表类型踩坑MBR 与 GPT 的选择老教程没讲的部分现象照老教程按 MBR 的 4 主分区限制规划装完在 UEFI 启动的新机器上无法引导开机直接进固件设置界面找不到启动项。原因UEFI 固件搭配 GPT 分区表是当前主流GPT 没有 4 主分区限制且需要单独的 EFI 系统分区存放引导文件。老教程基于传统 BIOS 和 MBR思路不适用于新机器。解决安装前先确认机器的启动模式。BIOS/MBR 场景按第 2 章的 3 主分区 1 扩展分区思路走UEFI 场景直接用 GPT让安装向导自动创建 ESP 分区手动分区时保留一个 512MB 到 1G 的 EFI 系统分区即可。同一块盘不要混用 MBR 和 GPT切换分区表格式需要清空整块磁盘。注意第 2 章讲的 4 主分区限制是 MBR 下的规则如果你在 UEFIGPT 环境下看到分区工具允许创建几十个主分区不用惊讶这是分区表机制变化的正常结果。5.5 /tmp 或 /var 分得太小日志一多就爆现象/tmp 分 2G编译大型软件或下载临时文件时直接报“No space left on device”服务器上 /var 分 5G几个月后日志和软件包缓存把分区写满服务异常退出。原因/tmp 是所有用户进程默认的临时写入位置/var 保存系统日志/var/log、包缓存/var/cache、邮件队列等这些文件不清理会持续增长是分区容量问题的高发区。解决桌面机 /tmp 给 5G 左右足够服务器把 /var 独立出来按日志保留策略留 10G-20G并配置 logrotate 做日志轮转。已爆盘时先执行journalctl --vacuum-size200M压缩系统日志再用du -sh /var/log/*找出占用大头最后重启相关服务释放文件句柄。6. 分区完成后的收尾用命令核对分区布局、调整 swap 与维护习惯6.1 装完先用三条命令核对分区布局安装完成进入系统后不要急着装软件先花两分钟确认分区真的按规划写入了lsblk -o NAME,SIZE,TYPE,MOUNTPOINT df -h swapon --show参数说明lsblk -o 按列输出块设备的名称、大小、类型和挂载点一眼看清 sda1、sda2、sda5 等分区的最终布局df -h 检查文件系统使用率和挂载情况swapon --show 确认 swap 分区是否启用以及当前使用量。对照装机规划检查 /、/boot、/tmp、/home 的挂载点和容量发现分区没挂上或挂载点不对查看 /etc/fstabcat /etc/fstabfstab 每行对应一个挂载项格式是“设备 UUID、挂载点、文件系统、挂载参数、dump、fsck”。发现 UUID 不对或挂载点写错编辑后运行mount -a验证即可。6.2 swap 的后期调整从分区到 swap 文件分区时 swap 大小犹豫了装完才发现给多或给少不用重装系统。Swap 可以后期扩大、缩小或者直接用 swap 文件替代分区。我个人更推荐在分区时把 swap 定准后期真有变化就用 swap 文件方案不动分区表就不会碰 MBR/GPT 的边界问题。创建交换文件的常见做法sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile这四条命令的含义fallocate 预分配一个 4G 大小的文件chmod 600 保证只有 root 能读写swap 文件权限不对会导致启动警告mkswap 把文件格式化为交换文件swapon 启用。想让开机自动生效在 /etc/fstab 末尾追加一行/swapfile swap swap defaults 0 0。swap 文件的大小随时可以改不用动分区表是后期调整最省事的方案。以前我在一台机器上吃过 swap 给太大的亏从那以后每次装完 Ubuntu 都强制走一遍 lsblk、df -h、swapon --show 三板斧确认分区布局与规划一致才继续配置环境。这个习惯帮我挡掉过好几回挂载点写错的低级问题希望也能帮到你。装完系统先别急着删安装镜像重启后第一次进系统验证完分区再清理不迟。本文还有配套的精品资源点击获取