ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Ubuntu安装分区完全指南:从概念到实操避开所有坑

Ubuntu安装分区完全指南:从概念到实操避开所有坑 自己装Ubuntu这么多年说实话安装过程里最容易让人心里打鼓的就是分区这一步。我见过太多人前边一路点“下一步”很顺畅到了“安装类型”这个界面突然就卡住了一堆名词看不懂又怕点错把整个硬盘清空最后只能留在原地反复犹豫。这篇文章就把Ubuntu系统安装时的分区这件事从头到尾捋清楚覆盖分区原理、方案设计、手动分区的完整实操步骤以及我在实际安装中踩过和见过的各种坑。只要你准备动手装Ubuntu这篇文章就适合你不管你是第一次在虚拟机上试水还是准备给主力台式机搞个双系统。1. 动手分区前先把这些准备工作做对1.1 备份数据是硬前提别用“应该没事”赌运气很多教程跳过了备份这一步但我必须先说分区操作的本质是修改磁盘上的分区表分区表一变轻则数据路径变了重则整个分区都没了。即使你自认为每一步都点得很正确也架不住意外状况——比如安装程序崩溃、断电或者你在选择安装位置时手误选成“清除整个磁盘”。我自己的习惯是正式分区前把重要的个人文件至少复制两份一份放移动硬盘一份放在网盘或另一台机器上。Windows用户别只看C盘桌面上、文档文件夹里的内容往往比你想的要多。顺便提一句如果你在Windows里装了“傲梅分区助手”这类工具备份这一步用它们自带的“备份分区”功能也能做但我更推荐直接复制文件简单直接回滚成本低。1.2 确认引导模式UEFI和Legacy分区方案完全不一样分区方案和引导模式强绑定。现在市面上绝大多数电脑都是UEFI引导搭配GPT分区表而老式电脑或某些特殊需求才用Legacy BIOS搭配MBR分区表。这两个模式下分区方案差别很大。怎么快速确认自己的电脑是哪种模式有几种办法在Windows里按Win R输入msinfo32回车在“系统概要”里看“BIOS模式”那一项显示“UEFI”就是UEFI模式显示“传统”就是Legacy模式。重启进BIOS/UEFI设置界面看启动选项里有没有带“UEFI”字样的引导项或者“CSM兼容模式”是否开启。如果用U盘启动安装程序GRUB菜单通常会区分“UEFI模式启动安装程序”和“Legacy模式启动安装程序”。不确定的话优先按UEFI GPT处理这是目前最主流、最不容易出问题的组合。但要注意UEFI模式和Legacy模式不能混在一起启动U盘的方式必须和后续安装方式保持一致否则装完会出现类似“找不到引导设备”的问题。1.3 制作启动盘Rufus和Ventoy都是好工具启动盘建议用一个至少8GB的U盘。工具上Windows环境里Rufus是首选选择GPT分区表、UEFI模式、FAT32文件系统写入镜像即可。Ventoy也值得推荐它装好后是一个引导管理器你把Ubuntu的ISO文件直接丢进去就能启动还能同时放其他Linux发行版镜像、Windows镜像、PE工具日常维护特别方便。做的过程中注意几个容易翻车的细节制作启动盘会清空U盘务必确定U盘里没有重要数据。写入完成后Windows有时会提示“需要格式化U盘”千万不要点这是在提醒你U盘上有它不认识的启动数据。为了验证U盘能用建议制作完成后把它插到电脑上先进一次Live环境看到桌面再关掉再走正式安装流程。这一步能筛掉大量U盘没写好的问题。1.4 在Windows里提前腾出空间而不是在安装界面里硬缩如果你是准备Windows和Ubuntu双系统最稳妥的做法是在Windows磁盘管理里先把空间腾出来。具体操作是在Windows下按Win X选择“磁盘管理”在你要压缩的卷上右键选择“压缩卷”输入想要腾出的空间大小。这个过程不会破坏已有数据只是把磁盘尾部的空闲区域划出来。用第三方工具比如傲梅分区助手也能做类似操作而且它们处理C盘扩容、调整相邻分区大小的时候更灵活。我就遇到过用Windows自带磁盘管理无法压缩的情况原因是磁盘上存在“无法移动的文件”卡在中间区域导致可压缩空间远小于理论值。此时用傲梅分区助手之类的工具往往可以绕过这个限制因为它们会把文件整理得更彻底。同时要注意Windows的隐藏分区。品牌机一般自带WinRE恢复分区和DRV厂商驱动分区前者是Windows恢复环境后者存放原厂驱动和恢复镜像。这两个分区会占用几个GB的空间正常情况下不要删。如果确实考虑过删除它们来腾空间我的建议是先在Windows里做好恢复U盘确认系统恢复手段有了备份再动否则以后系统出问题连救援入口都没有。2. 分区先搞懂这些概念再动手也不迟2.1 MBR、GPT、UEFI、Legacy四者关系一次说清MBR和GPT是两种分区表格式相当于磁盘的“目录索引”UEFI和Legacy是两种固件启动规范相当于电脑开机时找操作系统的方式。它们之间的匹配关系用一张表来总结组合分区表格式适用场景特点UEFI GPTGPT现代电脑Windows 10/11预装机器支持2TB以上磁盘支持更多主分区启动速度快推荐Legacy MBRMBR老电脑、特殊设备、某些Windows XP/7时代机器兼容性最好但不支持2TB以上磁盘最多4个主分区UEFI MBRMBR不推荐有些主板支持但兼容性比较尴尬容易引导失败Legacy GPTGPT不常见某些主板配置需要额外配置普通用户别碰GPT下你不再受“4个主分区”的限制想建多少个主分区都行这一点对Linux用户特别友好因为Linux的挂载点分配习惯上喜欢把各个目录拆到不同分区。2.2 Linux分区里的几大角色/、/home、swap、EFI分区Linux的分区和Windows“C盘D盘”的逻辑不太一样它采用“挂载点”的概念——不是给分区分配一个盘符而是把它挂载到一个目录上。对Ubuntu安装来说常见挂载点有这几个根分区/整个系统的根基所有其他挂载点都是根目录下的子目录。系统程序、库文件、内核都放在这个分区。空间紧张时根分区满了会导致系统运行异常、程序无法写入文件所以大小要给足。家目录/home用户文件的家所有普通用户的桌面、下载、文档、配置文件都集中在这里。独立分出/home的最大好处是将来系统升级或者重装时只要不格式化它个人文件就能原样保留。交换空间swap用来充当内存溢出时的“后备仓库”。当物理内存不够时内核会把暂时不用的内存数据挪到swap里腾出内存给当前进程。以前内存小的时候swap几乎是必需品现在内存普遍16GB起步swap的作用被弱化了但在休眠功能和内存峰值场景下仍然有价值。EFI系统分区ESP这是UEFI引导模式下的必配分区一般挂载到/boot/efi格式是FAT32。电脑开机后固件从这里读取引导程序再由引导程序加载Linux内核。这个分区一旦损坏操作系统就进不去了。市面上很多“安装完Ubuntu进不了Windows”的问题根源都在ESP分区上。/boot分区承载引导加载程序要读取的文件包括内核镜像和initramfs。大多数普通用户不需要单独分但如果你用了LVM、全盘加密或者某些特殊的磁盘驱动单独给一个/boot分区能大大降低启动问题的排查难度。BIOS引导分区bios_grubLegacy模式下如果磁盘本身是GPT分区表就需要一个1MB左右、无文件系统的分区让GRUB存放核心引导代码。这个大多数新手用不到但如果你的磁盘是GPT而电脑走Legacy模式就得手动加它。2.3 文件系统之间怎么选ext4、swap、FAT32Linux的可选文件系统不少Ubuntu安装界面里能看到ext4、xfs、btrfs、jfs等选项但对大多数桌面用户直接选ext4就是最省心的选择它成熟、稳定、默认支持权限管理兼容性极好。其他几个酌情考虑xfs大文件性能很强适合服务器数据库等场景但缩容困难桌面用户没必要折腾。btrfs快照和压缩能力强Ubuntu安装器里选LVM或ZFS时有涉及但机制复杂一旦出问题排查难度大新手慎入。FAT32只能用于EFI系统分区和跨平台U盘。单文件超过4GB的情况在FAT32下无法处理所以别拿它做根分区。swap这是Linux的交换空间本质上不是传统意义上的文件系统而是格式化出来的交换区域。安装界面里类型选“交换空间”、挂载点留空即可。有个容易绕晕的点分区和文件系统是两个层面的概念。分区是磁盘划分出来的一个区域而文件系统是这个区域采用的“数据库格式”。你在安装器里看到“创建新分区”之后还要选“用于”use as就是让分区“服用”某种文件系统的意思。3. 不同场景的分区方案直接照着用就行3.1 单系统纯净安装一个根分区加一个swap就够了如果你确定这块磁盘只用来装Ubuntu不想保留其他系统那么分区方案可以非常简单。以UEFI GPT为例我推荐这样分一个512MB的ESP分区类型EFI System Partition挂载点/boot/efi。一个swap分区大小根据内存来定下文细说。一个根分区/用掉剩下的全部空间文件系统ext4。这是我最常用的个人桌面方案。根分区吃下所有剩余空间好处是永远不会遇到“某个分区满了”的窘境系统自动给各目录分配空间空间利用效率最高。缺点嘛重装系统时个人文件不好保留但这可以靠备份来解决不是大问题。3.2 双系统方案Windows和Ubuntu共存的分区布局如果你希望Windows和Linux共存需要注意的是两者共用一块磁盘时Windows必须先装好再装Ubuntu顺序反了会给自己找一堆麻烦。分区方案可以这样规划UEFI GPTWindows的C盘、D盘保持原来的分区不动。之前压缩出来的未分配空间交给Ubuntu。在这块空间上创建一个512MB的EFI系统分区如果Windows安装时已经自动建立了ESP理论上可以和Ubuntu共用那个ESP但我的经验是共用容易操作但为了安全隔离新建一个也不是不行。关键是别格式化Windows原来的ESP否则Windows引导直接没了。一个swap分区。一个根分区/建议40~60GB起步具体看你装的软件量。一个家目录/home把剩余所有空间给它。装好后GRUB启动菜单会自动识别Windows Boot Manager你开机就能看到双系统选择界面不需要安装什么EasyBCD之类的工具。3.3 独立/的和/home怎么选看看这些经验再决定“根分区和/home分区分不开”是Linux新手经常纠结的问题。我给三个建议对应三种场景新手、虚拟机、临时体验用户不分/home全给/。简单省事不需要提前规划空间大小。主力机、打算长期使用、经常重装系统的玩家分开。重装时保留/home挂载点不格式化系统随便重装照片文档配置全都在。服务器、数据中心场景不仅要分/home还要考虑把/var、/opt、/srv等目录单独分出来。这是为了隔离日志、服务数据、应用数据防止某个服务写爆磁盘把整个系统拖垮。但这是运维范畴了桌面用户不必这么复杂。3.4 swap到底给多大用体验和数据说话swap大小没有一个绝对公式但可以按这组经验值来物理内存大小swap推荐方案4GB及以下和内存等大或稍大至少4GB8GB ~ 16GB4GB ~ 8GB可以考虑休眠功能需要的“内存等大”值32GB及以上可以只给2GB甚至完全不要swap如果你依赖“休眠到磁盘”功能swap需要大于等于物理内存大小这是硬性条件。如果只是普通桌面使用即使内存不够也有系统OOM机制兜底swap象征性给一点即可。我自己的32GB内存机器上swap只给了2GB用了几年没出过问题。3.5 服务器或虚拟机场景的一个高效替代方案LVM如果你玩的不是桌面而是服务器或者你打算在一台机器上做很多实验建议了解一下LVM逻辑卷管理。它的核心价值在于用逻辑卷替代物理分区当你觉得某个卷空间不够时可以在多块硬盘之间动态扩容不需要重新分区。Ubuntu服务器安装时安装器的“配置逻辑卷管理器”选项会帮助你创建LVM默认的引导分区/boot仍是普通分区防止LVM驱动加载失败导致无法引导。等系统装好后你用lvextend和resize2fs命令就能在线扩容。不过对于桌面用户LVM的复杂度往往大于收益没有特殊需求就不建议尝试。我记得Ubuntu桌面版安装器在“安装类型”里也有“LVM”选项新手如果选了这个后续的维护复杂度会明显升高慎重。4. 手动分区实操全流程从“安装类型”到“立即安装”4.1 进入安装类型界面选择“其他选项”启动安装盘后前面几步基本上就是选择语言、连接网络、安装第三方驱动之类。到了“安装类型”界面你会看到几个选项正常安装、清除整个磁盘并安装Ubuntu、与Windows共存以及下方一个不太起眼的“其他选项”。我强烈建议做手动分区时选“其他选项”只有这样才能精确控制每个分区。使用默认“清除整个磁盘”虽然快但会无差别地处理掉全盘数据很多人只是想在某个空闲区域里装系统点这里往往就翻车了整个磁盘被格式化。需要注意的是如果你在启动U盘时没控制好UEFI和Legacy模式进入“其他选项”后磁盘往往显示为全空这通常是模式不匹配导致安装器找不到已有分区此时返回重启并调整启动方式即可。4.2 在“其他选项”界面上逐个创建分区进入“其他选项”后安装器会列出当前磁盘和已有分区。每行显示设备名、分区类型、大小、文件系统类型、挂载点。空闲区域会单独显示。创建分区的操作路径是选中“空闲区域”点击下方的加号然后弹出的窗口里填写以下参数大小单位是MB。新分区类型主分区 / 逻辑分区。在GPT分区表下这个选项基本没意义默认就行。新分区位置开始 / 结束。一般不用管。用于下拉选择文件系统类型。挂载点下拉选择挂载点。用UEFI GPT、512GB磁盘、双系统为例我的实际操作步骤通常是第一步选中空闲区域创建一个512MB的分区用于选择EFI System Partition挂载点不填或填/boot/efi不同版本安装器表现略有差异类型主分区。这个分区就是ESP。第二步再选空闲区域创建swap。大小按前面表格来用于选择交换空间挂载点自动留空。第三步继续选空闲区域创建根分区/。大小给50GB左右用于选择Ext4日志文件系统挂载点选/。第四步如果打算单独分/home再选剩余空闲区域创建home分区。大小给全部剩余空间用于选择Ext4日志文件系统挂载点选/home。分区创建完后安装器下方还有一个“安装启动引导器的设备”下拉框这是最容易出错的地方。很多人不知道这个选项是干什么的其实它决定了GRUB引导程序写入哪块磁盘。如果你只有一块硬盘且是UEFI引导那么不需要额外调整安装器默认会往EFI分区写入引导程序这是正确行为。如果你有多个磁盘建议直接选择Windows所在的那块物理盘通常就是/dev/sda或者/dev/nvme0n1不要选择分区本身而选择整块磁盘。如果你在第三方系统里安装或者想装引导到U盘才需要显式选择目标。我的建议是新手装单系统或双系统就保持默认让安装器自行处理不要乱改。4.3 立即安装前的最终检查和确认分区建好、挂载点设置完后点击“现在安装”安装器会弹出确认框让你逐条确认要格式化的分区。这里一定要仔细逐条读“在 /dev/sda1 上创建文件系统为 FAT32” 指的是EFI分区正常。“将 /dev/sda5 格式化为 ext4挂载点 /” 指的是根分区正常。如果出现某个你已经存有数据的Windows分区的格式化提示绝对不能点确认此时应该返回检查是不是挂载点选错、分区选错。点击“继续”后安装器才开始真正写盘和复制文件。这个过程要几分钟不等期间不要断电、不要重启。装完后重启前记得拔掉U盘否则部分机器会再次从U盘引导造成“装完了怎么还在安装界面”的错觉。4.4 装完之后进不去系统引导修复三板斧装完Ubuntu重启后常见的异常就是直接进了Windows而没有任何GRUB菜单或者GRUB菜单里只有Ubuntu没有Windows。先别急着重装按这个优先级排查先确认是不是启动顺序的问题。进BIOS/UEFI设置把ubuntu或EFI/ubuntu/shimx64.efi相关启动项调到第一位。UEFI模式下GRUB和Windows Boot Manager是并存的两个启动项它们互不覆盖。再确认EFI分区状态。如果在安装过程中误格式化了Windows的ESP分区Windows引导就会被破坏此时需要用boot-repair工具修复。写一个Ubuntu Live启动盘进入Live系统联网后执行sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt update sudo apt install boot-repair boot-repair点击“推荐修复”它会自动检测并重装GRUB并把Windows引导项链入GRUB菜单。这个工具救回过我好几次值得收藏。5. 常见报错和分区管理里的那些坑一次说透5.1 “bitmap中有标记不能分区”——文件系统损坏的典型症状这个报错我在多个Linux社区看到过使用GParted或Ubuntu安装器对某块磁盘分区时常见提示“bitmap中有标记不能分区怎么弄”。别被这个中英夹杂的提示吓住它一般意味着你要操作的分区上文件系统内部的元数据bitmap出现了不一致可能是由于之前强制断电、非正常关机、或者Windows快速启动导致的文件系统“脏”状态。处理思路是先用修复工具检查而不是直接抹掉数据。如果是ext4文件系统安装盘Live环境里先打开终端确认设备名比如sudo blkid或sudo lsblk然后卸载分区再执行sudo umount /dev/sdXn sudo fsck.ext4 -f /dev/sdXn修复完成后再回安装器分区通常报错就消失了。如果fsck提示大量错误无法自动修复说明文件系统损坏比较严重再考虑格式化或使用testdisk等数据恢复工具。如果你的磁盘在Windows下用过并且开启了“快速启动”在Windows里正常执行一次“关机”而不是“重启”或者彻底关闭快速启动功能能减少许多Linux读取NTFS分区时的文件系统异常这类问题在双系统用户中非常普遍。5.2 曾选“清除整个磁盘”却没有未分配空间怎么办有朋友在Windows里明明压缩了磁盘空间到了Ubuntu安装器里却看不到未分配空间。一种情况是刚才提到过的UEFI/Legacy模式不匹配另一种情况是压缩空间时Windows没有正确释放分区锁。简单说Windows的磁盘管理和Linux看到的“分区表”常常不是同一个视角。Windows压缩卷后如果没有正常关机就直接重启进UbuntuNTFS分区可能带有脏标记Linux安装器往往会把整块磁盘视为“忙碌状态”不开放空间调整。解决方法是在Windows里执行一次完全关机按住Shift键再点关机也可以这是跳过快速启动的经典操作再启动Ubuntu安装介质。如果还不行就用Windows的管理工具 - 计算机管理 - 磁盘管理删除未分配空间中间多余的恢复分区或者用第三方工具重新调整分区结构。但删除分区前务必清楚自己删的是什么宁可多花时间确认也不要盲操作。5.3 安装后想调整分区大小GParted和Disks工具能救命系统都用起来了才发现/分区给小了或者swap想加大这很正常。这时不需要重新安装系统用分区工具就能在线调整。桌面环境里最常用的是GParted。通过命令安装sudo apt install gparted启动后选择目标磁盘右键分区选择“调整大小/移动”拖动滑块或者直接输入大小值点应用即可。需要注意的是GParted调整根分区时因为根分区正在被系统使用通常需要在Live USB环境中操作使用Ubuntu安装U盘启动到Live体验环境然后运行GParted去调整原系统所在磁盘操作完再重启回原系统。数据安全第一务必先备份再调整。Ubuntu自带的磁盘工具gnome-disks也能做基本的格式化、创建分区但它的功能相比GParted弱不少适合应急场景而不是做复杂的调整操作。5.4 分区卸载失败target is busy或设备忙怎么破有时候你想卸载某个分区系统提示target is busy或者device is busy这通常说明该分区正被某个进程占用。可以用lsof或fuser定位是哪个进程sudo lsof /mnt/mydata sudo fuser -vm /mnt/mydata找到占用进程后关闭它或使用sudo umount -l做惰性卸载先断开挂载点等进程用完后再真正卸载。但要明白这种“强制卸载”有数据丢失风险优先还是找到占用方、正常退出再卸载。在安装器里有时也会遇到分区表删除不掉的情况解决办法通常是打开终端手动swapoff -a关闭所有swap区域然后udevadm settle等待内核更新磁盘状态再回到安装器操作。5.5 重装系统想保留数据记住这两个前提很多朋友重装Ubuntu就是为了换个版本或者救活坏掉的系统同时保住/home里的文件。想干这事有个前提条件当初安装的时候就得把/home独立成单独分区。如果你之前是“根分区全盘通吃”重装时“保留数据”就别想了除非你先把文件备份出去。重装时手动分区的要点是在“其他选项”里选中原来的/home分区“用于”保持ext4不变挂载点选/home最关键的是千万、千万不要勾选“格式化此分区”。同样原来的根分区/要勾选“格式化”这样才能把系统文件清干净。重装完登录后你的个人配置文件和文档会原样出现在/home下连壁纸和图标主题都在。5.6 GPT分区表数量和开机引导的隐藏坑有一些主板在UEFI模式下对GPT分区数量有限制或者某个引导程序对ESP分区位置敏感。遇到过一台机器Windows在GPT磁盘的起始位置Ubuntu装在磁盘尾部结果GRUB能找到Windows但启动Windows时报错0xc000000e。最后在Windows的恢复模式下执行了bootrec /fixmbr和bootrec /rebuildbcd才恢复。这类问题的通用排查思路是不要把ESP分区放在磁盘最末尾某些固件只会在起始区域扫描引导文件尽量让ESP在磁盘前部。同时UEFI启动项数量优先于是否单独的ESP分区安装时如果发现ESP已经存在且空间足够可以直接复用现有ESP分区而不要为了“干净”去格式化它。我之前也有一次自己装了双系统两个系统各建一个ESP结果主板只能识别其中一个排错排得头大。后来干净安装就统一使用一个ESP分区双系统稳定共用了两年多。5.7 虚拟机里安装Ubuntu的分区建议如果你是在VMware或VirtualBox里装Ubuntu分区逻辑和物理机略有不同。虚拟磁盘默认是UEFI或BIOS模拟所以你依然会遇到ESP或者GRUB引导问题。虚拟机场景下我通常直接让安装器用“清除整个磁盘并安装Ubuntu”因为虚拟磁盘里几乎没有需要保留的数据手动分区只会增加无意义的工作量。虚拟磁盘容量建议至少给40GB太小了后期扩容麻烦系统更新和缓存很容易把空间吃光。另外虚拟机的swap不需要太大因为宿主机可以不设swap甚至禁止换页虚拟机的swap本质上是“磁盘里的内存”性能远不如宿主机内存。6. 安装完成后再补三个实用小经验6.1 装完系统后先把分区挂载信息确认一遍装机完成进系统后可以在终端里看一眼分区挂载情况lsblk df -h这两条命令分别展示磁盘设备树和文件系统使用率。如果发现某个挂载点没有按预期挂载先别乱操作用blkid看下分区的UUID再对照/etc/fstab里的配置确认是否存在UUID写错的问题。手动调整过的分区挂载关系建议先在终端里执行sudo mount -a测试配置是否有效再重启。6.2 双系统时间不准让Windows和Linux用同样的时间基准很多装双系统的朋友会遇到“进Windows后时间快了8小时”的问题这并不是分区问题而是Windows默认把CMOS时间当成本地时间而Linux默认当成UTC时间。解决办法很简单在Ubuntu终端里执行timedatectl set-local-rtc 1执行完重启后两个系统的时间就能保持一致了。这个命令本质上是让Linux也把硬件时钟当作本地时间非常适合双系统用户。6.3 用NVMe硬盘时分区对齐和固件更新别忽视如果你用的是NVMe固态硬盘安装Ubuntu时分区对齐一般不需要手动干预现代Ubuntu安装器会默认按最优扇区对齐。但固件更新这块很多教程不会提部分NVMe盘在Linux下会偶发掉盘或性能下降建议定期去硬盘厂商官网看看有没有固件更新。分区对齐的验证方法是在Ubuntu里执行sudo fdisk -l查看分区的起始扇区如果起始扇区可以被8整除常见是2048或类似值基本就说明对齐良好。如果是老机器上的机械硬盘或者老SSD同样适用这个检查方法。6.4 一个我自己的小习惯把分区方案截图存下来每次手动分区在点击“现在安装”之前我都会用手机拍一张安装器界面的照片或者用磁盘工具导出一份分区表信息sudo sfdisk -d /dev/sda partition-backup.txt这份记录在系统出问题、或者想复盘当初是怎么分配的时候特别有用。你可以把这套习惯带走装系统是低频操作但记录却很救命。遇到“当时怎么分的现在忘了”的尴尬场景这就不是麻烦而是礼物了。
返回列表