web-dev-qa-db-ja.com

ddコマンドを使用したSDカードのクローン作成-その他の質問

これは、ここにある別のユーザーの質問のフォローです: ddコマンドを使用したSDカードのクローン作成

Ddコマンドを使用して、SDカードのクローンを作成するかバックアップコピーを作成しましたが、成功しません。これらは私のシングルボードコンピュータープロジェクト用で、SDカードを時々完全にバックアップするのが賢明です。限られた成功と言うのは、時々、オンラインで見つかったアドバイスを使用してシステム(カード)の完全な復元を行うことができたからです。

ただし、それ以外の場合はそうではないことに注意してください。それがマウントと関係があるのか​​どうか疑問に思っています(または、私にとっては何らかの混乱があるため、理想的にはカードのアンマウントです).

質問1:umountを実行すると(上記のフォーラムページで提案されているように)、デバイスがマウントされていないと報告されます。それは単にデバイスをアンマウントしたからか、アンマウントするように指定したデバイスが最初にアンマウントするために存在しないからでしょうか?

アンマウントするには、次のコマンドを使用します:Sudo umount /dev/sdc

質問2:Ubuntu 16.04(ファイル)GUIユーティリティでは、USBに挿入されたUSBメモリスティックまたはSDカードの右側に上向きの矢印が少しあります。これをクリックすると、デバイスが事実上切断され、安全に取り外すことができます。これは、CLIでのアンマウントと同じですか?そうではないようです。ddコマンドを実行すると、イメージを作成するデバイスが見つからないというエラーが発生します。 SDカード(USB)を取り外してから再び差し込むと、SDカードが小さな矢印で再び表示され、問題なくDDを使用してイメージを作成できます(ただし、イメージが良いかどうかは別の質問です) 、画像生成前に実際にマウント解除されたかどうかはまだわかりません!)

Upward facing arrow disconnects HDD, SD etc. Unmount?

質問3:Sudo fdisk -lを実行すると、カードがsdbと表示されますが、ディスクユーティリティを使用すると、SDカードは実際には少なくとも3つのパーティションで構成されていることがわかりますパーティション、およびバルクパーティションまたはメインパーティション用のSDB1)。 dd操作の一部として選択するパーティションはどれですか? ddは、SDカードの残りを無視して、そのパーティションのイメージを作成するだけに制限されませんか?もしそうなら、それをディスクイメージングツールと呼ぶのは本当に関係ありません...

最後に、これはSDカードの圧縮イメージを作成するために実行するddコマンドです(これを正しく実行すると、完全に機能し、Etcherでも圧縮イメージの読み取りに問題はありません)

Sudo dd if=/dev/sdc | pv | gzip > FileNameHere.img.gz

これまでの数年間の使用と経験の後でも、Linuxでまだロープを学んでいる人にとっては、あなたの支援に感謝します。

2
witenitenz

ddを使用してブロックデバイスをコピーする場合、ビット単位でデータをコピーするための低レベルのツールであるという事実を認識する必要があります。

この非常に強力なツールは、すべてのビットをソースから任意の宛先にコピーします。

  • any destination部分は決定的です。誤った場所に誤って入力すると、そこに容赦なくデータが上書きされる可能性があるためです。

  • 各ビット部分は、任意の場所の各単一ビットをコピーすることも意味します。また、NULLビットとごみ箱の内容をコピーします。これは、リカバリ用のイメージを作成するのに非常に役立ちますが、単純なバックアップに必要なものではない場合があります。

ddも増分バックアップを許可せず、かなりの時間がかかりますので、それらをご覧になることをお勧めします 多くの異なるバックアップソリューション おそらくddよりもニーズに合ったものを見つける必要があります。

それでも質問に答えるには:

  1. はい、Nautilusとコマンドラインの両方からパーティションをアンマウントできます(ドライブではありません!)。
  2. はい、ddでパーティションをコピーできるようにするには、パーティション(たとえば、/sdb1)をアンマウントする必要があります。
  3. はい、すべてのパーティション、パーティションテーブル、削除されたファイル、ブートレコード、削除されたパーティション、およびddで保持できるものを含むブロックデバイス全体(あなたの場合/sdb)をコピーできますが、「未使用「エリア。
3
Takkat

1.マウント解除

コマンド

Sudo umount /dev/sdc

古いフロッピーディスクのように「ドライブ全体に」直接作成されたファイルシステムをアンマウントします。今日、私たちは通常、パーティション/dev/sdxnを作成し、パーティションにファイルシステムを作成します。ここで、xはドライブ文字で、nはパーティション番号です。

Sudo umount /dev/sdc1

またはsdcのすべてのパーティション

Sudo umount /dev/sdc?

2.取り出し記号

参照している「矢印」はイジェクトシンボルであり、USBペンドライブまたはメモリカードをアンマウントするだけでなく、電源もオフにします。電源を取り戻すには、ペンドライブまたはカードを取り外して再度接続し、再度マウントできるようにします(自動マウントされる場合があります)。

これは、umountコマンドで行うこととは異なります。 udisksソフトウェアはその取り出しシンボルから呼び出されると思います。見る

man udisksctl

コマンドラインユーティリティについて説明します。

3.ディスクから見たパーティション...

ドライブ全体を複製します。オペレーティングシステム全体を複製します。ソースデバイス/dev/sdxを使用する必要があります。そうしないと、パーティションを複製するだけで、システム全体が含まれなくなります。ドライブ文字があるはずですが、パーティション番号はありません。 Clonezilla または mkusb を使用して、より安全な方法でクローンを作成することもできます(ddは危険です)。

とにかくddを使用する場合は、ドライブのすべてのパーティションをアンマウントすることから始めてください。

Sudo umount /dev/sdc?

その後、編集された質問に表示されるコマンドラインが仕事をするはずです。

Sudo dd if=/dev/sdc | pv | gzip > FileNameHere.img.gz

そして、私が正しく理解していれば、それはあなたのために機能します(システムを復元するために使用できる圧縮されたイメージファイルを作成するために)。

  • MSDOSパーティションテーブル(MBR)が存在する場合は、逆のコマンドラインで直接動作して動作しているシステムを作成する必要があります。

  • GUIDパーティションテーブル(GPT)が存在する場合、ドライブの最後にあるバックアップパーティションテーブルを修復する必要があります(ターゲットドライブのサイズがソースドライブのサイズと正確に同じでない場合)。これは mkusb で自動的に行われ、gdiskまたはスクリプト gpt-fix .

1
sudodus