跨系统分区扩容实战指南:从 Windows 匀空间给 Arch Linux

🚀 跨系统分区扩容实战指南:从 Windows 匀空间给 Arch Linux

第一部分:前期准备与 Windows 端操作

在动手术之前,请确保你已经完成了以下心理和技术准备。

0. 核心警告 (Vim 用户的严谨)

  • 数据无价:请将 ~/Myblog~/.config 等重要数据备份至外置 U 盘或云端。
  • 环境要求:笔记本必须接通电源,防止中途断电。
  • 工具准备:确保你的 Ventoy U 盘里有 GParted Live ISO(推荐)或最新的 Arch ISO

1. Windows 端的必要预处理

Windows 的一些特性会“锁定”磁盘,导致 Linux 无法移动分区。

  1. 彻底关闭 BitLocker
    • 进入 Windows 设置 -> 隐私与安全性 -> 设备加密。
    • 必须关闭并等待解密完成。如果磁盘是加密状态,GParted 将无法识别文件系统。
  2. 关闭“快速启动 (Fast Startup)”
    • 进入控制面板 -> 电源选项 -> 选择电源按钮的功能。
    • 取消勾选“启用快速启动”。(这能确保 Windows 彻底关机,释放磁盘挂载权)。
  3. 执行磁盘压缩
    • 右键“此电脑” -> 管理 -> 磁盘管理。
    • 右键点击 C 盘 (p3),选择 压缩卷
    • 输入你想给 Linux 的空间(例如:102400 MB,即 100G)。
    • 结果:C 盘右侧会出现一整块黑色的 “未分配空间”

第二部分:GParted Live “推箱子”接力

这是整个手术的核心。你需要利用 GParted 就像推箱子一样,把那块空地往右移动,直到它挨着 / 分区。

手术逻辑:

目前的格局:[Win] [空地] [p4:boot] [p5:swap] [p6:root]
我们的目标:[Win] [p4:boot] [p5:swap] [空地] [p6:root] -> 最终合并。

操作步骤:

  1. 启动 GParted
    • 重启电脑,通过 F12 (或你的快捷键) 进入 Ventoy,选择 GParted Live 启动。
  2. 移动 p4 (/boot)
    • 找到 nvme0n1p4。右键点击,选择 Resize/Move
    • 在弹出的窗口中,用鼠标拖动整个分区的“条状块”向左拉到底
    • 你会发现 [空地] 跑到了 p4 的右边。
  3. 移动 p5 (Swap)
    • 找到 nvme0n1p5。同样右键 Resize/Move
    • 将分区块整体向左拖动,贴住 p4。
    • 此时 [空地] 跑到了 p5 和 p6 (根目录) 之间。
  4. 真正扩容 p6 (/)
    • 找到 nvme0n1p6。右键 Resize/Move
    • 注意:这次不是移动整个块,而是按住该块的 左侧边缘,向左拉满,吃掉所有空地。
  5. 应用变更
    • 点击工具栏上方的 Apply All Operations (打钩图标)
    • 漫长的等待:GParted 会开始物理搬运数据。此时严禁强制关机

第三部分:引导修复与系统验证

完成 GParted 的物理搬运后,大概率可以直接进入系统。但由于你移动了 /boot 分区的起始物理扇区,GRUB 可能会暂时“找不到北”。

1. 如果无法启动(进入了 grub rescue)

不要惊慌,这是由于磁盘的物理索引改变导致的。请使用 Ventoy 启动进入 Arch ISO 环境:

  1. 挂载你的分区(按照你之前的 lsblk 布局):
    1
    2
    3
    4
    # 挂载根目录
    mount /dev/nvme0n1p6 /mnt
    # 挂载引导分区
    mount /dev/nvme0n1p4 /mnt/boot
  2. 进入 Chroot 环境(Arch 用户的常规操作):
    1
    arch-chroot /mnt
  3. 重刷 GRUB 配置(让它重新寻找内核位置):
    1
    2
    3
    4
    # 重新安装引导信息
    grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
    # 重新生成配置文件
    grub-mkconfig -o /boot/grub/grub.cfg
  4. 退出并重启
    1
    2
    exit
    reboot

2. 进入系统后的验证 (The Post-Op Check)

成功回到 Hyprland 后,第一件事是确认根分区是否真的变大了。

  1. 使用极客工具查看
    运行你喜欢的 gdu

    1
    gdu /
  2. 经典命令查看

    1
    df -h /

    此时你应该能看到 / 分区的容量已经从 40G 增长到了你设定的数值(例如 140G),且“可用空间”不再是红色的几百 MB。


3. 可能遇到的意外情况 (Troubleshooting)

情况 A:文件系统自检 (fsck)

  • 现象:开机时屏幕狂跳代码,显示 recovering journalclean, ... blocks
  • 对策:这是正常的。因为你改动了分区大小,内核会自动进行一次文件系统完整性自检,等它跑完即可。

情况 B:UUID 冲突或失效

  • 现象:启动时卡在 A start job is running for dev-disk-by...
  • 对策:如果你的 /etc/fstab 是基于 UUID 挂载的(Arch 默认如此),通常没问题。如果报错,请在 TTY 运行 blkid 查看新 UUID,并同步修改 /etc/fstab

情况 C:Windows 无法引导

  • 现象:GRUB 菜单里的 Windows 选项失效。
  • 对策:回到 Arch 终端,运行 sudo os-prober。如果能搜到 Windows,再运行 sudo grub-mkconfig -o /boot/grub/grub.cfg 即可。

🎙️ 结语:空间自由后的建议

现在你已经拥有了宽裕的根目录空间,建议:

  1. 定期清理:即便空间大了,也要养成 sudo pacman -Sc 清理缓存的习惯。
  2. 快照习惯:由于你还没有安装 Timeshift,既然现在空间够了,建议安装并创建一个备份,以后动磁盘前先打个快照。
  3. 独立数据盘:如果未来 Windows 依然有富余,可以考虑建立一个 exFAT 格式 的公共分区,让 Windows 和 Arch 共享大文件(如虚拟机镜像或视频素材)。

本文记录于 2026年1月,是一次成功的分区接力扩容实战记录。

祝你手术顺利,重启后看到满格的磁盘空间!