2016-05-16 7 views
-1

fdiskが私のディスク/ dev/sdaにddを使用してイメージファイルを作成しました。これは500107862016バイトのサイズです。結果のイメージファイルは500108886016バイトであり、正確に1024000バイト大きくなります。DDイメージがソースより大きいです

  1. なぜ画像ファイルは1MBのソースディスクよりも大きいですか?私のddコマンドでbs = 1Mを指定したという事実に関連するものはありますか?
  2. イメージファイルを別の同じディスクに復元すると、「dd:error writing '/ dev/sda':デバイスにスペースが残っていません」というエラーが表示されます。これは問題ですか?新しいディスクが壊れますか?
+2

興味深い質問ですが、 http://unix.stackexchange.comおそらく最高の賭け –

+2

あなたは私たちに正確なコマンドラインを教えてもらえますか?たとえば、 'conv = sync'を指定すると、短い入力レコードが埋められ、ブロックサイズのラウンド倍の出力ファイルが生成されます。 500108886016は1024 * 1024の倍数です。 500107862016はそうではありません。 –

+0

私は:dd if =/dev/sda of imagefile.iso bs = 1M conv = noerror、sync – waffle

答えて

0

conv=noerrordd(1)は、読み取りエラーの後も続きます。これはあなたが望むものではありません。また、conv=syncは完全なブロックを埋めるためにゼロで不完全なブロック(主に最後のブロック)を塗りつぶします。したがって、おそらく最後のブロックへのこの追加ゼロはファイルを実際のディスクサイズよりも大きくしています。

使用したconvオプションを使用する必要はありません。変換が行われる予定されていない、とdd(1)が画像の場合には、不完全な最後のブロックを書き込みます(ケース)フルブロックサイズを持っていない

するだけで、あなたのコマンドを再試行してください:

dd if=/dev/sda of=yourfile.img 

、あなたは(あなたがブロックデバイスを使用していて、カーネルはブロックデバイスを読み取るためのブロックサイズを課さないよう、必要ありません)、いくつかの大きなバッファサイズを使用する予定の場合は、

dd if=yourfile.img of=/dev/sdb 

はただの倍数を使用ディスク全体の除数であるセクタサイズize(今日のディスクのトラックは完全に論理的であり、実際のディスクジオメトリとは何の関係もないので、1つのフルトラックのようなもの---ばかげている)

+0

私はiimファイルを作成しましたが(ubuntu os)、私はディスクに復元しましたが、ubuntuを起動していませんか?それについて何か考えていますか? – Nullpointer

関連する問題