USBスティックの少し同一の画像を作成するにはどうすればよいですか?


21

何らかの理由で読めないUSBスティックがあります。後日、イメージからデータを取得できるように、保存目的でイメージのイメージを作成します。

USBスティックのこのような少し同じイメージを作成するにはどうすればよいですか?


これは私が使用するときに得るエラーですdd

oshirowanen@desktop:~$ sudo dd if=/dev/sdd of=/USB_image
[sudo] password for oshirowanen: 
dd: reading `/dev/sdd': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 1.00783 s, 0.0 kB/s
oshirowanen@desktop:~$ 

どの16進エディタを使用しますか?
AJMansfield

/dev/sdxUSBスティックを指しているデバイスから読み取ることができない場合、深刻な問題があり、通常のユーザーが使用できるツールは存在しないと思います。詳細については、askubuntu.com / questions / 144852 / …のこのリンクを参照してください。すぐにgiveめないでください。読み物が機能する可能性があるもののリストに従って試してください。たぶん、USBペンドライブを引き離してmicro SDカードを見つけることができます。これは、@ ubfan1のコメント(リンクされた回答で)に従ってまだ機能しています。
sudodus

問題を処理するための2つのオプションがあります。1つ目の簡単な方法:sudo suを実行してから、rootとしてddコマンドを実行します。 * | gzip>〜/ Backup-USB.img.gz '
WiKrIe

回答:


39

dd それ!

使用法はsudo dd if=/dev/sdb of=~/USB_image/ dev / sdbがリストされているusbドライブでsudo fdisk -l〜/ USB_imageがコピーが作成されるイメージファイル(イメージファイルが作成されるパス)のようなものになります。

イメージを別のUSBドライブに復元するには、プロセスを逆にするだけです:〜/ USB_imageをデバイスsdbにsudo dd if=~/USB_image of=/dev/sdb復元します。新しいUSBドライブが元のUSBドライブと同じかそれ以上であることを確認してください。

また、作成したばかりのイメージファイルをパスにマウントすることもできますmount ~/USB_image /mnt/USB_image -o loop。最初に別のUSBドライブに復元する必要はありません。


fdisk -lUSBドライブが表示されない場合はどうなりますか?ただし、ディスクユーティリティプログラムからは/ dev / sddとして表示されますが、コマンドを使用しようとすると失敗するようです。
oshirowanen

どのような障害で失敗しますか?
ブルーノペレイラ

コメントするには多すぎるため、元の質問にエラーを追加しました。
oshirowanen

1
fdiskがデバイスを表示しない場合は、dmesgを使用して、デバイスが接続されたときに何が起こっているかを表示します。dmesgはカーネルの相互作用のリストです。
j0h

2
@Alexは Ubuntuで使用status='progress'するddか、ddコマンドのPIDを把握してSIGUSR1信号を送信します。ただし、他の実装についてはわかりません。
セルギーKolodyazhnyy

7

を使用しddrescueます。エラーの後も継続しますが、dd単に失敗します。

さらに、ddrescueリポジトリにあります。13.04に、sudo apt-get install gddrescue インストールするように入力しました。

sudo fdisk -lまたはdmesgを使用してデバイスの場所を見つけます。例:/dev/sdb、次のようなコマンドを実行します

ddrescue /dev/sdb /home/user/desktop/bkp.img

には多くのオプションがありddrescuemanページを読むことができます。また、ハードウェアが失敗し、ダンプする理由もわかりませんdd。1つの不良ブロックがdd終了する可能性がありますが、断続的な電源障害が発生する可能性があります。dmesg発生している可能性のあるハードウェア障害について詳しく説明する場合があります。

デバイスがマウントされていないことを確認してください!データリカバリ、イメージングなどを実行しようとすると、問題が発生する可能性があります。

データの回復でうまくいかないことがたくさんあります。問題がある場合はポストバックしてください。testdiskイメージを取得したら、データ回復を行うための便利なユーティリティです。

明確にするために、これはUSBハードドライブまたはUSB(ソリッドステートメモリ)デバイスですか?

I / Oエラーは通常、ファイルシステムの破損ではなく、ハードウェアの誤動作を示しています。

また、デバイスのSMARTデータ分析を入手してください(入手可能な場合)。これは、デバイスが過熱状態で、長時間電源が入っていて、不良セクタがあり、Xにさらされていない場合などを示します。Gsなどの


USBスティックは、私はまた、あなたが使用する必要があると思います...分析する一切SMARTデータが存在しないsudoためddrescue、* ddは単に失敗します*は、ソートあなたが設定できますので、実際には真実ではないのdd読み込みエラーを無視します。ドライブが停止しているときではなく、失われたデータのセクターを読み取ることができるときtestdiskは素晴らしいです
ブルーノペレイラ

#はルートのシンボルなので、sudoは不要です。それが$なら、はい。
j0h

また、ddrescue、またはddが失敗しても、イメージを生成できる場合でも、そのイメージでデータリカバリを試みることができることに注意してください。
j0h

私はの使用を示唆しているgddrescue反対のddrescueため、gddrescue新規の方、仕事やるべきことが可能であるddrescueんです。
ブルーノペレイラ

1
私も男を知らない、私の記事を読んでください。gddrescueはパッケージで、ddrescueはコマンドです。
j0h

2

を使用して、USBスティック(または別のデバイス)のイメージを作成できますdd

例えば

dd if=<usb device> of=usb.img

パラメーターを追加しddて、コマンドを最適化できます(例:)bs


2

dd、前のポスターで述べたように、ネイティブな方法です。ただし、エラーが発生しても続行する必要があるため、次のように開始します。

dd if=<usb device> of=<new file on disk with enough space> bs=<should match your blocksize> conv=noerror,sync 

重要な部分は最後の部分です:conv=syncddにゼロで部分的にしか読み取れないすべてのブロックをパディングするように指示するため、結果のイメージにはいくつかのゼロが多すぎる場合がありますが、構造的にはフレークディスクから読み取りエラーを差し引いたものになります。conv=noerror これらの読み取りエラーを処理し、ddに次のブロックを続行するよう指示しました。この時点で、ブロックサイズが重要になります。エラーをスキップするのに必要以上に大きい場合、読み取り可能なデータはここで失われます。ブロックサイズは常に2倍にする必要があります-疑わしい場合512kは、トリックを行う必要があります。

その後、私はお勧めします:

  • その画像の変更されていないコピーを安全な場所に保存する
  • fsckディスクイメージのコピー
  • ディスクイメージをマウントする
  • ファイルを確認してください-今は問題なく読むことができますが、一部が欠落しているか、切り捨てられている可能性があります
  • デバイス自体をまったく読み取れない場合は、運が悪い可能性があります。また、デバイスにプロプライエタリなソフトウェアが含まれている場合、最初のブロックでアクセスされたときに読み取りエラーを返すように設定されている場合があります。

(2010年に書かれた記事から自分自身を部分的に引用)

ネイティブでいる必要がない場合は、ddrescue(パッケージgddrescue)やそのコンパニオンddrescueviewsourceforge)など、エラーを視覚化するためのプロセスを簡単にしようとするツールを常に試すことができます。


2

「これはddを使用するときに表示されるエラーです」という質問の後半に関しては、いくつかの可能性があります。

  1. 入力したコマンドと受け入れられた回答の違いに注意してください。の~前に行方不明になっています/USB_image。つまり、ホームディレクトリではなく、ファイルシステムのルートを出力しようとしています。
  2. /dev/sdd正しいドライブではない可能性があります。実行sudo fdisk -lして、ドライブのサイズをUSBスティックの既知のサイズと比較します。たとえば、16GBに近いため、これが私のUSBスティックであることがわかりますDisk /dev/sdf: 15.8 GB, 15805186048 bytes
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.