CD-ROMを仮想的にマウントする方法を探していますが、ループデバイスを使用してインストールする方法しか見つかりません。
mount -o loop disk1.iso /mount-point
とても簡単です。
私はこれが/dev/sr0
カーネルのいくつかのバッファを指すブロックデバイスであることを知っていますmount
。指定されたマウントポイント。
disk1.iso
しかし、ISOを指定できるVmwareとVirtualboxで実行されているように、SCSI CD-ROMデバイスを使用して/dev/sr0
(カーネルで何も変更せずに)選択したISOをマウントできるかどうかを知りたいです。ハードウェアCD-ROMを自動的にシミュレートし、ISOを/dev/sr0
デバイスにマウントできますか?
/dev/sr0/
ここで見ることができる主な質問はisoに接続する方法です。
答え1
ここで重要なのは、/dev/sr0
カーネルデバイスドライバに接続することです。前述のように、デバイスドライバは、ノードを介して利用可能な場合は物理CDROMへのアクセスを許可します。 VMWareとVirtualBoxはハードウェアをエミュレートするので、カーネルとデバイスドライバはハードウェアと通信していると思います。
バッファを直接指すので/dev/sr0
はなく、ユーザー空間プロセスがハードウェアデバイスのコンテンツにアクセスできるようにするブロックデバイスインターフェイスを提供します。
イメージをブロックデバイスとして使用するには、ハードウェア仮想化とエミュレーションに加えて、唯一のオプションはループデバイスを使用するか、losetup
独自の代替デバイスドライバを作成することです。現在実行可能なオプションが1つあります。
イメージを使用可能にするには/dev/sr0
(その場所のCDROMにアクセスする必要があるソフトウェアの一部を偽造することについて話していますか?)、ファイルを次に移動してから/dev/sr0.moved
そのシンボリックリンク/dev/loopX
を/dev/sr0
。問題のCDROMデバイスの特別なコマンドだけを試しても機能しません。それ以外の場合は問題になりません。
答え2
インストールを繰り返すのではなく、cdemuを使用すると、望ましい効果が得られます。 CD-ROMデバイスをエミュレートします。インストールは単にファイルへのアクセスのみを提供します。また、Cue / binファイルやその他の画像タイプをインストールするためにも使用できます。これにより、複数のトラックまたはデータ/音楽トラックの組み合わせを含む画像をインストールできます。