web-dev-qa-db-ja.com

DD:デバイスにスペースが残っていません

私は古いブラザーWP-2200をいじっていて、ちょっとした問題にぶつかりました。 Linuxでddを使用して入力したフロッピーから画像を作成できることを望んでいました。残念ながら、それはうまくいきませんでした。私は約6台の異なるコンピューターでddを試しましたが、それらはすべて次のようなものを生成しました。

petrusd987@Peters-Gaming-Ubuntu:/tmp$ Sudo dd if=/dev/zero of=/dev/sdd bs=1440k count=1
dd: writing to ‘/dev/sdd’: No space left on device
1+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000530324 s, 0.0 kB/s

これは、逆に実行した場合にも同じ結果を生成します。 WP-2200がフォーマットする前に、デバイスで使用したフロッピーがddの下で完全に機能していたことを知っているので、なぜこれが起こっているのかわかりません。私は、これらのマシンが、コンピュータによって認識されない独自のファイルシステムを使用していることを知っています。 DDはバイナリレベルで動作するので、それは問題ではないと思いました。これを修正するための助けをいただければ幸いです。


更新:

私はこの投稿をあまりうまく表現していなかったので、もう少し明確にしたいと思います。作業中、ディスクは書き込み保護されていませんでした。以下は、私が試した3つのコマンドと、表示される出力です。

I would like to point out that the floppy has changed to sdb when I rebooted because I have removed my external hard drive and flash drive.


**Copying: Writable**

Sudo dd if=/dev/sdb of=/tmp/flp.img
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000530151 s, 0.0 kB/s


**Erasing: Read-only**

petrusd987@Peters-Gaming-Ubuntu:/tmp$ Sudo dd if=/dev/zero of=/dev/sdb
[Sudo] password for petrusd987: 
dd: opening ‘/dev/sdb’: Read-only file system

**Erasing: Writable**

petrusd987@Peters-Gaming-Ubuntu:/tmp$ Sudo dd if=/dev/zero of=/dev/sdb
dd: writing to ‘/dev/sdb’: No space left on device
1+0 records in
0+0 records out
0 bytes (0 B) copied, 0.00111174 s, 0.0 kB/s

これが私の問題です。フロッピーに追加しようとしていると思います。これは私が望むものではありません。フロッピーの先頭から始めて、ゼロを書き込んでほしい。どうすればよいですか?

2
Petrusd987

上記で投稿したコマンドは、1440kの0sをフロッピーに書き込み、フロッピーから何もコピーしません。ただし、ディスクがいっぱいであるため、ddはデバイスに書き込むことができず、コマンドは失敗します。あなたはラッキーです...

フロッピーのデータの画像を撮りたい場合は、次のようにします。

dd if=/dev/sdd of=floppy.img 

これにより、floppy.imgというフロッピーの画像ファイルが作成されます。 ddは危険なコマンドです。使用する前に、man ddを注意深く読むことをお勧めします。


もう1つの考えられる問題(ddを正しく実行し、回答に示した方法ではないと仮定した場合)は、フロッピーが書き込み保護されていることです。 31/2 インチフロッピーには、書き込み保護を切り替えることができる小さなスイッチがありました( ここ からの画像):

enter image description here

書き込みを許可するために、それが正しい位置にあることを確認してください。通常、ドライブが読み取り専用でマウントされている場合、permission deniedまたは同様のエラーが発生します。書き込み保護されたフロッピーに書き込もうとしたときに発生したエラーを覚えていません。

3
terdon

私は、これらのマシンが、コンピュータによって認識されない独自のファイルシステムを使用していることを知っています。 DDはバイナリレベルで動作するので、それは問題ではないと思いました。

そうです、ddはファイルシステムなどを気にしません。それは問題ではありません。今日の3.5インチフロッピードライブが問題であると確信しています。

1.44MB(つまり、HD)のメディアを使用している場合でも、フォーマット時に生成される論理構造については何もと言っていないことを忘れないでください。つまり、セクターあたりのバイト数、トラックあたりのセクター数、メディアあたりのトラック数が書き込まれます。

現在(過去10年間で)1.44MBフロッピーは、セクターあたり512バイト、トラックあたり18セクター、片面あたり80トラック、両面で、ディスクあたり合計1,474,560バイトを使用します[1][2]

ブラザーWP-2200がそれとは異なるもの(またはPCドライブで使用される他のフォーマットを使用している場合。MicrosoftのKBには 概要[3] または Wikipedia [4])へのリンクがあります。 )、フロッピードライブがWP-のbytes-secs-tracksジオメトリを読み取れないという理由だけで、ddコマンドは機能しない運命にあります。 2200フォーマットのディスク。通常、その場合、フロッピードライブから奇妙な音が聞こえ、トラックを見つけようとして数回前後にスイープします。

この フォーラムスレッド は私の仮定をサポートします。

2
mpy