[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[fol] Re: why 'dd' is used to make boot floppy instead of 'cp'



塩崎です。


<8e8lbn$4qu$1 _at_ nn-os105.ocn.ad.jp>の記事において
yasuo_ohgaki _at_ hotmail.comさんは書きました。

>> >  「コピー」することに違いはないのですが、コピー先の
>> >  物理的な位置が変わってきます。ブートディスクを作る
>> >  場合には先頭レコード(マスターブートレコード)から情報が
>> >  始まっている必要があります。

これはかなりマト外れなので置いておいて、


>> 確かにそのとおりですが、
>> cp zImage /dev/fd0
>> もでOKです。
>> (PC以外のアーキテクチャは知りませんが)

まあ、block device ならどんなアーキテクチャでもエラーは出ないでしょうね。
block device 使ってる限り、普遍的に安全である保証はしませんが。


>> ddを使った例はかなりかなり古いSlackwareのインストール
>> マニュアルに書いてあったと思います。
>> 昔はSlackwareがメジャーなディストリビューションだったので
>> その名残でしょう。
>> (昔のcp/kernelはblockサイズの違いをきちんとハンドリングできなかった??
>> のでしょうか?ddを使うさいには入出力のブロックサイズも指定する例だった
>> と記憶しています)
>> 今のKernelのREADMEにはcpを使ってコピーする例が書いてあります。

dd は普通の cp よりもちょっとだけ便利なコピーコマンドというだけのもの
なので、条件さえあえば cp でも大丈夫ですし、逆に cp で済む場面で
dd を使うこともできます。
# dd 便利だけどな。コマンドラインの書式が変だけど。

でも、ふつーの UNIX ではこういう場面では raw device を使うので、
cp を使うとダメでしょう。どういう場合に dd が必要で、どういう場合に
cp でも大丈夫なのか、というのは、raw device と block device という概念に
対する知識と、実際に raw device の下にあるハードウェアに対する知識が
必要になります。それは、まともな UNIX のシステム管理の入門書には
書いてあるはずなので、ここには書きません。

# 件の Slackware の場合は、単なる様式美でしょう。


>> /dev/fd0a とか/dev/rfd0aというデバイスは私のPCには見当たらないので
>> PC以外を使っているのでしょうか?

それはもしかして、Linux 以外は PC では動かない、と言いたい? :-)
# ニュースヘッダを見ていないだけかな。

raw device:
  L「まだ存在していたとはな」
  A「怒られるよ〜」


では。
--
Takuya SHIOZAKI / ASTEC Products, Inc.


この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: References: