GParted Live 从硬盘 GRUB 启动 — 分区调整记录
日期:2026-07-19
系统:openKylin 2.0 SP2 (nile),GRUB 2.12
目的:/ 分区 (40G) 空闲较多,/data 分区 (4G) 不够用,从 / 划一部分给 /data
磁盘分区布局
nvme0n1 953.9G
├─p1 260M EFI (SYSTEM_DRV)
├─p2 16M MSR
├─p3 400G Windows-SSD (NTFS)
├─p4 500G Data (NTFS)
├─p5 2G WINRE_DRV (NTFS)
├─p6 1G KYLIN-BACKUP (ext4) ← ISO 放这里
├─p7 4G /data (ext4) ← 需要扩容
├─p8 40G / (ext4) ← 需要缩容
└─p9 5G SWAP
最终 GRUB 配置
# /etc/grub.d/40_custom
menuentry 'GParted Live (ISO Boot)' {
set isofile=/gparted-live.iso
search --no-floppy --fs-uuid --set=root 344bea2d-4807-497a-b3a1-9e481fc17367
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live findiso=/gparted-live.iso components noswap i915.force_probe=7d55
initrd (loop)/live/initrd.img
}
踩坑记录
坑 1:NTFS 分区上的 ISO 无法启动
- 现象:
Unable to find a medium containing a live file system - 原因:GRUB 有
ntfs.mod能在 bootloader 阶段读取 NTFS,但内核接管后 initramfs 没有ntfs-3g,无法挂载 NTFS 定位 ISO - 解决:ISO 必须放在 ext4 分区
坑 2:ISO 不能放在要操作的分区
- 原因:ISO 所在分区的 loopback 会使其处于使用状态,GParted 无法操作
- 解决:放到不参与调整的 p6(KYLIN-BACKUP)
坑 3:nomodeset 对 Intel 新 GPU 是反作用
- GPU:Intel Meteor Lake-P Arc Graphics (
8086:7d55) - 原因:
nomodeset禁用 Kernel Mode Setting,Intel 新 GPU 必须开启 KMS 才能正常显示 - 解决:去掉
nomodeset
坑 4:i915 驱动不认识 Meteor Lake
- 现象:系统能启动但 GUI 无法显示
- 原因:GParted Live 的内核版本可能还未将
7d55这个 PCI ID 加入 i915 的默认支持列表 - 解决:添加
i915.force_probe=7d55强制 i915 认领该 GPU
操作步骤备忘
# 1. 下载 ISO 到硬盘
wget -O gparted-live-1.8.1-3-amd64.iso <url>
# 2. 挂载 p6 并复制 ISO
sudo mount /dev/nvme0n1p6 /mnt
sudo cp gparted-live-1.8.1-3-amd64.iso /mnt/gparted-live.iso
# 3. 配置 GRUB
sudo vim /etc/grub.d/40_custom # 添加上面的 menuentry
sudo sed -i 's/GRUB_TIMEOUT=1/GRUB_TIMEOUT=5/' /etc/default/grub
sudo update-grub
# 4. 重启进入 GParted Live
sudo reboot
# 5. 在 GParted 中操作
# - 缩小 p8 (/) 从左边界向右
# - 扩展 p7 (/data) 右边界向右
# - 应用操作
相关 UUID
| 分区 | UUID |
|---|---|
| p6 (ISO 所在) | 344bea2d-4807-497a-b3a1-9e481fc17367 |
| p8 (/) | bf7fae4e-9707-4839-85ac-2d1c07e96eef |
| p4 (Data, NTFS) | 8AECA8EFECA8D6AB |