资讯动态

Ubuntu重装与重新分区实操指南:分区规划、备份恢复与避坑

发布时间:2026/9/17 1:37:18 来源:尧图企业网站定制
准备重装Ubuntu这件事通常不是“系统坏了”这么简单。绝大多数人折腾半天真正的原因是当初分区就没规划好——根分区被塞满、/home空间不够用、swap小到一休眠就卡死。我自己的机器就是这么过来的某天提示“No space left on device”一查根分区只剩几百MB当时又没有单独分/home想清理都不知道从哪下手。最后没办法只能走一遍Ubuntu重装与重新分区的完整流程。这篇文章就把我这次从备份、做启动盘、手动分区到重装后恢复的完整过程聊透。写给正在用WindowsUbuntu双系统、或者准备从单Windows系统切换到Linux想把磁盘布局一次规划明白的读者。重点放在重新分区这一步分区方案怎么选、每个分区该给多大、哪些坑必须避开都会给出可直接照抄的参数和操作路径。1. 动手之前先想清楚分区到底该怎么规划1.1 为什么大部分重装都是“分区惹的祸”很多人装Ubuntu的时候图省事直接选了“清除整个磁盘并安装Ubuntu”或者让安装器“自动分配空间”。当时觉得能用就行结果用了一个月就开始难受系统更新几次根分区就见底了下载的镜像、打包的数据全堆在根目录越用越卡。还有一个很隐蔽的问题如果分区时没有单独划/boot/efi重装系统后Windows的引导会被覆盖得一干二净。双系统用户遇到“开机直接进Ubuntu、找不到Windows入口”多数是重装时引导分区处理不当造成的。这些问题的根源不是系统本身而是分区规划没有考虑后续的使用习惯。所以我一直建议只要不是公司急用的机器装Ubuntu一定要走一遍手动分区。这个流程不复杂但能帮你把磁盘后半辈子的扩展性定下来。1.2 先认清当前机器的引导模式UEFI还是Legacy分区之前先确认电脑是UEFI引导还是传统BIOS引导。2015年之后的品牌机、笔记本基本全是UEFIGPT只有一些老机器还在用LegacyMBR。查看方法很简单开机时进BIOS设置看Boot Mode是UEFI还是Legacy或者看现有Windows安装方式——如果Windows安装在GPT分区表上就是UEFI。两种引导模式对应不同的分区方案引导模式分区表类型必须有的分区最大分区支持UEFIGPTEFI系统分区FAT32极大超过2TB也没问题LegacyMBR主分区扩展分区单分区最大2TB最多4个主分区这个问题搞错了会非常麻烦。曾经有个朋友在UEFI机器上硬套MBR方案安装器怎么都不识别Windows引导最后查了半天才发现是分区表类型选错。所以不要跳过这一步5分钟确认清楚能省一下午。1.3 一套适合大多数人的磁盘划分方案既然要重新分区我的建议是摒弃“一个根分区走天下”的思路按用途拆分。以一块512GB的SSD为例如果做双系统分区方案可以这样规划EFI系统分区建议至少512MB如果硬盘超过2TB或将来可能装多系统建议1GBSwap分区如果不使用休眠8GB到16GB足够具体算法后面细说根分区/建议至少60GB日常使用、开发环境、Docker镜像等都够用家目录/home剩余所有空间都给/home。这个方案的核心思路是把“系统本身”和“用户数据”分开。根分区是系统的“C盘”/home是你的“D盘”。以后系统坏了要重装只要在安装器里指定挂载点、不勾选格式化/home数据就能全部保留。这种设计不是谁拍脑袋想的而是Debian、Ubuntu服务器版里非常经典的做法只是桌面版安装向导默认不这么干。如果是1TB以上的机械硬盘可以额外划一个数据分区挂载到比如/data专门放镜像、虚拟机文件这类大块头。不过对绝大部分桌面用户来说/和/home分开已经足够。2. 备份清单与启动盘制作别忽视的两个前置环节2.1 重装前至少备份这三个地方很多人重装前只顾着备份文档、照片结果装完才发现忘了几个重要的东西。这里列一份我自己的备份清单每次都照这个来家目录下的隐藏配置比如.bashrc、.ssh、.config目录、.local目录。这些是Shell配置、SSH密钥、各种软件配置的大本营。SSH密钥丢了基本没法找回.ssh目录必须优先备份包管理器的已安装列表Ubuntu下可以用dpkg --get-selections导出软件包列表重装后一键恢复。代码库、Docker镜像这些可以用docker save导出浏览器书签和密码Firefox/Chrome登录过账号的可以直接同步没同步的至少导出书签和密码CSV。备份介质建议用移动硬盘或另一台机器不建议直接放在要重装的那块盘的另一个分区里万一分区表操作失误整个盘都打不开。导出软件列表的命令是dpkg --get-selections ~/backup/installed-packages.txt重装后恢复dpkg --set-selections ~/backup/installed-packages.txt sudo apt-get dselect-upgrade这个方法在Ubuntu不同版本之间迁移时也能用虽然个别第三方源的包会提示找不到但官方源里的基础软件基本都能恢复。2.2 启动盘的两种制作方式制作Ubuntu启动盘我推荐用Rufus或balenaEtcher两个都是图形界面工具下载ISO后几步搞定。Rufus在Windows下用注意分区类型要选“GPT”目标系统选“UEFI非CSM”否则做出来的启动盘在UEFI机器上会识别不到。如果本身在Linux环境下也有更快的纯命令行方式sudo dd ifubuntu-22.04.4-desktop-amd64.iso of/dev/sdb bs4M statusprogress注意是of/dev/sdb不是sdb1。dd命令会覆盖整个U盘分区表也会被重写千万别写错设备名。这个方式最干净做出来的启动盘跟官方镜像几乎一模一样。2.3 进入安装器之前先在这三个选项上停一下开机从U盘引导之后会先看到GRUB菜单。第一项是“Try or Install Ubuntu”可以直接回车。进入试用桌面后桌面上的安装图标才是正式的安装入口。这里其实有个很多人没注意的小技巧建议先进“Try Ubuntu”试用模式打开GParted分区工具先把磁盘摸清楚再动手。GParted在试用桌面里自带能直观看到当前磁盘的分区情况、每个分区的类型和大小。这样在正式进入安装器之前心里已经有一个清晰的分区地图免得到时候稀里糊涂。3. 安装器里的重新分区实操从挂载点到启动器的完整流程3.1 什么时候可以选“清除整个磁盘”什么时候必须手动分区很多教程会直接告诉你选“清除整个磁盘并安装Ubuntu”这其实没那么万能。这个选项只适合两种场景一是这台机器确定这辈子只用Ubuntu二是双系统里Windows已经完全不想要了。只要你的电脑里还留着Windows或有任何数据要保留就必须选“其他选项”Something else手动分区。这是重装流程中最关键的一个入口。另外要特别提醒一下如果选择“清除整个磁盘”安装器会在磁盘上自动创建EFI分区、根分区和swap分区。这种自动方案的EFI分区一般只有100MB对于日常单系统没问题但如果以后想装多系统或经常重装100MB的EFI分区会很快被多个系统的引导文件挤满。3.2 手动分区的完整操作步骤进入“其他选项”后安装器会列出磁盘和现有分区。这时根据之前规划好的方案一步步操作第一步识别磁盘设备名安装器里以/dev/sda、/dev/nvme0n1这种形式显示磁盘。注意看“Size”列和“Type”列确认哪块是目标磁盘。NVMe固态盘显示为/dev/nvme0n1p1这种格式SATA磁盘显示为/dev/sda1这种格式。第二步调整已有分区如果之前已经有Windows分区先选中Windows的系统分区和恢复分区点“Change”更改用剩余空间腾出空区块。注意这里有个重要的区分Change是修改分区参数Delete是删除分区。腾空间选Change改大小删数据选Delete。操作时安装器会实时显示剩余可用空间很方便。第三步创建EFI系统分区选中空闲空间点“”弹出对话框里大小输入512或1024MB类型EFI系统分区如果安装器没自动识别就选FAT32文件系统挂载点/boot/efi第四步创建Swap分区再在空闲空间上点“”大小按个人情况一般8GB到16GB类型交换空间swap挂载点不用选安装器会自动识别swap第五步创建根分区大小60GB或更大类型Ext4日志文件系统挂载点/第六步创建/home分区剩余所有空间给/home大小剩余空间的全部类型Ext4挂载点/home关键的一步来了在“安装启动引导器的设备”下拉框中务必选择整个磁盘设备比如/dev/nvme0n1不要选分区。选分区会导致引导文件写到某个具体分区里双系统切换时可能会出现引导丢失的情况。设置完成后点击“现在安装”安装器会问你是否确认要将改动写入磁盘确认之前再花10秒钟检查一遍分区列表挂载点有没有写错、/home有没有被误格式化重装系统想保留数据时/home不要勾选格式化。3.3 分区大小的计算逻辑为什么swap不建议瞎填swap分区的大小一直有争议关键看使用场景只是日常办公、浏览网页的swap给小一点4GB就够因为现在物理内存普遍16GB起步系统很少会真的把swap用起来开虚拟机、跑编译任务或者经常把大内存占满的swap给到和内存一致的大小会更稳比如16GB内存就配16GB swap需要休眠的swap必须大于等于物理内存大小因为休眠会先把内存内容写入swap再断电swap小于内存休眠就直接失败。其实从Ubuntu 18.04开始官方已经默认用swap文件代替swap分区在/swap.img里动态分配。重装的时候不划swap分区系统也会自动创建swap文件对于大多数桌面用户完全够用。所以想省心的人可以直接跳过swap分区把空间留给/home。如果你想要swap分区用传统方式也是可以的。我个人习惯是给一个固定的swap分区因为分区方式在系统崩溃时更容易被救援工具识别而且不需要考虑文件系统挂载顺序的问题。3.4 根分区和/home分区的边界怎么定根分区60GB这个数字很多人觉得大其实一点都不大。Ubuntu 22.04装完系统本身加上常用软件大概占用15GB-20GB但后续安装Docker镜像、编译缓存、系统日志、/var下的临时文件都会吃根分区的空间。给60GB是给未来一到两年的“系统体重增长”留余量。真正的弹性在/home。日常文档、下载、视频、虚拟机镜像、数据备份全在这里。仅虚拟机镜像一个就轻松占掉几十GB。所以把剩余空间全部给/home是性价比最高的分配方式。一个小提醒/home和根分区是两套独立的“槽位”如果/写满了但/home还有空间系统一样会变得不稳定。所以重要的不是把空间平均分而是把“系统的自用空间”和“用户的数据空间”隔离开让一个满了不乱占另一个。4. 重装完成之后第一件事不是开浏览器4.1 先换源再做系统更新如果你在国内装完Ubuntu的第一件事不是到处下载软件而是先把软件源换成国内镜像源。默认的archive.ubuntu.com在国内的下载速度体验过的人都懂。Ubuntu 22.04之后换源有官方支持的图形化方式打开“软件和更新”Software Updates在“Ubuntu软件”选项卡里把下载服务器从“Ubuntu官方服务器”改成“其他站点”在弹出的列表里选一个国内镜像源比如清华、阿里、中科大。输入密码之后系统会自动刷新软件列表。命令行方式也可以直接改源文件sudo sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list sudo apt update sudo apt upgrade -y换源之后先别急着装软件跑一遍sudo apt update确认源能正常解析然后再sudo apt upgrade把系统推到最新状态。这样做的好处是避免用旧状态系统装了半天的软件最后大版本升级时全部冲突。4.2 显卡驱动和常用开发环境的安装如果机器有NVIDIA独显装驱动之前先确认系统版本和所需的驱动程序版本。Ubuntu桌面版在“软件和更新”的“附加驱动”选项卡里可以直接选装专有驱动推荐这种图形化安装方式比手动去NVIDIA官网下载.run文件稳得多。图形化安装驱动后重启执行nvidia-smi能看到显卡信息说明驱动已经正常加载。开发环境建议按需安装不要一口气执行大礼包式的apt install。我的习惯是一样一样装装完一个验证一个# 编译工具链 sudo apt install build-essential cmake git # 开发语言环境 sudo apt install python3-pip curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs # Docker sudo apt install docker.io docker-compose-v2 sudo usermod -aG docker $USER装完Docker记得要把自己的用户加入docker用户组不然每次都要sudo。4.3 恢复/Home数据的两种方案重装后恢复/home通常有两种思路如果重装时你选择了不格式化/home分区那么新系统挂载好/home之后你原来的数据就已经在那里了直接把用户目录里的配置文件放回新的用户目录即可。这里要小心一点新的用户名如果和原来不一样配置文件里的路径就变了很多软件会找不到原来的配置目录。如果之前的备份是移动硬盘里的压缩包恢复方式也很直接rsync -avh /media/backup/home/ /home/username/用rsync而不是cp主要是因为rsync断点续传、跳过已有文件、保留权限和软链接数据量大时更不容易出问题。5. 重装与重新分区里最容易翻车的5个高频坑5.1 开机后直接进入grub rescue系统找不到引导这个典型的场景是重装完Ubuntu或者改过分区电脑直接卡在grub rescue提示符找不到系统启动文件。原因一般是/boot/efi里的引导文件被清掉了或者启动引导器指向了一个不存在的分区。解决方法有两种第一种用Live USB进入试用模式打开终端挂载EFI分区重新安装GRUBsudo mount /dev/nvme0n1p1 /mnt sudo grub-install --efi-directory/mnt --boot-directory/mnt/EFI/ubuntu /dev/nvme0n1 sudo update-grub第二种比较省事直接把启动项指向Windows Boot Manager或Ubuntu的EFI文件。进BIOS设置找到Boot选项手动添加启动项指向EFI/ubuntu/shimx64.efi或EFI/Microsoft/Boot/bootmgfw.efi。这个方法尤其适用于UEFI双系统Windows引导和Ubuntu引导都有独立的EFI文件指向哪个哪个就能启动。5.2 重装完只剩下UbuntuWindows原地消失分区的时候不小心格式化掉了Windows的系统分区或者在引导器里选了“/dev/sda”把Windows Boot Manager覆盖了。如果是覆盖了引导文件Windows系统和数据本身还在用上面grub-install加update-grub的方式GRUB一般能自动扫描到Windows的EFI引导项选对应的菜单项就能进Windows。如果前面那个坑已经踩过了还想救回这只能解决引导问题。如果是把NTFS分区整个删掉并格式化成了ext4数据恢复就很麻烦了。有临时需求时我会用testdisk来试着恢复分区表成功几率不小但费时又费力。所以再次重申如果双系统里Windows还有数据请务必在重装前检查一下分区列表目标分区是不是选对了操作点的是不是这一排。5.3 swap分区给多大才不浪费又不卡顿前面讲了一版这里再补一个实操视角。其实从Ubuntu 18.04开始你甚至可以完全不建swap分区全交给swap文件。系统默认就是在根分区里放一个/swap.img文件需要时扩容很方便。给不了灵丹妙药式的数字但我自己的经验是内存16GB及以上的桌面用户不需要swap分区经常编译大型项目、跑Android模拟器、开多个虚拟机的建议单独分和内存等大的swap分区使用休眠功能的一定要分区且要大于等于物理内存。swap文件和swap分区还有个区别swap分区的读写是设备直通比swap文件少一层文件系统开销。虽然现在NVMe固态盘快这个差距不容易感知但原则还是“能用分区用分区嫌麻烦用文件”。5.4 重装后Ubuntu和Windows时间不一致总是对不上很多双系统用户重装完会发现切到Windows系统时间比北京时间慢8小时。原因是两个系统对硬件时钟的解读方式不同Windows认为CMOS里存的是本地时间Ubuntu认为存的是UTC。在Ubuntu里执行一行命令让系统把硬件时钟当作本地时间sudo timedatectl set-local-rtc 1 --adjust-system-clock设置完之后两个系统的时间就一致了。这个问题本身不影响功能但每隔一段时间对不齐时间很闹心建议重装后顺手处理掉。5.5 重装系统的过程反复失败直接黑屏或卡在安装界面这种情况十有八九是ISO文件没下载完整或者启动盘制作方式有问题。Ubuntu镜像文件比较大下载时如果网络不稳定很容易出现文件损坏。校验方法在官网能下到SHA256校验值下载完用sha256sum比对一下sha256sum ubuntu-22.04.4-desktop-amd64.iso如果校验值和官网不一致说明ISO已经损坏重新下载一次就好。启动盘制作时也要留意写入模式Rufus默认的“DD镜像模式”比“ISO镜像模式”更接近原始布局遇到启动问题可以先切换试试。5.6 重装后外接U盘或移动硬盘挂载不上提示“sda is not a valid block device”这个坑比较隐蔽但同样常见。原因多数是分区表里的设备名变了系统用的是UUID或标签来识别设备而你在重新分区时不小心把设备的标签或UUID改了。处理方式比较简单sudo blkid查看设备当前的UUID然后在/etc/fstab里更新对应的UUID或设备路径保存后重新挂载。如果之前用/dev/sdb1这种方式写的挂载项这类路径在重启时可能变化建议都改成用UUID挂载UUIDxxxx-xxxx /data ext4 defaults 0 2UUID方式的好处是设备名怎么变都没关系只要分区格式和UUID没变挂载就稳定。写在后面这次重装我最大的体会重新分区这件事本质上不是在分磁盘而是在分“边界”系统边界、数据边界、备份边界。把系统、家目录和应用数据放在相互独立的“槽位”里哪怕某天根分区爆了也只是重装一次系统的事数据和配置不会跟着陪葬。我在这次Ubuntu重装与重新分区的过程中最大的收获不是学会了几条命令而是养成了一个习惯装系统前先花半小时想清楚未来半年自己会在这台机器上干什么。人一旦想明白这个分区方案基本就是顺水推舟的事了。另外一个小技巧送给准备重装的朋友装好系统后第一件事不是换壁纸而是按CtrlAltT开一个终端把sudo apt update sudo apt upgrade跑完再装你最喜欢的软件。顺序搞反了后面很容易出现依赖冲突到时候又得跟包管理器斗智斗勇。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价