跨系统分区扩容实战指南:从 Windows 匀空间给 Arch Linux
🚀 跨系统分区扩容实战指南:从 Windows 匀空间给 Arch Linux
第一部分:前期准备与 Windows 端操作
在动手术之前,请确保你已经完成了以下心理和技术准备。
0. 核心警告 (Vim 用户的严谨)
- 数据无价:请将
~/Myblog、~/.config等重要数据备份至外置 U 盘或云端。 - 环境要求:笔记本必须接通电源,防止中途断电。
- 工具准备:确保你的 Ventoy U 盘里有 GParted Live ISO(推荐)或最新的 Arch ISO。
1. Windows 端的必要预处理
Windows 的一些特性会“锁定”磁盘,导致 Linux 无法移动分区。
- 彻底关闭 BitLocker:
- 进入 Windows 设置 -> 隐私与安全性 -> 设备加密。
- 必须关闭并等待解密完成。如果磁盘是加密状态,GParted 将无法识别文件系统。
- 关闭“快速启动 (Fast Startup)”:
- 进入控制面板 -> 电源选项 -> 选择电源按钮的功能。
- 取消勾选“启用快速启动”。(这能确保 Windows 彻底关机,释放磁盘挂载权)。
- 执行磁盘压缩:
- 右键“此电脑” -> 管理 -> 磁盘管理。
- 右键点击 C 盘 (p3),选择 压缩卷。
- 输入你想给 Linux 的空间(例如:102400 MB,即 100G)。
- 结果:C 盘右侧会出现一整块黑色的 “未分配空间”。
第二部分:GParted Live “推箱子”接力
这是整个手术的核心。你需要利用 GParted 就像推箱子一样,把那块空地往右移动,直到它挨着 / 分区。
手术逻辑:
目前的格局:[Win] [空地] [p4:boot] [p5:swap] [p6:root]
我们的目标:[Win] [p4:boot] [p5:swap] [空地] [p6:root] -> 最终合并。
操作步骤:
- 启动 GParted:
- 重启电脑,通过 F12 (或你的快捷键) 进入 Ventoy,选择 GParted Live 启动。
- 移动 p4 (/boot):
- 找到
nvme0n1p4。右键点击,选择 Resize/Move。 - 在弹出的窗口中,用鼠标拖动整个分区的“条状块”向左拉到底。
- 你会发现 [空地] 跑到了 p4 的右边。
- 找到
- 移动 p5 (Swap):
- 找到
nvme0n1p5。同样右键 Resize/Move。 - 将分区块整体向左拖动,贴住 p4。
- 此时 [空地] 跑到了 p5 和 p6 (根目录) 之间。
- 找到
- 真正扩容 p6 (/):
- 找到
nvme0n1p6。右键 Resize/Move。 - 注意:这次不是移动整个块,而是按住该块的 左侧边缘,向左拉满,吃掉所有空地。
- 找到
- 应用变更:
- 点击工具栏上方的 Apply All Operations (打钩图标)。
- 漫长的等待:GParted 会开始物理搬运数据。此时严禁强制关机。
第三部分:引导修复与系统验证
完成 GParted 的物理搬运后,大概率可以直接进入系统。但由于你移动了 /boot 分区的起始物理扇区,GRUB 可能会暂时“找不到北”。
1. 如果无法启动(进入了 grub rescue)
不要惊慌,这是由于磁盘的物理索引改变导致的。请使用 Ventoy 启动进入 Arch ISO 环境:
- 挂载你的分区(按照你之前的
lsblk布局):1
2
3
4# 挂载根目录
mount /dev/nvme0n1p6 /mnt
# 挂载引导分区
mount /dev/nvme0n1p4 /mnt/boot - 进入 Chroot 环境(Arch 用户的常规操作):
1
arch-chroot /mnt
- 重刷 GRUB 配置(让它重新寻找内核位置):
1
2
3
4# 重新安装引导信息
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
# 重新生成配置文件
grub-mkconfig -o /boot/grub/grub.cfg - 退出并重启:
1
2exit
reboot
2. 进入系统后的验证 (The Post-Op Check)
成功回到 Hyprland 后,第一件事是确认根分区是否真的变大了。
-
使用极客工具查看:
运行你喜欢的gdu:1
gdu /
-
经典命令查看:
1
df -h /
此时你应该能看到
/分区的容量已经从 40G 增长到了你设定的数值(例如 140G),且“可用空间”不再是红色的几百 MB。
3. 可能遇到的意外情况 (Troubleshooting)
情况 A:文件系统自检 (fsck)
- 现象:开机时屏幕狂跳代码,显示
recovering journal或clean, ... 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即可。
🎙️ 结语:空间自由后的建议
现在你已经拥有了宽裕的根目录空间,建议:
- 定期清理:即便空间大了,也要养成
sudo pacman -Sc清理缓存的习惯。 - 快照习惯:由于你还没有安装
Timeshift,既然现在空间够了,建议安装并创建一个备份,以后动磁盘前先打个快照。 - 独立数据盘:如果未来 Windows 依然有富余,可以考虑建立一个 exFAT 格式 的公共分区,让 Windows 和 Arch 共享大文件(如虚拟机镜像或视频素材)。
本文记录于 2026年1月,是一次成功的分区接力扩容实战记录。
祝你手术顺利,重启后看到满格的磁盘空间!