![调整 .img 文件中间分区的大小](https://linux22.com/image/14423/%E8%B0%83%E6%95%B4%20.img%20%E6%96%87%E4%BB%B6%E4%B8%AD%E9%97%B4%E5%88%86%E5%8C%BA%E7%9A%84%E5%A4%A7%E5%B0%8F.png)
我想调整.img
文件分区的大小。 (该.img
文件稍后将闪存到 SD 卡上。).img 文件由三个分区组成:
| ~ 100 MB boot | ~ 1 GB linux | ~ 6 GB data |
我的目标是将 linux 分区增加约 1 GB,并将数据分区也缩小 1 GB。我的想法是先缩小数据分区,然后将其移到右侧。然后我想增加linux分区。
该工具可以进行收缩parted
,但不再包含移动功能parted
。所以我无法将数据分区移到右侧。
如果您知道增加中间分区的更简单的解决方案,请向我解释一下,我将不胜感激。
主要问题是它需要通过 CLI 完成(不可能使用像 之类的图形工具gparted
)。
答案1
我想总结一下现在问题是如何解决的。
首先,我使用 gparted 进行了一次调整大小/移动,以获取调整大小/移动的值并获取执行的确切步骤。值和步骤存储在 gparted 日志中。
执行以下步骤:
# Check file system
sudo e2fsck -f -y -v -C 0 "/dev/loop18p3"
# Resize filesystem
sudo resize2fs -p "/dev/loop18p3" 5038080K
# Resize partition
# This step is not included in the logs of gparted
# I used fdisk for resizing partition
(
echo d
echo 3
echo n
echo 3
echo 2367488
echo 12443647
echo w
) | sudo fdisk /dev/loop18
# Move filesystem to the right
sudo e2image -ra -p -O 1073741824 "/dev/loop18p3"
The further steps are basically the same. The only differences are the values.
感谢 @Zeitounator 提供使用 gparted 日志的提示!