news 2026/10/6 11:15:46

Ubuntu手动分区完全指南:/boot、swap与/home的独立划分与容量分配

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu手动分区完全指南:/boot、swap与/home的独立划分与容量分配

简介:这是一份面向Linux初学者与希望摆脱自动分区的Ubuntu安装者的PDF教程,围绕安装Ubuntu时最棘手、也最关键的硬盘分区环节展开。内容首先讲清IDE、SCSI、SATA三类硬盘在Linux中的设备命名规则(hd/sd、sda/sdb),再给出500G-1000G普通硬盘与虚拟机小硬盘两套分区方案,涵盖根目录、swap、/boot、/tmp、/home等挂载点的大小建议与ext4格式选择,并解释主分区、扩展分区、逻辑分区的关系及“3个主分区+1个扩展分区”的合理布局。资源为单个PDF文件,共234KB,内容精炼、图文式讲解,适合安装前快速查阅。这份教程已有13462人学习,依照其中的手动分区思路操作,可减少系统安装失败与数据丢失风险,也能为后续服务器或开发环境的分区规划提供参考。

1. Ubuntu Linux 硬盘分区:别再把系统盘和数据盘绑在一起

网上绝大多数 Ubuntu 安装教程,到了分区界面都会让你直接选“清除整个硬盘并安装Ubuntu”。对于只想快速进系统的场景,这个选项确实省事,但我拆过的机器里,凡是这么装完又用了一两年的,不少在升级内核或重装系统时翻了车:/home 和 / 全挤在同一个分区,系统一崩,个人数据跟着遭殃。手动分区只多花二十分钟,却能把系统、交换空间、用户数据分开存放,后面重装、扩容都有后悔药可吃。这篇笔记就讲怎么在 Ubuntu 安装向导里用“其它”选项,把 /boot、swap、/、/tmp、/home 分别建出来,并给出物理机和虚拟机两套容量分配方案。

2. 分区前必须懂的设备名与分区规则:sda、sda1、sda5 的含义

手动分区踩坑,八成是没搞懂设备名和分区编号的规则。这一章先把规则捋清楚,后面在安装器里操作才不容易选错盘、选错分区。

2.1 为什么 Linux 里硬盘叫 sda 而不是 C 盘

Windows 用户第一次打开 Ubuntu 的磁盘工具,看到 /dev/sda 这种名字多半会愣一下。这里的 sda 不是某个软件的缩写,而是 Linux 内核给 SATA/SCSI 硬盘分配的块设备名。

传统 IDE 硬盘在 Linux 里叫 hda、hdb,因为 IDE 控制器用的是 hd* 驱动。SCSI 和 SATA 硬盘则统一叫 sd*,也就是 sda、sdb、sdc 这类名字。SATA 硬盘虽然物理接口和 SCSI 完全不同,但它在 Linux 内核里仍然走 SCSI 命令集,所以也被识别成 sd 设备。现在 IDE 硬盘基本被淘汰,你在新机器上看到的 SATA 硬盘大多对应 sda、sdb;如果是 NVMe 固态,设备名会变成 nvme0n1、nvme0n2,这是另一套命名。

设备名的规律很简单:第一块 SATA 硬盘是 sda,第二块是 sdb,依此类推。如果你机箱里接了两块硬盘,安装器会让你在分区前先确认容量和型号,千万别只看盘符就动手。BIOS 里的启动顺序变了,sda 和 sdb 也可能互换,这是物理顺序和逻辑顺序不一致导致的,不是驱动出错。

2.2 四个主分区的上限是怎么来的

在传统的 MBR 分区表下,一块硬盘最多只能有 4 个主分区。这个限制不是 Linux 定的,而是 MBR 的布局决定的:分区表里只有 4 个表项,每个表项指向一个主分区的起始位置和长度。想建第 5 个分区,就必须从这 4 个表项里让出一个,把剩余空间全部划成扩展分区,再在扩展分区内部切出逻辑分区。

所以“最多 3 个主分区 + 1 个扩展分区”是 MBR 硬盘上最合理的策略。Windows 系统需要一个主分区作为激活分区来启动,Ubuntu 的 /boot 通常也放在主分区里,剩下的空间全部交给扩展分区,再在扩展分区里细分逻辑分区。这样既不浪费主分区名额,又能获得足够多的分区数量。

有一点要提醒:如果你用的是 2012 年左右的老机器,或者 BIOS 是传统 Legacy 模式,上面这套规则完全适用。如果你的电脑是 UEFI 启动、GPT 分区表,主分区数量限制基本不存在了。但很多双系统安装教程仍然沿用 3 主分区的思路,因为这样兼容性最好,也方便在不同固件模式下切换。

2.3 sda5 为什么表示逻辑分区

Linux 对 MBR 硬盘的分区编号有固定约定:主分区占 sda1 到 sda4,逻辑分区从 sda5 开始排。即使你只建了一个主分区,扩展分区里的第一个逻辑分区也是 sda5,不会因为前面有空位就把编号补到 2 或 3。一块 MBR 硬盘最多能有 16 个分区,也就是 4 个主分区加 12 个逻辑分区。

这里有一个常见的误解:扩展分区本身占用一个设备名,通常是 sda4,但它不能直接挂载使用。能写数据的是扩展分区内部的逻辑分区,比如 sda5、sda6、sda7。在安装器里创建分区时,如果你选择类型为“逻辑分区”,生成的分区编号会自动从 5 开始。看到 sda5 后面的容量,就应该意识到这块盘还有扩展分区层面的结构存在。用 fdisk 查看分区表时,如果是 MBR 格式,你会看到类似“/dev/sda1 *”、“/dev/sda2 Extended”这样的输出,带 Extended 的就是扩展分区。

2.4 认识挂载点:目录和分区是两回事

Windows 里分区对应盘符 C、D、E,Linux 则把分区挂载到目录上。根分区挂到 /,/home 分区挂到 /home,/boot 分区挂到 /boot。你可以把挂载理解成一个分区“嵌入”到目录树里的动作,挂载点就是它出现在文件系统里的位置。

Ubuntu 安装器要求至少给一个分区指定挂载点 /,否则会提示没有根文件系统。这台服务器上常见的挂载点对应关系如下:

挂载点典型分区设备用途
/sda2根目录,装系统文件和软件
/bootsda1内核 vmlinuz、initrd.img 和 GRUB 引导文件
swapsda5交换空间,虚拟内存
/tmpsda6系统临时文件
/homesda7用户工作目录和个人配置文件

挂载点一旦写错,后果比较隐蔽。比如你把 /home 挂载点误填成 /root,那么用户登录后的家目录会落在根目录分区下的 /root 里,重装系统时你以为是独立分区,实际上它跟根分区绑在一起,格式化根分区时数据就没了。手动分区后的界面,一定要核对每个设备的挂载点符合预期再点“现在安装”。

3. 两套推荐的 Ubuntu 分区容量方案:物理机与虚拟机的差异

容量分配没有唯一标准,但要给一个“最合理”,还是要按机器用途分开看。下面是物理机和虚拟机两套方案,磁盘大小和内存配置不同,分区比例完全不同。

3.1 物理机 500G-1T 硬盘怎么分

如果你在物理机上装 Ubuntu,硬盘普遍是 500G 到 1T,这时候分区可以稍微放得开一些。推荐方案如下:

挂载点建议大小格式描述
/150G-200Gext4根目录,包含系统文件和大部分软件
swap物理内存 2 倍或等于物理内存swap交换空间,相当于虚拟内存
/boot1G 左右ext4内核与引导管理器文件
/tmp5G 左右ext4系统临时文件,重启后清空
/home剩余全部ext4用户工作目录与个人配置

为什么根目录要 150G 起步?因为 Ubuntu 系统本身、/usr 下的软件、/var 下的日志都会往根分区里写。如果只给 20G,装完系统加几个大型软件,几个月后就会告警。/boot 给 1G 是现在的做法,老教程里写的 128MB 只能保证装得下,内核更新几次后旧内核文件不会自动清理,很容易占满。你可以在系统里手动删除旧内核,但不如一开始就给足空间。

/tmp 给 5G,主要是给编译缓存、软件包解压临时文件用的。如果你要跑服务器,某些服务会把会话文件写进 /tmp,给 5G 比较稳妥。真正吃容量的是 /home,剩余空间全给它,日常下载、项目代码、个人数据都放这里。以后系统坏了重装,只要安装器里把 /home 分区的挂载点重新指定为 /home,并且不勾选格式化,文件就都还在。

3.2 虚拟机或小硬盘:100G 和 4G 内存的压缩配置

虚拟机是另一番场景。我一般在 VirtualBox 或 VMware 里装 Ubuntu,系统盘只分配 20G-50G,内存也只有 2G-4G。这种情况下照搬物理机方案会把虚拟磁盘占得满满当当,分完区就剩不下多少空间。压缩后的推荐配置如下:

挂载点建议大小格式描述
/10G-20Gext4根目录
swap小于 2048Mswap交换空间,配合 2G-4G 内存
/boot200M-500Mext4内核与引导文件
/tmp5G 左右ext4系统临时文件
/home尽量大ext4用户工作目录

这里有一个容易踩的坑:虚拟机里创建新分区时,默认起始位置可能不是在磁盘开头。如果你为 /boot 选了“空间起始位置”,继续建 swap 时 Ubuntu 安装器会把剩余空间当成可用空间,逻辑是对的。但如果你先建了 /home 把大部分空间占了,再回头建 swap,就会提示空间不足。所以虚拟机里分区顺序建议是先建 /boot,再建 swap,然后建 /,最后把剩余空间给 /home。

3.3 swap 大小的经验值不是一成不变

关于 swap,老教程里最常见的说法是物理内存的两倍。这个经验来自内存普遍小于 4G 的时代,现在不太适用了。我一般这样判断:物理内存 1G-4G,swap 给物理内存的两倍;物理内存 8G-16G,swap 等于物理内存,或者物理内存加 2G;物理内存超过 16G,swap 甚至可以不给,改用 swap 文件或 zram。Ubuntu 桌面版在内存充足时会优先使用物理内存,swap 几乎不参与,给太大反而浪费磁盘。

如果你在安装时没分配 swap 分区,也不用因此重装。Ubuntu 支持事后用 swap 文件补救,做法是在根分区创建一个文件并格式化为 swap,然后挂载。但要注意,系统休眠(hibernate)功能依赖 swap 分区,且要求 swap 容量至少等于物理内存,所以需要休眠功能的笔记本,swap 分区宁可给大一点也不能省。

4. Ubuntu 手动分区实操:从安装向导的“其它”选项到写盘

这一章以 Ubuntu 安装器的手动分区界面为例,逐步走一遍创建 /boot、swap、/tmp、/home 分区的过程。界面文字可能随版本略有差异,但逻辑一致。

4.1 进入安装向导的分区界面,选择“其它”

安装 Ubuntu 启动到“安装类型”这一步,你会看到两个主要选项:一个是“清除整个硬盘并安装 Ubuntu”,另一个是“其它”。选择“其它”后点击“继续”,就会进入手动分区界面。这个界面会列出当前硬盘的现有分区,以及顶部一行的设备列表,比如 /dev/sda。

如果你在虚拟机上安装,看到的通常是一块未分区的硬盘,容量 20G。这时界面里会显示一整块“空闲空间”。如果你在物理机上安装且硬盘里已有 Windows,你会看到现有的 NTFS 分区和空闲空间。我的习惯是:如果这块盘不需要保留数据,先把所有现有分区删除,再从空闲空间开始建。如果还有数据要留,千万别点删除,直接在空闲空间上操作。

4.2 先建 /boot:主分区还是逻辑分区

选中空闲空间,点击“添加”按钮,会弹出“创建新分区”对话框。分区类型选择“主分区”,挂载点选择 /boot,新建分区容量建议 1G,格式可以是 ext4。点击“确定”后,界面里会出现一个挂载点为 /boot 的主分区。

这里要说明:老教程里 /boot 只给 128MB,在当年内核体积小的时候确实够用。现在 Ubuntu 的内核和 initrd 文件加起来虽然不大,但系统更新时会保留旧内核文件,给 1G 是减少后续维护成本。分区类型为什么选主分区?因为 GRUB 引导器对位于磁盘前部的分区兼容性最好,而且 MBR 下的主分区名额本来就够用。如果整块盘是 GPT 格式,这个限制不存在,你可以按 UEFI 的规范建 EFI 系统分区,而不是传统的 /boot。但在 Legacy BIOS 启动模式下,/boot 主分区是最稳的。

4.3 再建 swap:用于选择“交换空间”

继续选中剩余的“空闲空间”,点击“添加”。这次分区类型选择“逻辑分区”,“用于”下拉菜单选择“交换空间”,容量按内存来。以 4G 内存为例,swap 可以给 2048M。点击“确定”后,会出现一个没有挂载点、类型为 swap 的分区。

注意:swap 分区在安装器里不显示挂载点,它的“挂载点”字段显示为“交换空间”。如果你看到某个分区类型是“swap”但格式化为 ext4,那一定是选错了。创建 swap 时不需要指定挂载点,也不需要选择格式为 ext4,它由安装器自动处理。

4.4 按顺序创建 /、/tmp、/home 挂载点

剩余空间里,先建根分区。选中空闲空间,点击“添加”,分区类型选逻辑分区,挂载点选 /,容量给 10G-20G(虚拟机)或 150G-200G(物理机),格式 ext4。接着再为 /tmp 创建 5G 的逻辑分区,挂载点填 /tmp。最后把剩余所有空间给 /home,挂载点填 /home。

创建 /home 时,容量可以不填,直接让它把剩余空间全部使用,安装器会在界面上自动计算大小。这一步要留意“空间起始位置”的选项:如果你的磁盘还留有给别的系统用的空间,就必须手动指定起始位置,否则可能与已有分区冲突。全部建完后,手动分区界面会列出 4 到 5 个分区,分别对应 /boot、swap、/、/tmp、/home。

4.5 写盘前的最后检查:引导器位置与分区格式确认

点击“现在安装”之前,安装器会提示“您尚未指定根文件系统”或类似信息,请先确认根分区确实存在且挂载点为 /。如果少了这一步,安装器会拒绝继续。还要检查引导器安装位置。

在安装器底部或“引导程序安装到...”选项里,默认通常是 /dev/sda。这里不是让你选择 sda1 或 sda2,而是要写到整块磁盘的设备名,比如 /dev/sda。如果你选成了 /dev/sda1,GRUB 可能装到分区内,启动时容易出问题。双系统场景下,最好让 GRUB 写到启动磁盘的 MBR 上,也就是 /dev/sda。确认无误后,点击“现在安装”,安装器会弹出提示说“您即将写入磁盘”,选择“继续”后才真正开始格式化。这一步做好,后面启动就不会出现 GRUB rescue 的尴尬。

5. 安装分区避坑指南:五次翻车现场与对应的解决思路

这一章写的是我实际遇到过的问题,每一条都能在手动分区时踩到。

5.1 新电脑 UEFI 启动,/boot 分区建了却引导不了

现象:在 UEFI 启动的笔记本电脑上安装 Ubuntu,手动分区时只建了 /boot、/、/home,系统装完重启,直接进入 UEFI 设置界面,找不到 Ubuntu 启动项。

原因:UEFI 固件要求 GPT 分区表,且需要一个 FAT 格式的 EFI 系统分区,挂载到 /boot/efi。你只建了 ext4 的 /boot,没有创建 EFI 分区,固件里就没有可用的引导文件。

解决:如果你安装时选择的是 Legacy BIOS 模式,可以忽略这个问题。但如果机器是 UEFI 启动,需要在手动分区界面里创建一个大小约 100M-500M 的 EFI 系统分区,分区类型选择“EFI 系统分区”,格式为 FAT32,挂载点选 /boot/efi。实际安装时建议先确认 BIOS 的启动模式是 UEFI 还是 Legacy,再决定分区方案。这个坑在新笔记本上非常常见,是“光建 /boot 不够”的典型案例。

5.2 /boot 容量太小,内核更新几次就满

现象:系统更新时提示“/boot 空间不足”,安装新内核失败,旧内核还删不掉。重启后看到的可能还是旧内核版本。

原因:手动分区时 /boot 只给了 128MB 或 200MB。Ubuntu 每次内核更新都会生成新的 vmlinuz 和 initrd.img 文件,旧内核文件不会自动清理。几次更新后,/boot 分区就满了。

解决:安装时把 /boot 给到 1G。已经装满的情况下,可以用 sudo apt autoremove 清理旧内核,或者手动删除 /boot 下的旧版本文件。执行前先用 uname -r 查看当前内核版本,只删比它老的。如果你长期不维护,建议检查 /boot 剩余空间,低于 50M 就尽早清理。这个教训也让我在后续所有手动分区里,一律把 /boot 列为 1G。

5.3 swap 分区建太大,磁盘空间浪费严重

现象:给 16G 内存的机器分了 32G 的 swap,日常使用中 swap 占用始终是 0,白白吃掉 32G 磁盘。

原因:swap 是物理内存不够时的兜底。内存充足时,Linux 几乎不会使用 swap,除非你设置了很低的 swappiness。老教程说的“物理内存两倍”对低内存机器有意义,对 16G 以上内存的机器就是浪费。

解决:物理内存超过 8G 时,swap 给 4G-8G 足够。如果你需要休眠,swap 至少等于物理内存。如果安装时不留 swap,也可以后续用 swap 文件动态扩容,不必重新分区。我从那以后在内存大的机器上,都直接把 swap 容量减到内存的一半甚至忽略,系统运行没有区别。

5.4 手动分区时把 /home 和 / 都设在同一个分区

现象:安装时图省事,只建了一个 / 分区和一个 swap 分区,然后把 /home 的挂载点在同一个分区里又设了一遍。系统重装时选择格式化根分区,结果 /home 里的数据全部清空。

原因:挂载点是目录和分区的映射关系。如果 /home 和 / 指向同一个分区,就无法通过分区隔离来保护数据。手动分区界面允许你为同一个分区设置多个挂载点,但这样做的意义会失去。

解决:把 /home 单独建成分区,容量给大。重装系统时,选择 /home 分区并指定挂载点,但取消“格式化”复选框,根分区照常格式化,数据就保留下来了。这也是手动分区最大的收益:系统坏到无法启动,重装不影响个人文件。

5.5 安装器提示“没有根文件系统”或“引导器安装失败”

现象:手动分区全部建完,点“现在安装”时弹出错误,说未指定根文件系统,或者引导器无法安装到硬盘。

原因:创建分区时,挂载点 / 没有正确填写,或者分区类型没有选为可用于系统安装。引导器安装失败,则可能是因为你选错了目标设备,写到了分区而非整块磁盘。

解决:回退到手动分区界面,逐项检查:必须有挂载点为 / 的分区,swap 类型正确,/boot 存在。引导器安装目标选 /dev/sda,而不是 /dev/sda1。如果界面里显示“引导器安装到”下拉菜单,选择整块磁盘的名称,不带数字后缀。确认后再重新点击“现在安装”。这个检查我每次都会做一遍,因为安装器有时会把默认引导器目标指向 U 盘或其他可移动设备,装完拔掉 U 盘就找不到系统了。

6. 装完不是结束:用三条命令验证分区布局与后续调整

系统装完进入桌面后,我喜欢先打开终端执行三条命令,确认分区真的按预期落位了。第一条是 lsblk,它以树形结构显示块设备、挂载点和容量。执行后会看到类似下面的输出:

lsblk

输出里,sda1 挂载在 /boot,sda2 是根分区,sda5 是 swap,sda6 是 /home。每一行的 MOUNTPOINTS 列会显示挂载点。如果你发现 /home 那行没有挂载点,说明安装时可能漏建了分区。

第二条是 df -h,它显示文件系统空间使用情况。执行后重点看 Use% 这一列,根分区和 /home 的使用率都不应该超过 80%。如果根分区已经到 90%,说明安装时容量给小了,趁数据还少,用 GParted 调整一下还来得及。

df -h

第三条是 blkid,它显示分区的 UUID 和文件系统类型。在以后写 /etc/fstab 做开机自动挂载时,会用到这里输出的 UUID 值。

blkid

关于后续调整,我想多说一句:GParted 可以在图形界面里拖动分区大小,但调整分区必须从后往前,且不能动正在使用的分区。扩容 /home 时,要先在 GParted 里卸载它,再调整大小。如果你的根分区和 /home 之间的位置比较特殊,调整就会受空间连续性限制。所以安装时把 /home 放在最后是有讲究的,这样后续扩容最容易。

我从那以后,每次装完 Ubuntu 都会强制走一遍 lsblk 和 df -h,再顺手看一下 /boot 的剩余空间。养成这个习惯之后,因为分区问题重装的次数基本为零。这套手动分区流程虽然比自动分区多花几分钟,但换来的数据安全和维护便利性,长期来看是值得的。希望帮到你。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/6 11:15:38

网络103规约联调避坑:故障录波与FUN/INF映射实战

简介:南瑞继保网络103规约文档是电力系统远动通信领域的专业参考资料,面向调度自动化、变电站集控及二次设备调试维护人员,解决标准103规约在实际工程中如何适配南瑞继保设备与网络环境的问题。内容涵盖基于IEC 60870-5-103的扩展功能&#x…

作者头像 李华
网站建设 2026/10/6 11:15:37

GitHub趋势速览与新手实操:从热门项目到高频问题一次讲清

今天照例睡前刷一遍GitHub Trending,顺手翻了翻热搜关键词,发现几个挺有意思的变化。早上的时候AI应用层项目还占着半壁江山,到了晚上生活方式类的仓库反而冲了上来,howtolivebetter 这个项目的 Release 页流量尤其夸张。与此同时…

作者头像 李华
网站建设 2026/10/6 11:14:56

单文件AI编码代理:集成GUI操控与MCP协议实战

1. 为什么我要自己造一个 AI 编码代理 市面上能写代码的 AI 工具已经多到挑花眼,从 IDE 插件到云端 Agent,功能一个比一个花哨。但真正用起来,总有几个地方让我如鲠在喉。最核心的痛点是:绝大多数工具都要求你把代码传到别人的服务…

作者头像 李华
网站建设 2026/10/6 11:14:31

EGO-Planner与D435i实现无人机自主导航:从仿真到真机全流程指南

最近总有人私信我,说在B站刷到浙大Fast-Lab那套无人机自主导航视频,被EGO-Planner在杂乱走廊里穿来穿去的效果震撼到了,想在自己飞机上复现一套。但真上手之后,不少人卡在第一步——视频里看起来就是“一个四旋翼带着Intel RealSe…

作者头像 李华
网站建设 2026/10/6 11:14:31

DeepSeek Janus-Pro-7B多模态模型部署与调参实战指南

简介:多模态模型是当前AI工程化落地的重要方向,它能同时处理图像与文本,将视觉理解与内容生成统一到一个模型中。这类模型通常基于自回归语言模型架构,通过共享权重实现图文双向转换,从而降低显存占用和运维成本。在工…

作者头像 李华
网站建设 2026/10/6 11:13:26

企业大模型网关与Agent开发:架构设计、CLI工具链与生产落地实践

1. 企业大模型网关到底解决什么问题 1.1 从一个真实痛点说起 去年我帮一家做企业服务的团队做技术咨询,他们内部有十几个业务系统,客服、工单、代码助手、文档问答各用各的模型接口。结果就是:OpenAI的key散落在七八个项目的环境变量里&…

作者头像 李华