フルスペースを割り当てた後に画像ファイルを縮小する方法


13

私は、Raspberry Pi(Raspbian)sdカードのバックアップの実験中です。Win32DiskImagerを使用して、イメージを(SDカードリーダーから)HDDに正常に読み取りましたが、サイズの問題が発生しました。画像は元のSDカードよりも大きく、大きなSDカードにのみ書き戻すことができます。バックアップすると同じ問題が発生します。

.imgファイルを作成した後、未使用のスペースをすべて削除するにはどうすればよいですか?(これは、raspi-configを使用して、使用可能なすべてのスペースをルートに割り当てるためですか?)

Cygwinでパーティションがどのように見えるかを理解しようとしましたが、fdiskを動作させることができません(-bash:fdisk:コマンドが見つかりません)-(パーティション化されていないスペースを含む16Gbカードの画像最後:切り捨て可能?

回答:


12

したがって、私が見つけた最良の方法はGPartedを使用することです(LinuxベースのOSを使用するか、GParted Live USBから起動することができます)。これらの各ステップを詳細に行う方法についての詳細な指示を見つけるのは簡単ですが、ここで私が見つけた一般的な方法は次のとおりです。

  1. GPartedを実行し、デバイスリストでSDカードを見つけて、メインパーティションをできるだけ小さくします。
  2. このパーティションの最後のセクターの値を取得し、これにセクターサイズを掛けます(私にとっては512、これは標準であると思いますが、デバイスのGParted設定で確認できます):これにより、合計サイズがバイト単位で得られますコピーする。
  3. 合計バイト数を4096で割ります(必要に応じて切り上げます-十分ではないよりも少し多くのスペースを取る方が良い)、これによりLinuxのターミナルで次のコマンドを入力するための「カウント」が得られます環境(おそらく、管理者として実行している限り、GParted Live USBオペレーティングシステム端末から、またはsudoを使用せずにCygwinでこれを行うことができます):

sudo dd if=/dev/mmcblk0 of=/path/to/your/file.img bs=4k count=<count>

必要に応じて入力デバイスの場所を変更します。これにより、空のスペースを省略して、できる限り最小の最終画像ファイルが得られるはずです。


これが機能することを確認できます。数分前に、8GBカードから4GBカードに移行しようとしました。これは、データが宛先カードよりも小さい場合に機能します。
PNDA

私は先に進んだので、この投稿を忘れてしまった。将来的に試してみます。これは一般的な問題のようですので、ご意見をお寄せいただきありがとうございます。
レニエデルポート

これは正解としてマークする必要があります!ありがとう!
rodripf

Windows上で何か?
Flash Thunder

1
GParted Live USBから起動できます。
マイク・ロバーツ

7

ルートパーティションを縮小することにより、ddイメージのサイズを可能な限り縮小するpishrinkと呼ばれる便利なツールがあります。パーティションが最初に最大サイズに再度拡張されたときに、復元されたイメージを起動する場合。Windowsを実行している場合は、RaspberryでLinuxを使用して画像を縮小するだけです。


0

Win32DiskImagerの最新バージョンには、Read Only Allocated Partitionsオプションがあります。空ではなく、使用済みスペースのみを書き込みます。

  1. GPartedを使用してsdカードのパーティションを縮小します。
  2. より大きなカードからWin32DiskImagerを使用してイメージを作成します。
  3. 上記のオプションを使用して、小さなカードにWin32DiskImagerでイメージを書き込みます。

-1

簡単な答えはできない。画像を縮小したい場合は、圧縮を使用します。これはほとんどの場合です( 'NIX gzipではうまく機能します)。このサイトでこれに関する多くの議論を見つけるでしょう。

別の方法は、ファイルのみをバックアップすることです。私のアプローチは次のとおりです。 /raspberrypi//a/28087/8697


1
(データの内容が新しいSDカードより小さい場合)
Wilf

2
圧縮は役に立ちません。IMGファイルが置かれているディスク領域の問題ではありません。これは、IMGファイルが書き込まれなければならないSDカード上のスペースの問題だ
トーマス・ウェラー

@Thomas IMGファイルを圧縮すると、それが小さくなり、(できれば)書き込み先のSDカードに収まるようになります。
user253751

@immibis:IMGファイルをgzipで圧縮して、PCのハードディスクのスペースを節約できます。gzip圧縮されたデータをSDカードに書き込んだ場合、起動しません。データはブートするために正しい形式である必要があり、gzip形式ではありません。
トーマスウェラー

@Thomasああ、私はOPがそれらを復元するのではなく、何らかの理由でバックアップを別のSDカードに保存したいと思った。
user253751
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.