web-dev-qa-db-ja.com

より大きなSDカードへのSDカードの複製

Ubuntu 12.04を使用しています。古い4GB SDカードを持っていますが、新しい16GB SDカードを購入しました。古い4GB SDカードから新しい16GB SDカードにすべてをコピーしたいと思います。通常のコピーアンドペーストのトリックは何かを見落とすのではないかと恐れていたので、古い4GB SDカードを16GB SDカードに複製したいと思いました。 このリンク の指示に従って、シェルでddコマンドを使用しました。

これは、1つの小さな警告で機能しました。新しいSDカードは4GBになりました。 16GB SDカードのプライマリパーティションが4GBに縮小されたため、後でこれがわかりました。この問題を解決しましたが、理解できたと思います。しかし、私の質問は、16 GB SDカードのプライマリパーティションを4 GBに縮小せずに、古い4 GB SDカードを新しい16 GB SDカードに複製するにはどうすればよいですか?

8
Ray

Ddでパーティションのcontentsをコピーしない限り、常にプライマリプライマリパーティションをコピーしたサイズに縮小します。

Sudo dd if=/dev/sda/ of=/dev/sdb bs=4kまたは、SDカードスロットが2つない場合は、一時ストレージとして画像ファイルを使用しました。このコマンドを使用して、パーティションとパーティションテーブルを新しいSDカードにコピーしました。

これを試してください(パーティションが/dev/sda1):

  • 4 GB SDカードに挿入します
  • Sudo dd if=/dev/sda1 of=~/sdcard.bin
  • 16 GBのSDカードを挿入し、プライマリパーティションが16 GB全体に及ぶことを確認します
  • Sudo dd if=~/sdcard.bin of=/dev/sda1

これにより、パーティションの内容のみがコピーされます。


新しいSDカードのパーティションのサイズを変更することもできます。これに関する情報が必要な場合は、SDカードで使用されているファイルシステムをお知らせください。

4
wullxz

パーティションサイズを16GBに設定した場合でも、ファイルシステムメタダは4GBのパーティションを想定して作成されており、自動的に拡張されません。

それを修正する簡単な方法は、gpartedを起動し、パーティション全体を拡張してディスク全体を使用することです。これにより、パーティションとファイルシステムの両方が修正されます。

古いSDカードにパーティションテーブルがない場合は、sdaをダンプし、新しいカードに16GBのsda1パーティションを作成し、ddを使用してそのパーティションにイメージを書き込みます。 @Earendilで説明したように、gpartedを使用したチェックが必要です。

1
Renan

同じことがここで起こりました。実際、私はsda1notsdaでコマンドを使用しました。簡単な方法は、Gpartedを使用することです。

  • パーティションを右クリックします。
  • checkを選択します。
  • Gparted(緑のチェック)でチェックを実行します。
  • Gpartedはパーティションエラーを修正しようとします。

私の場合はそうでした。 SDHCカードが16GBを正しく読み取るようになりました(GPartedがクローンパーティションをパーティション内の使用済みスペースとして表示する前)。あなたがそれらを習得するとき、UbuntuとこれらのUbuntuツールがどれほど強力であるか信じられないほどです。お役に立てれば。

1
Earendil Star