步骤一览:

步骤一览:

我有一个 8GB 的​​ puppy linux img,但我需要它适合 6GB 的驱动器。如何调整 img 上 ext2 分区的大小?

答案1

笔记进行备份,任何事情都可能出错...我以 root 身份运行了所有这些:

  1. 将循环设备绑定到图像:losetup /dev/loop10 $image_file
  2. 刷新分区:partprobe /dev/loop10
  3. 调整分区大小:gparted /dev/loop10
  4. 撤消循环:losetup -d /dev/loop10
  5. 删除不需要的空间:(truncate -s -${SIZE}G $image_file您可能希望根据fdisk/ cfdisk*中的值计算确切的大小sector size

笔记您可能需要仔细检查分区的 UUID,我的 UUID 似乎已更改,我必须更新fstab

答案2

您需要缩小文件系统(任何类型的逻辑卷管理或类似容器),然后缩小映像。我假设您正在谈论原始磁盘映像。

步骤一览:

  • 确保图像未被访问(例如lsof:)
  • 缩小文件系统(例如resize2fs:)
  • 执行文件系统检查(例如fsck:)
  • 缩小任何 LVM 或其他类型的容器(如果需要)
  • 缩小磁盘映像(例如:使用skip或use dd到新映像qemu-img
  • 再次Fsck,测试它是否有效!

选择:

  • 创建一个新映像并将数据/MBR/等复制过来。
  • 用类似的东西克隆图像部分克隆

类似问题:

参考:

相关内容