MD4Ram - Multi Device Driver for R.A.M. (BETA) | Version 0.99a edition #01 (BETA) | |
(C) Copyright 2005, taro |
本プログラムは開発途中のベータ版です。
評価、実験には自由に利用してくださって構いませんが、転載・再配布は行なわないでください。
このドキュメントもベータ版のようなもので推敲が不十分で内容が間違っている箇所があるかもしれませんが、ご容赦願います。
1-1 | 概要 |
MD4RamはDVD-RAMドライブ等のリムーバブルディスクやRAMディスク、メージファイル等、様々なデバイスを組み合わせて利用できるWindows 2000/XP用ソフトウェアRAIDドライバです。
以前からLinuxではDVD-RAMドライブを使ったソフトウェアRAIDを使っていましたが、Windows上でも利用したいということから、このトライバを開発しました。
MD4Ramを使えば複数のDVD-RAMドライブを束ねて、1台の容量の大きなドライブとして使うことができます。DVD-RAMドライブが2台あれば約9Gバイト、4台あれば約18Gバイトのストレージとして利用可能です。しかも、ストライピングにより読み書きの速度も高速化されます。
ハードディスクやネットワーク共有ドライブに格納したファイルを仮想ディスクとして利用したり、RAMディスク、仮想CD/DVDドライブ機能も備えています。また、これらのデバイスを組み合わせてRAID(JBOD/ストライピング/ミラーリング)を構築することが可能です。
たとえば、2層DVD等の4.7Gバイトを超えるISOイメージをDVD-RAMドライブを2台使ったストライピング・ドライブに格納して、仮想CD/DVDドライブから利用するといったことが可能です。MD4Ramの仮想CD/DVD機能は簡易的なものなので、別の仮想CD/DVDソフトウェアと組み合わせて使うことも可能です。
その他、以下のような機能・特徴を備えています。
*1 |
Panasonic/B.H.A. DVD-RAMドライバ。 Windows 2000環境でDVD-RAMとMD4Ramを使うためにはDVD-RAMドライバは必須です。 |
MD4Ramは使い方を誤るとディスクに格納されているファイルやデータを完全に消してしまいます。 作者はこのプログラムを使用したことによって生じた損害はまったく保証できません。 プログラムの動作や内容を十分理解した上で、自己責任の上でご利用ください。 |
1-2 | ファイル構成 |
ファイル名 | 説明 |
md4ram.sys | ドライバ プログラム |
md4ram.reg | ドライバ インストール用レジストリ登録エントリ |
md4rctl.exe | 制御コマンド プログラム |
Debug\md4rctl.exe | 制御コマンド プログラム(デハッグ用) |
md4ram.htm | 説明(本ファイル) |
ベータ版のためデバッグ用Debug\\md4rctl.exeを収録しています。基本的な動作はリリース版と同じですが、途中経過や動作状況などの情報を表示するようになっています。
表示内容は開発者が見ないとわからないと思いますが、ブログラムが意図したとおりに動作しない場合はデバッグ版を使ってみてください。
1-3 | 実行環境 |
※ |
管理者(Adminisrator)権限を持つユーザで実行してください。 |
1-4 | 使用、転載、再配付について |
このプログラムの著作権は作者が保持しています。
以下の条件に従って自由に使用してください。
taro.kobayashi@nifty.com |
1-5 | 説明・表記について |
本ドキュメントでは、RAIDドライブを構成するDVD-RAMドライブ/イメージファイル/RAMディスク等を物理デバイス、または単にデバイス(device)と表記します。
これらの物理デバイスから構成された、RAIDドライブはディスク アレイまたは単にアレイ(array)と表記します。
2-1 | インストール/アンインストール |
2-2 | MD4Ramの使い方 |
MD4Ramは制御コマンドMD4RCtlを使って操作・制御します。
MD4RCtlはコマンドプロンプト用のプログラムです。まずはコマンドプロンプトを開いてください。通常、[スタート]メニューから[すべてのプログラム]→[アクセサリ]→[コマンドプロンプト]を選択すると開きます。
※ 準備
ベータ版では安全のため、MD4Ramドライバは自動的には開始しないように設定してあります。
MD4Ramドライバサービスを開始するには、コマンドプロンプトから
|
と入力して[Enter]キーを押してください。
■ パート I:アレイディスクを作成する
●容量10MバイトのRAMディスクを作成する
Xドライブに10MバイトのRAMディスクを作成します。
次のように入力して最後に[Enter]キーを押してください。
ex.1.1/2-2
md4rctlはアルファベットの大文字と小文字は同じものとして区別しませんが、 サイズ指定のK(キロ)、M(メガ)、G(キガ)は大文字と小文字で意味が異なります。 |
「Continue (Y/N) ?」と尋ねてくるので、[Y]キーを押してください。
これでRAMディスクは作成されましたが、フォーマットされていないので、このままではファイルの読み書きはできません。
OSや環境によってはマイコンピュータやエクスプローラからフォーマットできないことがあります。その場合、コマンドプロンプトからWindows標準のFormatコマンドを使ってフォーマットしてください。
Formatコマンドを使う場合は、たとえば次のようにします。
NTFSを使いたい場合は「/fs:fat」のところを「/fs:ntfs」に変更してください。
ex.1.2/2-2
|
Xドライブのアレイを削除する場合は、次のようにします。
ex.1.3/2-2
|
RAMディスクはアレイを削除すると、ディスク内容は消えてしまい後から読むことはできません。
●イメージファイルを使った仮想ドライブを作成する
MD4Ramではハードディスクなど任意のドライブ上にあるデータファイルを、ディスクドライブとして使うことができます。
新しいイメージファイルからXドライブにアレイを作成したい場合には次のようにします。
イメージファイルのパスはC:\disk.img、容量は100Mバイトとします。
ex.1.4/2-2
|
新しく作成したイメージファイルはRAMディスクと同じで、フォーマットされていません。
formatコマンドを使ってNTFSでフォーマットするには次のようにします。
ex.1.5/2-2
|
Xドライブのアレイを削除する場合は、次のようにします。
ex.1.6/2-2
|
RAMディスクと異なり、アレイを削除してもイメージファイル(この例ではC:\disk.img)はそのまま残っていますので、再度アレイを作成すると以前の状態のまま使うことができます。
もう一度、アレイを作成したいときは、次のようにします。
ex.1.7/2-2
|
既存のイメージファイルからアレイを作成する場合は、--createfileオプションや--capacityオプションは必要ありません。
また、以前にフォーマットしたアレイであれば、再度フォーマットを行なう必要はありません。
これまで説明したようにMD4Ramの操作の基本的な手順は、次のようになります。
■ パート II:複数のデバイスを組み合わせたアレイディスクを作成する
●RAMディスクとイメージファイルでミラーリング
MD4Ramは種類の異なるデバイスを組み合わせてアレイが作成できます。
ここではRAMディスクとイメージファイルでミラーリングする方法を紹介します。
通常、RAMディスクはアレイを削除したりWindowsを終了すると内容は消えてしまいますが、ハードディスク上のイメージファイルとミラーリングすることで、内容を保持することが可能となります。
書き込みはRAMディスクとイメージファイルの両方に書き込みするので遅くなりますが、読み込みについてはRAMディスクを優先的に使うことで高速化できます。
作成するアレイはXドライブ、容量10Mバイト、イメージファイルはC:\ramdisk.imgとして作成するものとします。
ex.2.1/2-2
|
少しパラメータが長いですが、イメージファイルc:\ramdisk.imgが既に作成済みなら、次のようにできます。
ex.2.2/2-2
|
--primaryオプションは、優先的に読み込みを行なうデバイスを指定するものです。
後は、パート Iでの説明と同じようにXドライブをFAT/NTFSでフォーマットしてから利用してください。
誤ってアレイを削除したりPCの電源を切ってしまったときに、イメージファイルC:\ramdisk.imgからデータを取り出したいときは次のようにします。
ex.2.3/2-2
|
パート Iでの説明とまったく同じですが、ramdisk.imgをYドライブに割り当てアレイを作成します。これでYドライブからデータが読み取れます。
|
●複数のイメージファイルを連結したディスクアレイを作成する
MD4RamではLINEAR/STRIPEモードを使うことで、複数デバイスをまとめて容量の大きい1つのドライブとして使うことができます。
ファイルシステムにFAT32を使っている場合、ファイルサイズは4Gバイトまでという制限がありますが、MD4Ramでは2Gバイトのイメージファイルを4つまとめて、8Gバイトのアレイ ディスクを作成できます。また、アレイ ディスクをNTFSでフォーマットすることで、4Gバイトを超えるファイルも作成できます。
最初からNTFSにしておけばそんな面倒なことをする必要はないのですが、これは応用例の紹介ですから気にしないように。
基本的には、パート Iでのアレイの作成方法と同じです。
2Gバイトのファイルを4つ用意してアレイを作成する場合、次のようにします。
ex.2.6/2-2
|
あとは、お決まりのフォーマットです。
パラメータが多くて大変ですが、次回からはイメージファイル(今回の例ではpart1.img 〜 part4.img)は作成済みなので、次のように指定できます。
ex.2.7/2-2
|
■ パート III:複数のDVD-RAMドライブを活用する
MD4Ramを開発するきっかけは、複数のDVD-RAMドライブのストライピンクして使用したいというものでした。
そういうわけで、ここが本命の機能ということになります。
ここでは2台のDVD-RAMドライブを活用する方法を紹介しますが、もっとドライブが増えても使い方は変わりません。DVD-RAMドライブが1台しかなくても、ファイルシステムにNTFSが使えるというメリットもあります。
また、DVD-RAMドライブ以外のリムーバブル ディスクでも同様に利用できます。
DVD-RAMを使うといっても、これまでに紹介した方法と基本的には同じなのですが、ひとつ注意点があります。
MD4Ramで使用するリムーバブル メディアは Windowsや標準ドライバからはファイルシステムとして使えないように論理フォーマット(FAT/UDF等)されていない状態のものを使ってください。
通常の(MD4Ramではない)使用方法でFATやUDFでフォーマットしたメディアについては、先頭から100Kバイト程度ゼロクリアしてしておけば十分ですが、方法が分からない場合は拙作のDVD4RAM(*1)を使って「ディスク消去」してください。
FATやUDFでフォーマットされたメディアをセットすると、Windowsがこのメディアを使おうとするためにMD4Ramと競合します。
*1 |
DVD4RAMについては「2-3 あると便利なソフトウェア」を参照してください。 |
●DVD-RAMドライブを2台でストライピングしたディスク アレイを作成する
ここではIドライブとJドライブがDVD-RAMドライブとし、2台でストライピングしたXドライブとしてアレイを作成します。
DVD-RAMドライブにDVD-RAMメディアをセットして、次のように入力します。
ex.3.1/2-2
|
初めて使うときには、次のようなメッセージが表示されるはずです。
|
これは署名ブロックを書き込むかどうかの確認です。[Y]キーを押して、署名ブロックを書き込むように指定します。
実のところ操作はこれだけです。後はお決まりのパターンでフォーマットしてから使ってください。
ただし、DVD-RAMに対するフォーマットはRAMディスクやハードディスク上のイメージファイルと比較すると、かなり遅くて時間がかかるので、クイック フォーマットを使うことをお薦めします。
formatコマンドでクイックフォーマットを行なう場合には/Qオプションを指定して次のようにします。
ex.3.2/2-2
|
メディアを取り出したり交換したいときはアレイを削除する必要がありますが、これも今までと同じで次のようにしてください。
ex.3.3/2-2
|
|
|
●DVD-RAMドライブでミラーリング
DVD-RAMドライブ2台でミラーリングするのは簡単です。ex.3.1/2-2 でストライピングを指定しましたが、ここの--array stripe を --array mirror に変更するだけです。
DVD-RAMでミラーリングしてもあまり意味はないと思いますが、同じ内容の複製を作りたい場合には1回のファイルコピーで済みます。
MD4Ramでのミラーリングは、読み書きの速いハードディスク上のイメージファイルを利用したほうがメリットがあります。
この方法はノートパソコン等で1台のDVD-RAMドライブを活用するのに役立ちます。書き込みは速くなることはありませんが、読み込みはハードディスクを使うので高速です。
IドライブのDVD-RAM 1台と、イメージファイルc:\dvdram.imgでミラーリングする場合は次のようにします。
ex.3.2/2-2
|
|
既存のイメージファイルを利用する場合には次のように指定できます。、--createfileオプションや--blockNumberは省略できますが、--blockSize 2048の指定は常に必要です。
ex.3.3/2-2
|
|
厳密にはミラーリングしたアレイを作成した直後に全領域についてデータ内容を同期させる必要がありますが、一度もデータを書いたことのない領域については読み取りデータは不定という扱いで、とりあえずは論理フォーマットだけで動きます。
■ パート IV:CD/DVDアレイを活用する
MD4Ramはディスク アレイだけでなく、CD/DVDアレイを作成することができます。
いわゆる仮想CD/DVDドライブと呼ばれている機能で、データファイルをCD/DVD-ROMドライブのように使うことができます。
MD4Ramの仮想CD/DVDドライブとしての機能は貧弱なものでセクタサイズ2048バイトの一般的なデータCD/DVDしか扱うことはできませんが、ディスク アレイとまったく同じように複数のデバイスを組み合わせて使用できます。
仮想CD/DVDドライブ機能についてはMD4Ramを使わなくても、他のソフトを使ったほうが便利だと思いますが、MD4Ramでは複数のデバイスを組み合わせてJOBDやストライピング、ミラーリングできるのが特徴です。
たとえば、2台のDVD-RAMドライブでストライピングしたCD/DVDアレイを作成して、容量9GバイトのCD/DVD-ROMドライブとして使うことができます。
書き込みできないCD/DVDアレイではミラーリングは意味があるとは思えませんが、同じ内容のISOイメージファイルが2つあればストライピング同様に読み込みを高速化することが可能です。
●2層DVD-ROM用ISOイメージをDVD-RAMにストライピングして保存する
たとえば、容量が8Gバイト程度ある2層DVD-ROM用のISOイメージファイルdvdrom.isoがあったとします。このISOイメージは2層DVD±RメディアがなければDVDメディアには保存できませんが、2台のDVD-RAMドライブてストライピングしたアレイには保存できます。
まず、「パート III:複数のDVD-RAMドライブを活用する」で紹介したex.3.1/2-2の方法で、DVD-RAM2台でストライビングしたアレイをXドライブとして作成します。FAT32では4Gバイトを超えるファイルは格納できないので、フォーマットは必ずNTFSにしてください。
dvdrom.isoをXドライブにコピーします。
Xドライブにコピーしたdvdrom.isoをCD/DVDアレイ機能を使ってQドライブとして使うには次のようにします。
ex.4.1/2-2
|
--cdオプションによってCD/DVDアレイを作成します。
この方法ではMD4RamのCD/DVDアレイ機能は必須ではなく、Xドライブにdvdrom.isoをコピーした後は他の仮想CD/DVDドライブを使うことも可能です。
ストライピングで高速化しているとはいえ数GバイトあるISOイメージファイルをコピーするには時間がかかります。しかし、リッピングでは直接ストライピングしたアレイに保存する方法もあります(その場合、DVD-RAMドライフ2台に加えて、もう一台リッピング用DVDドライブが必要ですが)。
DVD-RAMドライブは他のDVD系メディアと比較すると読み取り速度が遅いのですが、2台でストライピングしていればシーケシンャルアクセスでほぼ2倍の速度が期待できます。2倍速DVD-RAMなら4倍速、3倍速DVD-RAMなら6倍速、5倍速DVD-RAMなら10倍速相当の速度が期待できます(実際にはオーバーヘッドがあるので、そんなに速くはならないと思いますが)。
●2層DVD-ROM用ISOイメージをDVD-RAMにストライピングして保存する(2)
DVD1枚には収まらないISOイメージファイルをDVD-RAMに格納するのは、先ほど紹介したようにNTFSでフォーマットしたディスク アレイに格納した上で、仮想CD/DVDドライブとして利用するのがもっとも現実的で簡単な方法です。
ここから先は実用性はなく趣味の領域ですが、こんなやり方もあるということで紹介しておきす。
先ほどと同じように、IドライブとJドライブがDVD-RAMドライブで、9GバイトのISOイメージファイルがあるとします。
まず、DVD-RAMドライブでストライビングしたディスク アレイを作成します。
ex.4.2/2-2
|
ここではFATやNTFSでフォーマットを行なう必要はありません。
このディスクアレイに、md4rctlのWriteコマンドを使ってISOイメージファイルを直接書き込みます。
ex.4.3/2-2
|
書き込みが終わったら「md4rctl stop x:」を実行してアレイをいったん削除してから、今度はQドライブにCD/DVDアレイとして作成します(実はディスク アレイ タイプのXドライブのままでWindowsは認識してしまうようですが、安全のためにCD/DVDアレイとして作成し直して下さい)。
ex.4.2/2-2に--cdオプションを追加してドイラブレターを変更しただけです。
ex.4.4/2-2
|
最初の方法だとXドライブとQドライブの2つを使用しますが、この方法だとQドライブだけで済みます。
●複数のメディアに保存できるようにイメージファイルを分割する
MD4Ramのアレイは、任意のサイズのイメージファイルに分割するすることができます。
これで何ができるかというとCD-RやDVD-R等にMD4Ramで使えるイメージファイルを分割した上で焼くことができ、分割した数だけCD/DVD-ROMドライブがあれば(ハードディスクに戻すことなく)CD/DVD-ROM上のイメージファイルからアレイが作成できます。
もちろん、CD/DVD-ROMドライブは書き込みできないので読み込み専用になりますが、バックアップからの復元や再生用にはそれで十分です。
8GバイトのDVD-ROM用ISOイメージファイルc:\dvdram.isoがあったとして、これを4G+4Gバイトに2つに分割して、なおかつ2台のドライブでストライピングできるようにします、
まず、元になるISOイメージファイルの正確なファルサイズを調べます。
ここでは、dvdrom.isoのファイルサイズは8,258,011,136バイトとします。これをセクタサイズ2048で割ったブロック(セクタ)数を求めます。8258011136÷2048=401648ブロックとなります。
これを2つに分割しますが、ストライプサイズを考慮する必要があるため、単純に2で割っても格納できないことがあります。1ブロックでも不足するとダメですが、大きい分には分には問題ないので、正確に計算するのが面倒なときは半分に割ったブロックサイズにストライプサイズ16Kバイト分にあたる8ブロック(16×1024÷2048=8)を足しておくといいでしょう。401648÷2+8=2016124ブロックとなります。
このパラメータを使って、ストライピング用に分割したイメージファイルdvd1.img と dvd2.img をハードディスクに作成することにします(可能ならば各イメージファイルdvdrom.iso、dvd1.img、dvd2.imgは物理的に異なるドライブ上に格納・作成することをお勧めします。理由はやってみたらわかりますが、同一ドライブにあるイメージファイルでストライピングすると遅くなるだけです。ただ、目的は分割したイメージファイルを作成することなので、遅いだけで動作に問題はありません)。
まずは、dvd1.imgとdvd2.imgを使ったディスクアレイをXドライブとして作成します。
ex.4.5/2-2
|
Xドライブのアレイを作成したら(フォーマットの必要はありません)、DVD-ROM用ISOイメージdvdrom.isoをmd4rctlのWriteコマンドを使って書き込みます。
ex.4.6/2-2
|
この操作でdvdrom.isoの内容が、dvd1.imgとdvd2.imgの2つのイメージファイルに分割して保存されます。
書き込みが終わったら、「md4rctl stop x:」でいったんアレイを削除します。
念のためCD/DVDアレイをQドライブとして作成して内容を確認します。
ex.4.7/2-2
|
Qドライブとして使用できることを確認したら、「md4rctl stop q:」でアレイを削除します。
あとは、dvd1.igmとdvd2.imgを2枚のDVD-Rにでも焼いてください。dvd1.imgやdvd2.imgはISOイメージではなく、通常のファイルとして焼いてください。
後はわかると思いますがDVD-ROMドライブを2台用意して、dvd1.imgとdvd2.imgからCD/DVDアレイを作成して使うことができます。IドライブとJドライブがDVD-ROMドライブとして、i:\dvd1.imgとj:\dvd2.img があるとしたら次のようにします。
ex.4.8/2-2
|
実際にやってみると、DVD-ROMドライブのストライピングはあまり速くないというか、返って遅くなることもあります。同じ設定でDVD-RAMは高速化できるのですが、アクセスタイムの大きいDVD-ROMドライブではストライピングするとデータ転送が細切れになって、ドライブ間の同期も必要なこともあって遅くなるようです。引き続き調査が必要ですが、ストライプサイズをもっと大きくしたほうがいいのかもしれません(標準設定のストライプサイズ16Kバイト単位でのデータ転送では、ROMドライブでは厳しいのかも)。
ストライピングではなくLINEARモード(JBOD)を使うこともできるので、DVD-ROMドライブで分割イメージファイルを使うにはLINEARモードを使ったほうがいいかもしれません。
LINEARモードでは、ファイルサイズの異なるイメージファイルに分割できるのでストライピングより融通が利きますし、同一ハードディスク上に分割イメージファイルを作成する作業もストライピングよりも速いはずです。
|
2-3 | あると便利なソフトウェア |
MD4Ramを使う際、以下のプログラム/ソフトウェアをそろえておくと便利かと思います。
DVD4RAMには、DVD-RAMメディアを消去・初期化する機能があります。ディスク消去はMD4RamでDVD-RAMを使うには、必須ともいえる機能です。
DevTestはコマンドプロンプト用のプログラムですが、ハードディスク、CD/DVDドライブ等の様々なドライブ情報を表示できます。
たとえば、「devtest disk」として実行すれば、MD4RCtlに指定できる物理ドライブ番号(disk0等)が表示されます。
ドライブの指定セクタのデータ内容をダンプ表示して確認することもできます。たとえば、「devtest C: --dump 0」とするとCドライブのMBR(マスターブートレコード)の内容が表示されます。
3-1 | MD4RCtlコマンド詳細 |
表記 | 説明 |
角かっこ [ ] | 省略可能な項目 |
中かっこ { } | 縦棒(|) で区切られた選択肢のうち、いずれか1つを選択できる。例:{start|stop} |
・・・ | 繰り返し指定できるパラメータ。 |
< > | 特定の書式をもつパラメータ。例:<数値>、<デバイス> |
■ アレイの作成・開始
MD4RCtl start <アレイ> [<ドライブレター>] [--array {LINEAR|STRIPE|MIRROR}] [--blockNumber <ブロック数>] [--blockSize <サイズ>] [--capacity <サイズ>] [--cd] [--chunkSize <サイズ>] [--createfile] [--ignore-readSign] [--readonly] --dev <デバイス> [--blockAddr <アドレス>] [--blockNumber <ブロック数>] [--blockSize <サイズ>] [--capacity <サイズ>] [--createfile] [--ignore-readSign] [--primary] [--readonly] [--signBlock <ロケーション>] [ --dev <デバイス> [--blockAddr <アドレス>] [--blockNumber <ブロック数>] [--blockSize <サイズ>] [--capacity <サイズ>] [--createfile] [--ignore-readSign] [--primary] [--readonly] [--signBlock <ロケーション>] ]・・・ |
<サイズ>にはk、m、g、K、M、G といった単位を指定できます。オプションやパラメータにはアルファベットの大小文字の区別はありませんが、サイズ指定は例外として小文字は103系(10^3=1000単位)、大文字は210系(2^10=1024単位)となります。
【解説】
アレイとデバイスで同じ名前のオプションが存在しますが、これらのオプションは--devオプションよりも先に指定したものはアレイに対して有効で、--devオプションを指定した以後はデバイスに対して有効です。
--createfileと--igore-readSignオプションはアレイに対して指定(最初の--devオプションよりも先に指定)すると、以後のデバイスすべてに作用し、個々のデバイスに指定する必要はありません。
アレイ/デバイスのアドレスとサイズに関する--blockAddr、--blockNumber、--capacityオプションをすべて省略した場合、各デバイスの最大容量からアレイ容量は自動的に決定します。オプションを省略して自動設定に任せる場合には、署名ブロックの位置を考慮したアドレスとサイズが自動的に設定されます。
安全のため、パーティション(区画)を持つ固定ディスクドライブはデバイスに指定できないようにしています。
ハードディスクのCドライブ等をデバイスに--dev c: などと指定してもエラーとなります(md4rctlで弾いているだけで、md4ramドライバ側は無理矢理パラメータを渡せば動きますが)。
パーティションを持つドライブをデバイスとして指定する場合には、物理ドライブ指定(--dev disk0 等)を使ってください。その場合、md4rctlもmd4ramドライバもパーティション構造とは無関係に動作し、標準設定の署名ブロックの書き込みを行なうと確実にMBR(マスターブートレコード)を壊します。
■ アレイの削除・停止
MD4RCtl stop <ドライブレター> |
【解説】
ドライブレターで指定したアレイを削除・停止します。
■ アレイの情報の表示
MD4RCtl show [<ドライブレター>] |
【解説】
使用中のアレイの情報を表示します。
■ アレイ内容を読み込み
MD4RCtl read <ドライブレター> --wrietfile <ファイル名> |
【解説】
ドライブレターで指定したアレイの内容を読み取って、イメージファイルとして保存します。
■ アレイ内容を書き込み
MD4RCtl write <ドライブレター> --readfile <ファイル名> |
【解説】
イメージファイルの内容をドライブレターで指定したアレイに書き込みます。
3-2 | 署名ブロックについて |
署名ブロックは、アレイを構成するデバイスの順番やパラメータを自動的に構成するために使用する情報です。
署名ブロックを使用するデバイスは、特定の位置に署名情報が書き込まれます。
標準設定ではドライブレターや物理ドライブとして指定したデバイスには先頭ブロック(セクタ)に自動的に署名ブロックを作成します。先頭のセクタはMBR(マスターブートレコード)と呼ばれている、OSがハードディスクを認識する重要な情報が存在しますが、署名ブロックを作成するとこれを上書きして壊すことになります。
これは非常に危険ですので、ハードディスク等のパーティションを持つ固定ディスクはMD4RCtlでは制御できないように制限しています。
DVD-RAM等のリムーバブルディスクについては署名ブロックでMBRを壊すことで、Windowsがファイルシステムを認識しないディスクを意図的に作っています。
DVD-RAMでも署名ブロックを無効にしたり最終ブロックに作成した上でFAT32/NTFSでフォーマットすると、一見正しいMBRが存在するためにWindowsがこれを使おうとします。そうするとMD4Ramと競合してしまってトラブルの元になります。
そういった理由があるため、署名ブロックはあえてMBRを壊す先頭セクタに作成しています。
ただし、弊害としてWindwosが認識できないディスクがセットされていると、たまにマイコンピュータやエクスプローラが確認しにいって動作が遅くなることがあります。
アレイを作成して開始してしまえばMD4Ramドライバに制御が移るので遅くなることはありませんが、アレイを構成していないDVD-RAMは使い終わったらメディアを抜いておくことをお勧めします。
標準設定では、RAMディスクとイメージファイルについては署名ブロックは作成しません。
RAMディスクはアレイを削除すると署名の内容も消えてしまうので、署名ブロックを作成しても意味がありません。
イメージファイルについては--signBlockオプションを使うことで、署名ブロックを使うことも可能です。
3-3 | 使用できるアレイ数を変更する |
標準設定ではディスク アレイを2個、CD/DVDアレイは1個だけ作成できますが、レジストリを編集することで、それぞれ16個まで増やすことができます。
レジストリキー KEY_LOCAL_MACHINE\SYSTEM\CurrentControleSet\Services\MD4Ram\Parameters にある、NumberOfDevices がディスクアレイ数、NumberOfCdroms がCD/DVDアレイ数ですので、これらの値を変更してください。
収録している登録エントリmd4ram.reg を編集してから、実行するという方法もあります。
4-1 | 注意・制限事項 |
4-2 | 参考 |
MD4Ramを開発するにあたって次の資料/書籍/ソフトウェアを参考にしました。
4-3 | 変更履歴 |