Ubuntu Server(cli)を介してRaspberry Pi SD .imgを縮小

Ubuntu Server(cli)を介してRaspberry Pi SD .imgを縮小

16GBカードにRaspbianをインストールし、ファイルシステムを拡張しました。カードをバックアップしたとき、dd.imgファイルの出力は約16GBでした。これらのほとんどは、ext4パーティションで使用されていないスペースです。私はそのパーティションで約2.5GBのスペースしか使いませんでした。 (2つのパーティションがあります。1つはブート用のFAT、2つ目はrootfs用のext4です)。したいです。サイズカード(例:8GB)。

/dev/loop0これまで、私に提供されたオフセット値を使用してext4パーティションをマウントしましたfdisk -l backup.img。次に、ext4 fsを縮小するように見えるe2fsck -f /dev/loop0thenを使用しました。私は正しい方向に行っていますか?次のように見えresize2fs -M /dev/loop0ますが、parted私はすでにいいえそれを体験してください。

cliツールのみを使用してこれを行うにはどうすればよいですか?


修正する:

以下は実行結果ですfdisk -l backup.img

Disk backup.img: 14.9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x79d38e92

Device        Boot  Start      End  Sectors  Size Id Type
backup.img1 *      8192   124927   116736   57M  e W95 FAT16 (LBA)
backup.img2      124928 31116287 30991360 14.8G 83 Linux

ベストアンサー1

fdisk / partedが次のステップにファイルシステムを縮小する正しい方向に進んでいることを確認できます。トリッキーな部分は、新しいファイルシステムのサイズのすぐ隣にインポートしたり、計算をしたり、安全のためにさらに100KBをリークすることです。必要に応じて、後で新しいカードで調整できます。

コマンドは通常、umount、resize、fdisk / parted、partprobe、fsck、およびすべてが正常であることを確認するためのマウントです。サイズ変更したいパーティションが2T未満であるか、fdiskまたはを使用できますparted

ファイルシステムが回復する必要があるスペースをまだ占めている間は、パーティションを確実に縮小できないため、サイズ変更プロセスを最初に実行する必要があります。一貫性を保つためにパーティションを再縮小し、残りのスペースがないため、「購読」を削除して使用する必要があります。ファイルシステム構造が新しいサイズと一致するように、ファイルシステムは最後に配置されます。

このRH記事を残します。partprobe新しいパーティションサイズが常にすぐに認識されないか、古いカーネルで認識されないため、欠落しています。

resize2fsを使用してext2/3/4ファイルシステムを縮小する方法

fdiskを使用してパーティションのサイズを変更する方法

欠落している手順は次のとおりです。

sudo fdisk /dev/loop
p     - to check for partition number (probably 2)
d     - to delete
2     - partition 2
n     - new partition
p     - primary
ENTER - default beginning
+new size -  smaller card size
w      - write it

sudo partprobe /dev/loop

これを行うには、イメージファイルをアンマウントします。追加サイズは、ファイル・イメージのファイル・システムおよびパーティション・サイズで使用されているとは表示されなくなり、オペレーティング・システムはスペースを使用しようとしません。したがって、予想サイズに安全に切り取ることができます。

truncate -s 8GB fileName

適切なサイズを使用するには怠惰なので、ファイルシステムを必要なサイズよりも小さいサイズに分割し(つまり、新しいパーティションのサイズ - 400k、その後パーティションを縮小して再び拡張します)、必要なパーティションを作成します。サイズの使用(最初のパーティションの塗りつぶしは8GB-2048(2K)から最初のパーティションのサイズを引いたサイズ)数学はあまり必要ありません。

正しく計算するには、以下を見てください。

データを失うことなくext3パーティションのサイズを変更する方法

おすすめ記事