8GBの子犬Linux imgがありますが、6GBのドライブに収まる必要があります。 imgでext2パーティションのサイズを変更するには?
答え1
ノートバックアップを作成します。何でも間違っている可能性があります...私はこれらすべてをrootとして実行しました:
- ループデバイスを画像にバインドします。
losetup /dev/loop10 $image_file
- パーティションの更新:
partprobe /dev/loop10
- パーティションのサイズを変更します。
gparted /dev/loop10
- 元に戻すループ:
losetup -d /dev/loop10
- 不要なスペースを取り除く:(/ *値に基づいて正確なサイズを計算
truncate -s -${SIZE}G $image_file
できます)fdisk
cfdisk
sector size
ノートパーティションのUUIDを再確認したい場合があります。私が変更されたようで、更新する必要があります。fstab
答え2
ファイルシステム(すべての種類の論理ボリューム管理または同様のコンテナ)を縮小し、イメージを縮小する必要があります。生のディスクイメージについて話しているとします。
ステップの概要:
- 画像にアクセスしていないことを確認してください(例
lsof
::)。 - ファイルシステムの縮小(例
resize2fs
:) - ファイルシステムチェックの実行(例
fsck
:) - LVMまたは他の種類のコンテナの縮小(必要な場合)
- ディスクイメージの縮小(例:スキップを使用するか、新しいイメージにddを使用
qemu-img
) - 再びFsckを実行して動作するかどうかをテストしてください!
選択する:
- 新しい画像を作成し、データ/MBR/などをコピーします。
- 次のようにイメージを複製します。部分クローン