プロが教える店舗&オフィスのセキュリティ対策術

質問させていただきます。

WindowsのCygwinにおいて「dd」コマンドを利用して、CD-ROMのISOファイルを作成しました。
その際に、Cygwin上に「/dev/」フォルダがそもそも無いため、入力元の指定として、「\\\\.\\d:」(DドライブがCD-ROMドライブ)として実行したところ、うまくいきました。

この「\\\\.\\d:」という表現は、Windows側に「\\.\d:」という値を渡すための物(つまり\の表現に\\を用いている)だと思いますが、調べようにも調べ方が分りません(Googleで\\を入れるとダブルクォーテーションでくくっても、ストップ語をはずそうとしてもうまく検索できませんでした)。

些細な情報でも結構ですので、この表記に関すること(こういうところで使われる・・・など)を教えていただきたいと思います。よろしくお願いいたします。

A 回答 (5件)

> /dev/r*d1/については、よくわからないので、また別途調べてみようと思います。



SCSI HDD (/dev/sd*) の raw disk 版が /dev/rsd* です.
下記の (古い) Linux の man page を見ると,raw device はまだ実装
されていないと書かれてますね.(今はもう実装されているのかな?)

Manpage of /dev/sd
http://www.linux.or.jp/JM/html/LDP_man-pages/man …

デバイスファイル名の先頭に 'r' を付けたのが raw device になるというのが
UNIX の慣習だったと思いますが,下記の /dev/hd (IDE HDD) のマニュアルを
見ると,/dev/hd* 自体が raw disk と書かれてますね….

Manpage of /dev/hd
http://www.linux.or.jp/JM/html/LDP_man-pages/man …
    • good
    • 0
この回答へのお礼

おお~なるほど。
RをつけるとRawというのは非常にわかりやすいですね!

色々と本当に勉強になります。ありがとうございましたm(_ _)m

お礼日時:2007/05/06 22:33

> UNIXのファイルシステムのような物だと考えればいいのでしょうか。


まさしくWindows版のそれなのではないでしょうか。
# ドライブを特別視してると、ネットワーク上の運用ではやっぱ使いにくかったのでは?

私の環境では、ローカルパスを指定する場合、
\\.\c:\windows\system32「アクセスできないので許可されてるかチェックしろ」
\\.\c\windows\system32「ネットワークパスが見つからない」
それぞれ警告されました。
\\machine\...ネットワークパスだと共有してる必要があると思いますが。

> 話を戻して、今回のドライブ指定の仕方もUNCの一部と考えてよろしいのでしょうか?

少なくとも私はそう解してましたけど。
統一的でプレーンなパス指定を行えるように考えられたものであれば、
似て非なるルールを複数作る必要性が感じられず、違うものだと思う根拠もなかったので。
    • good
    • 0
この回答へのお礼

何度もありがとうございます。

ちなみに、私の環境ですと、
CMDで実行:「CMDではUNCをサポートしてません」という旨のエラー
エクスプローラーで実行:「”アドレス”が見つかりません」という旨のエラー
が発生しました。

お礼日時:2007/05/07 02:11

UNCでドライブを指定することも可能だと思いますし、


「UNCにドライブの概念がない」という認識は違うのでは。

ドライブの概念がないというよりは、「ドライブを特別視しない」が近い気がします。
MS-DOS時代は、ドライブ毎にルートがありましたので(今でも通常はそうですけど)、
「ドライブ」というものが重要でしたが、UNC形式のパスでは、
ドライブであっても唯のパス階層の一部に過ぎない。

「マシン名+ドライブ+階層」と絶対パス指定もできれば、
ドライブを指定せずに共有ディレクトリを指定することなどもできる。

そういうものだと思ってますが。

ちなみに、UNCはMicrosoft規定のWindowsにおけるのパス指定法なので、
Win32でもMAX_PATHの制限を越える長いパス用などにも使えます。
(でも、UNICODE版APIでないと使えないとかがあります)
    • good
    • 0
この回答へのお礼

なるほど・・・。
UNIXのファイルシステムのような物だと考えればいいのでしょうか。
例えばCドライブのものであれば、

\\machine\c\windows\system32

のようにして書くのかと思って今やってみたらできませんでしたが、
それはそもそもUNCという記法による制約ではなく、Windowsのファイル指定の際はドライブを共有している物に限るという制約からくるもの、という風に理解しました。

話を戻して、今回のドライブ指定の仕方もUNCの一部と考えてよろしいのでしょうか?

UNCについて詳しく書いてあるものが見つけられなかったので、どうも自分の中で釈然としないもので・・・。

お礼日時:2007/05/06 22:25

UNC (Universal Naming Convention)

    • good
    • 0
この回答へのお礼

私も最初は、それかと思ったのですが、
http://www.amy.hi-ho.ne.jp/~lepton/program/p3/pr …
辺りを見てみても、ドライブの概念がUNCには無いらしいということがわかりました。

もし間違っていたらすみません。

お礼日時:2007/05/05 01:57

Win32 API の CreateFile() (文字どおりの意味だけではなく,既存ファイルや


デバイスのオープンにも使用する) で,ドライブ d: のパーティションを
(raw disk として) オープンする時に,ファイル名として "\\.\d:" を指定します.
UNIX の /dev/r*d1 みたいなもんですね.

CreateFile
http://msdn.microsoft.com/library/ja/default.asp …
    • good
    • 0
この回答へのお礼

なるほど!Win32APIのインターフェースだったのですね。

友人に聞いたところ、「ドライバで見たことがある」とのことだったので、その謎が解けました。ありがとうございます。
/dev/r*d1/については、よくわからないので、また別途調べてみようと思います。

ご回答ありがとうございました。

お礼日時:2007/05/05 01:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!