ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

双系统分区调整实战:用GParted安全扩容Ubuntu根分区

双系统分区调整实战:用GParted安全扩容Ubuntu根分区 1. 项目概述当双系统的磁盘空间不再“够用”玩双系统的朋友尤其是把Windows和Ubuntu装在同一块物理硬盘上的迟早会遇到一个头疼的问题当初分区时给Ubuntu划的那点地盘要么不够用了要么闲置浪费了。你可能正兴致勃勃地想在Ubuntu下编译一个大型项目或者搭建一个本地开发环境系统却弹出了“磁盘空间不足”的警告又或者你发现Windows的C盘频频告急而隔壁Ubuntu的分区却还有大量空间闲置。这时候一个强烈的需求就产生了——我需要重新调整这两个系统之间的“地盘”。这个操作本质上是在不重装系统、不丢失数据的前提下动态调整硬盘上各个分区的大小。听起来很美好但做过的人都知道这里面的坑可不少。它不像在虚拟机里拖拽滑块那么简单因为你是在操作一个正在运行的操作系统的“根基”尤其是涉及到系统引导分区如EFI分区和根分区/时一步不慎轻则系统无法启动重则数据全丢。网上教程很多但要么步骤跳跃要么对风险轻描淡写让新手望而却步。我自己在笔记本上维护Windows 11和Ubuntu 22.04 LTS双系统多年因为开发需求变化前后调整过不下五次分区。从最初的战战兢兢到后来的驾轻就熟我踩遍了几乎所有能踩的坑引导丢失、分区表损坏、扩容后文件系统出错……也正是这些经历让我总结出了一套相对安全、清晰的操作流程。今天我就以最常用的图形化工具GParted为核心结合命令行作为备份和验证手段带你一步步安全地完成这个任务。我们的目标很明确安全第一数据无虞步骤清晰过程可控。2. 核心思路与风险预警为什么不能直接“右键扩展卷”在开始动手之前我们必须先理解底层逻辑和潜在风险。在Windows的“磁盘管理”里你可以很轻松地扩展或压缩卷但那个功能仅限于Windows自己的NTFS分区。对于Linux的Ext4、XFS等文件系统Windows是完全不认识的。因此我们的整个操作必须在Linux环境下进行这就是为什么GParted一个Linux下的图形化分区编辑器会成为绝对的主角。2.1 操作的核心逻辑与约束调整分区空间无外乎“增大”或“减小”两个方向。其物理本质是移动和调整分区在硬盘上的起止扇区。这里有几个关键约束连续性约束你只能调整与目标分区物理相邻的未分配空间。比如你想增大/dev/sda5你的Ubuntu根分区那么它的左边或右边必须紧挨着一块“未分配”的空间。这块空间通常来自于你压缩其相邻的另一个分区比如Windows的D盘或者Ubuntu的/home分区。前向/后向调整分区可以向左起始位置向前移动或向右结束位置向后移动调整。移动起始位置是高风险操作因为它涉及到分区内所有数据的物理搬迁耗时长且出错概率高。通常我们优先进行“向右扩展”或“向右收缩”即只移动分区的结束边界。引导分区EFI神圣不可侵犯存放系统引导文件的EFI系统分区通常是/dev/sda1FAT32格式绝对不要进行任何调整大小或移动操作。动它十有八九会导致双系统都无法启动。交换空间SwapLinux的交换分区在调整时需先禁用。好在GParted会提醒你或者在Ubuntu安装镜像的“试用”模式下Swap默认未被使用操作起来更安全。2.2 重大风险预警与前置检查清单在碰任何分区工具之前请务必完成以下检查这能救你的数据警告以下任何一步疏忽都可能导致数据丢失或系统无法启动。请务必通读并理解。完整数据备份非可选这是铁律。将Windows和Ubuntu中所有重要文件备份到移动硬盘、网盘或其他物理硬盘上。不要相信任何“无损”调整的承诺硬件故障、突然断电、操作失误都可能发生。确认分区表类型是传统的MBR还是现代的GPT这影响引导方式。现在新电脑基本都是GPTUEFI。在Windows磁盘管理或Ubuntu的sudo fdisk -l命令中可以看到。绘制你的分区地图打开Windows磁盘管理或Ubuntu的Disks工具画一张简单的示意图标出每个分区的设备名如/dev/sda1、/dev/sda2、大小、文件系统类型和用途如EFI Windows C Ubuntu/ Ubuntu/home等。这能让你在操作时心中有数。准备Ubuntu安装U盘或Live CD你将无法在已运行的Ubuntu系统中调整其自身的根分区/因为系统文件正在被使用。你必须从Ubuntu安装U盘启动选择“试用Ubuntu”在这个临时的、完全运行在内存中的系统里使用GParted进行操作。这也是最推荐、最安全的环境。确保电源稳定如果是笔记本请插上电源适配器。台式机请确保供电正常。调整分区尤其是移动大量数据时过程可能持续几十分钟到数小时断电等于灾难。3. 实战准备创建启动媒介与启动Live环境工欲善其事必先利其器。我们需要一个“手术台”——Ubuntu Live环境。3.1 制作Ubuntu安装U盘下载镜像前往Ubuntu官网下载最新的LTS版本镜像如Ubuntu 22.04 LTS文件格式为.iso。准备工具一个容量至少8GB的U盘操作会清空其中所有数据。一款刻录工具在Windows下推荐使用Rufus在Ubuntu下可使用Startup Disk Creator或dd命令。使用Rufus刻录Windows下插入U盘打开Rufus。“设备”选择你的U盘。“引导类型选择”点击“选择”找到你下载的.iso文件。“分区类型”通常保持“GPT”对应UEFI即可Rufus会根据镜像自动选择。其他选项默认点击“开始”。Rufus会提示你以哪种方式写入选择“以ISO镜像模式写入”默认即可。等待刻录完成。3.2 从U盘启动并进入Live环境关闭电脑插入制作好的Ubuntu安装U盘。开机立即狂按你的电脑品牌对应的启动菜单键常见的有F12、F2、Esc、Del等进入启动设备选择菜单。选择带有“UEFI: [你的U盘名称]”字样的选项启动。务必选择UEFI开头的以确保引导模式正确。你会进入Ubuntu安装界面。此时不要点击“安装Ubuntu”而是选择“试用Ubuntu”。系统将加载一个完整的、运行在内存中的Ubuntu桌面环境。3.3 在Live环境中安装并启动GParted进入试用桌面后打开“软件”应用或叫Ubuntu Software搜索“GParted”并安装。或者更直接地打开终端CtrlAltT输入以下命令sudo apt update sudo apt install gparted安装完成后可以在应用菜单中找到它或者直接在终端输入sudo gparted启动。注意必须使用sudo权限运行。4. 分区调整实战详解以“为Ubuntu根分区扩容”为例现在我们进入最核心的操作阶段。我将以最常见的场景为例Windows的C盘和D盘都在前面Ubuntu的分区在硬盘后部。现在我想从Windows的D盘NTFS格式中压缩出一部分空间然后合并到Ubuntu的根分区Ext4格式中。假设我们调整前的分区结构简化如下[EFI][Windows C][Windows D][Ubuntu /][Ubuntu /home][Ubuntu swap]目标是缩小Windows D将释放的空间给Ubuntu /。4.1 第一步在GParted中识别与规划启动sudo gparted在右上角的下拉菜单中选择你的主硬盘通常是/dev/sda。仔细核对分区对照你之前画的分区地图确认每个分区的设备名、大小和文件系统。特别注意你的Ubuntu根分区/和/home分区是哪个例如/dev/sda5和/dev/sda6。规划操作序列我们的操作逻辑是操作A从右侧压缩Windows D分区在其右侧产生一块“未分配空间”。问题这块“未分配空间”在Windows D和Ubuntu /之间并不与Ubuntu /直接相邻中间隔着Ubuntu /home和swap。因此需要后续操作我们需要先移动Ubuntu swap分区到最右边然后移动Ubuntu /home分区让“未分配空间”最终紧挨着Ubuntu /分区的右侧。最后才能扩展Ubuntu /。重要原则一次只规划一个操作并理解其影响。GParted的所有操作都是先加入“待执行操作列表”最后再一并应用。4.2 第二步执行分区调整与移动操作注意以下操作涉及移动分区非常耗时。请确保电源稳定并耐心等待每一个步骤完成。缩小Windows D盘在GParted图形界面中右键点击Windows D分区/dev/sda3假设选择“调整大小/移动”。会弹出一个可视化窗口。你可以直接拖动分区右侧的箭头向左拉或者在“新大小”里输入一个较小的数值例如打算释放100GB就输入原大小 - 100GB。务必在下方确认释放的空间出现在分区的“右侧”。点击“调整大小/移动”。此时GParted主窗口下方会显示一个待执行操作“/dev/sda3调整大小”。这还没有真正执行。处理Ubuntu Swap分区右键点击swap分区/dev/sda7假设选择“交换空间” - “禁用交换空间”如果可用。然后再次右键点击它选择“调整大小/移动”。我们的目标是将它移到整个硬盘空间的最末尾。在调整窗口中直接拖动整个分区块注意是拖动中间部分不是边缘到最右侧的空白区域或者通过计算在“之前的可用空间”中输入一个值使其右对齐。点击“调整大小/移动”。这会添加一个“移动分区”的操作。移动Ubuntu /home分区右键点击/home分区/dev/sda6选择“调整大小/移动”。将其拖动或调整使其紧挨着刚才移动后的swap分区左侧。目的是让之前从Windows D盘释放出来的“未分配空间”现在紧挨着Ubuntu /分区/dev/sda5的右侧。点击“调整大小/移动”。注意移动/home分区是耗时最长的操作因为它包含了你的用户数据数据量可能很大。扩展Ubuntu根分区/现在你应该能看到Ubuntu /分区/dev/sda5的右侧紧挨着一大块“未分配空间”。右键点击/dev/sda5选择“调整大小/移动”。拖动分区右侧的箭头一直拉到最右占满所有未分配空间。或者在“新大小”中输入最大值。点击“调整大小/移动”。4.3 第三步最终审核与应用所有更改此时GParted主窗口下方会列出所有待执行操作顺序可能类似调整 /dev/sda3 的大小移动 /dev/sda7移动 /dev/sda6调整 /dev/sda5 的大小请再次仔细核对每个操作的对象是否正确分区移动的方向和最终位置是否符合预期有没有误操作到EFI分区确认无误后点击GParted工具栏上的绿色对勾“应用所有操作”。GParted会弹出一个最终确认窗口列出所有操作详情。点击“应用”。接下来就是漫长的等待。你会看到一个进度窗口显示当前正在执行的操作如“移动 409600 个柱面”。绝对不要中断这个过程整个过程可能从十几分钟到数小时不等取决于数据量和硬盘速度。所有操作完成后会提示“所有操作已成功完成”。点击“关闭”。5. 收尾、验证与故障排查操作完成并不意味着万事大吉你必须进行验证并处理可能的后续问题。5.1 重启并验证分区关闭GParted从Ubuntu试用桌面重启电脑。在启动菜单中选择进入你原来的Ubuntu系统不是试用模式。成功进入系统后打开终端使用df -h命令查看磁盘使用情况。你应该能看到根分区/的容量已经增加了。同时使用lsblk -f命令查看所有分区的文件系统类型和挂载点确认分区结构符合预期。5.2 修复可能出现的引导问题这是高发区。如果你操作后GRUB引导菜单丢失直接进入了Windows或者出现“grub rescue”提示不要慌。情况一直接进入Windows这是因为Windows的引导管理器覆盖了GRUB。解决方法是从Ubuntu Live环境修复GRUB。再次用Ubuntu安装U盘启动到“试用Ubuntu”。打开终端执行以下命令sudo mount /dev/sda5 /mnt # 假设sda5是你的Ubuntu根分区挂载到/mnt sudo mount /dev/sda1 /mnt/boot/efi # 假设sda1是EFI分区挂载EFI分区 sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt进入chroot环境后重新安装GRUB到EFI分区grub-install /dev/sda # 注意这里是磁盘设备sda不是分区sda1 update-grub依次执行exit然后sudo reboot重启。通常可以恢复GRUB菜单。情况二GRUB菜单损坏或进入救援模式如果还能看到GRUB菜单但无法启动Ubuntu或者进了救援模式可以尝试在GRUB菜单界面按e键编辑启动项。找到以linux开头的一行检查其中的root参数指向的设备是否正确例如是否还是原来的/dev/sda5分区移动后UUID没变但设备名可能变了。如果设备名错了可以临时修改为正确的如root/dev/sda6然后按CtrlX启动。成功进入系统后再更新GRUBsudo update-grub。5.3 文件系统检查Fsck分区移动和调整后极少数情况下文件系统可能出现错误。如果你在启动时看到关于文件系统的错误或者系统行为异常可以在Live环境下对分区进行检查。sudo umount /dev/sda5 # 先确保分区未挂载 sudo fsck -f /dev/sda5 # 强制检查ext4文件系统根据提示修复错误。对于/home分区如果是独立分区也建议检查一下。6. 经验总结与进阶技巧经过这样一番操作相信你对分区调整有了更深的理解。最后分享几条血泪换来的经验“未分配空间”必须紧邻这是GParted工作的铁律。任何扩容操作目标分区旁边必须有连续的未分配空间。规划操作顺序的本质就是在“制造”这种相邻关系。移动分区比调整大小风险更高移动分区意味着搬动所有数据时间极长且对硬盘是巨大的负荷。非必要尽量不要移动包含大量数据的分区如/home。在最初规划双系统时就应预留一定的弹性空间。善用GParted的“未分配空间前后”设置在调整大小/移动的窗口里你可以精确控制释放的空间出现在分区的“之前”还是“之后”。这决定了你后续的操作链条。考虑使用LVM逻辑卷管理如果你预见到未来需要频繁调整分区在安装Ubuntu时可以选择使用LVM。LVM可以让你像管理游泳池里的水一样管理磁盘空间动态地从“卷组”中分配空间给“逻辑卷”而无需关心底层物理分区调整起来灵活且安全得多。这是应对空间变化需求的终极方案。操作前冻结系统如果可能在从Live环境启动后断开网络关闭不必要的应用程序让系统专注于分区操作。调整双系统分区是一次对耐心和细心的考验。它没有一键解决的魔法但遵循清晰的步骤和严谨的备份原则完全可以安全地完成。每一次成功的调整不仅解决了空间问题更让你对操作系统和存储管理的理解加深一层。当你再次看到那块被重新规划后“物尽其用”的硬盘时那种掌控感或许就是技术折腾带来的乐趣之一吧。如果过程中遇到任何问题记住你还有那份最重要的备份它给了你从头再来的勇气。
返回列表