NTFS4DOS
DOSモードで立ち上がるところまでは良いが、HDDの修復目的などでDOSを使う場合、HDDがNTFSでフォーマットされていると手が出ない。DOSからNTFSをアクセスすることが出来るツールをフロッピーにインストールしておく必要がある。その様なツールがいくつかはあるが、有償だったり、無償版はRead Onlyだったりする。私はAvira社のNTFS4DOSという製品を使った。個人使用に限り無償で利用することができる。NTFSに対して読み書きもでき、NTFS用のchkdskやデフラグツールも付いてくる。業務用でも20ユーロ(約3,000円)で購入できる。
元々はDatapolという会社の製品だったが、Datapol社が2006年4月にAvira社に買収され現在ではAvira社の製品として販売されている。
NT4DOSのPXEを使ったネットワークブートは、上で書いた通常のDOSのブート同じである。上の設定の環境を使って補足説明する。
bpbatchを使ってDOSをブートする時にどのフロッピーイメージからブートするかを指定した/tftpboot/bpb-boot/bootscript.bpbを書変える。先程のDOSのブートの時は、
set CacheNever="ON" loadramdisk "/dos/Win98SE_SPC.flp" floppyboot
という設定だったが、loadramdiskの行を次のように書換える。
set CacheNever="ON" loadramdisk "/dos/NTFS4DOS_SPC.flp" floppyboot
ここで"NTFS4DOS_SPC.flp"というのがNTFS4DOSのフロッピーイメージのファイルで、この環境では"/tftpboot/dos"ディレクトリの下において置く。
これでクライアントをブートしてメニューでDOSを選べばNTSF4DOSが起動する。
だたし、PXEの設定ファイル(上の例では/tftpboot/linux-install/pxelinux.cfg/C0A80080)のメニューに表示するタイトルも変更しておく必要がある。(変更しないと"DOS_Win98SE"というメニューのタイトルが表示される。)次のような方法も考えられる。例えば、DOSとNTFS4DOSをメニューから選択的に起動するには、PXEの設定ファイルにNTFS4DOSの項目を追加してappend行を使ってbpbatchに渡す引数を指定し、Win98とは別のスクリプトファイル(例えばbootntfs4dos.bpbなど)を用意する方法もあると思うが、そこまで確認はしていない。(PCのトラブル時にPXEを使ってDOSやNTFS4DOSをブートするだけなので、必要に応じてbootscript.bpbを書き変えれば良いので、今回はそこまで深入りしなかった。今のところ、書換えるのも後で忘れるのでDOS用よNTFS4DOSようのスクリプト別々の名前で用意して、シンボリックリンクで切替えるようにしている。)
NTFS4DOSのカスタマイズ
オリジナルのフロッピーイメージでも勿論使えるが、日本語キーボードを使っている場合は、キーボードを選択できるようにしておく必要がある。オリジナルのフロッピーイメージの内容は次のようなものだが、
autoexec.bat command.com dfrgntfs.exe keyboard.sys keybrd4.sys msdos.sys chkdsk.exe config.sys io.sys keybrd2.sys license.dat ntfs4dos.exe chkdskg.exe cpyrdcc.bat keyb.com keybrd3.sys lngintl.dat vtmode.com
日本語キーボード対応(+レスキュー用コマンド)として次のような内容にしてある。(ちょっと欲張ってCD-ROMドライバも入れてしまっている。CD-ROMドライブからブートできない場合、PXEでブートしてCD-ROMへアクセスするため。)
attrib.exe chkdsk.exe cpyrdcc.bat fdisk.exe jkeybrd.sys mem.exe ntfs4dos.exe autoexec.bat chkdskg.exe deltree.exe find.exe jkeyb.sys move.exe xcopy32.exe biling.sys command.com dfrgntfs.exe himem.sys license.dat mscdex.exe xcopy32.mod cd1.sys config.sys drvspace.bin io.sys lngintl.dat msdos.sys xcopy.exe
これに伴い"config.sys"も次のように書き変える必要がある。
オリジナル:
[menu] menuitem=ntfsdos,NTFS4DOS menuitem=dfrgntfs,Defragment NTFS menuitem=dskchk,Check Disk Utility menudefault=ntfsdos,20 [ntfsdos] [dfrgntfs] [dskchk] [common] files=100 LASTDRIVE=P
日本語用:
[menu] menuitem=ntfsdos,NTFS4DOS menuitem=dfrgntfs,Defragment NTFS menuitem=dskchk,Check Disk Utility menudefault=ntfsdos,20 [ntfsdos] [dfrgntfs] [dskchk] [common] DEVICE=HIMEM.SYS /testmem:off FILES=100 BUFFERS=20 DEVICEHIGH=BILING.SYS DEVICEHIGH=JKEYB.SYS DEVICE=CD1.SYS /D:OPTDRV LASTDRIVE=Z
NTFS4DOSを使ってみて
NTFSにアクセスできること以外は普通のDOSと大して違いはないので、NTFS4DOS自身について特段書くことはないが、NTFS4DOSに付いてくるデフラグツールはちょっとマニアックだった。通常の(Windowsについてくる)デフラグツールは「システムファイル」まではデフラグしない様である。Windowsのデフラグツールで一つ残らずデフラグした後でNTFS4DOSのデフラグを"High"モード(昔のバージョンではparanoia(偏執狂)モードと言ったらしい)で動かすと、まだまだ出るわ出るわ。もっとも、殆どが"C:\System Volume Information"の下にあるバックアップ用のファイルなので、デフラグしたからといってパフォーマンスが上がるわけではなさそうだ。)