※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。



Windows XP MS-DOS 起動ディスクって? その1

修正・追記[2008-09-28][2008-09-26][2008-09-16][2008-09-14]

前置き はてなブックマークに登録

今時のメーカー製 PC は添付のリカバリ CD-ROM やユーザが作成したリカバリディスク
から起動できるので、まず PC を起動させねば、と言う役割を MS-DOS 起動ディスクが
担うことはほとんど無いらしい。一般的には作っとく必要は無いと思うのだが。

私はまだ Windows が壊れて起動できなくなった経験が無い。
幸か不幸か、OS より先にハードが壊れてばかり(HD、ディスプレイ、電源基板)。
いずれにせよ、それは突然にやってくる。PC 本体やディスプレイの電源が入らないので
あればソフトだけでは如何ともし難いが、そうでなければ、Windows XP で MS-DOS
起動ディスクを作っておけばどうにかできるかもしれない、と勘違いして作った、
MS-DOS 起動用 ディスク。(chkdsk のような)外部コマンド実行ファイルも無いし、
内部コマンド(dir や copy など)は可能だけど NTFS なパーティションは認識すら
できないってことを、作ってみて起動してみて初めて知った。
Windows XP で作る MS-DOS 起動用 ディスクは、それだけでは MS-DOS で起動する以外、
それ以外ほとんど何もできないのでした。(何かするなら「回復コンソール」なのね。)
以下はその恥ずかしい記録。

Bootable SD 作成 はてなブックマークに登録

件の PC は SD カードから起動することが可能で、SD カードで MS-DOS 起動ディスクを
作成する「SD メモリブートユーティリティ」が付属している。けど、ヘルプによれば
FD ドライブと FD 一枚が必要だと。FD は有るけど FDD は無い。ざけんなよ!

と言うわけで、 Virtual Floppy Drive 2.1 (VFD)
仮想 FDD を作成して FD イメージをマウントできる。

1.vfdwin.exe(GUI版)を実行して Virtual Floppy Drive (VFD) を起動
  初回起動時に VFD ドライバをインストール、開始する。
vfd-1.jpg vfd-2.jpg
[ドライバ]タブ→[インストール]、インストール完了後、ドライバを[開始]

2.ドライブ文字を割り当てる。
  [ドライブ0]タブ→ドライブ文字:[変更]→[ドライブ文字]ダイアログ
  ドライブ文字を指定(例[A])→[OK]
vfd-4.jpg vfd-7.jpg

  文字割り当てができたら、仮想FD ドライブができているのをエクスプローラで確認
  (まだディスクが挿入されていない状態)

次回起動時からはドライバのインストールとドライブ文字割り当ては不要、ドライバを
[開始]して仮想 FDD にイメージをマウントする。

3.イメージをマウントする(仮想 FD ディスクの挿入)。
  [ドライブ0]タブでドライブレターを確認して、[開く/新規]
  →[仮想フロッピーイメージを開く]ダイアログでイメージファイルの場所と名前を
  入力(MS-DOS_boot.img とか)→[作成]ボタンクリック
vfd-6.jpg vfd-8.jpg
  メディア種別は「3.5" 1.44MB」、ディスク種別は、MS-DOS 起動 SD 作成するだけ
  なら FILE/RAM どちらでも問題ない。

作成した仮想フロッピーイメージがオープン(フロッピーのマウント)したのを確認
vfd-9.jpg

4.MS-DOS 起動用仮想 FD を作成する。
   VFD はそのままで、
  「マイコンピュータ」を開き、Virtual FDD のコンテキストメニューから
  (「あふ」から実行してもオッケー)
  [フォーマット]→「MS-DOS の起動ディスクを作成する」にチェックして [開始]
  データ消去の警告が出るが、[OK]→完了→FD フォーマットのウインドウを閉じる。
afx-1.jpg format-2.jpg

5.仮想 FD の中身を確認(#1)
  COMMAND.COM、IO.SYS、MSDOS.SYS の3つのファイル以外を削除する。
  (削除しなくても問題は無い。)
afx-2.jpg

6.MS-DOS 起動 SD を作成
  シャープの携帯電話に付いてきたおまけの SD カード(8MB)を使用。
  SD カードを挿入して「SD メモリブートユーティリティ」を起動
  SD ドライブ文字を確認、「フロッピーディスクから読み込み」にチェック(#2)
  →[スタート]
  再びデータ消去の警告が出るが→[OK]で開始。
  [完了しました]と言われたら→[OK]→[終了]でユーティリティを閉じ、
  SD カードを取り出す。

toshiba-1.jpg sd-2.jpg
  SD カード内に仮想 FD ファイル($TOSFD00.VFD)が作成されている。(#1)

  また、FD イメージファイル(MS-DOS_boot.img とか)が指定の場所に作成されて
  いる。いずれも FD 丸ごとのイメージなので、ファイラーから見るとサイズは内容に
  よらず 1.44MB みたい。
  ディスクイメージ内のファイルの確認は DiskExplorer で。直接ディスクイメージに
  アクセス、ファイル抽出・追加・削除等の編集も可能。
   IsoBuster で作成したイメージを覗くと削除された複数のファイルが見えるが、
  Windows ME の起動ディスクに入ってるもののよう。。。確かに MS-DOS 起動時の
  ロゴは「Windows Millennium」。。。

   起動FDイメージをISOイメージに変換するプログラム で isoイメージに変換して
  ブータブルCDを作成するなど、再利用するなら VFD でファイルに保存しておく。
diskEx-1.jpg fdtoiso-2.jpg

7. VFD を終了
  [ドライブ0]を[閉じる]→イメージがクローズされるので[ドライバ]タブで[停止]
  [ドライブ0]のドライブ文字割り当てが削除されたら[X]で閉じる。

#1
フォルダオプションで「保護されたオペレーティング システム ファイルを表示しない」
のチェックを外さないと、エクスプローラからはシステムファイルは見えない。
#2
「イメージファイルから読み込み」も可能なので、保存した FD イメージファイル等
(.img、.flp、.vfd)も利用できるのでしょう。(未確認)

MS-DOS 起動 SD のテスト はてなブックマークに登録

作成した MS-DOS 起動 SD カードをセットして電源投入、起動ドライブ選択メニューで
SD ドライブを選択して起動(この PC は、BIOS で変更しなくても一時的な変更が可能)

ドキドキ

無事に MS-DOS モードで起動
MS-DOS.jpg

  A:\> って、そうか、仮想 FDD から起動したことになるんだ。

ディレクトリ内の一覧を表示してみる
A:\>DIR
  おっ、できた!

ドライブを移動してみる
A:\>C:
  英語キーボード(101 キーボード)の配列でキーを打たなきゃいけないらしい。
  (作成した MS-DOS 起動ディスクに日本語キーボード ドライバは入ってないから )
  :(コロン)= shift + ;(セミコロン)
  移動はできた。が、「ここには何も無い」と。
  そんなバナナ~(古い)

すべての属性のファイル・フォルダを表示させてみる
C:\>DIR /A
  ファイルは一個だけ、$TOSFD00.VFD
  これって、SD カード内の 仮想 FD ファイルじゃん。
  そうか、起動したシステムがあるドライブが「C」なのか。
  ってことは、Windows で言うところの C ドライブは認識してない?
  D ドライブも E ドライブも「そんなもん、ねぇ」だと。

しょうがないから MS-DOS を終了させる = 電源を切ります。

ここでやっと、MS-DOS では NTFS なパーティションにはアクセスできないことを
身をもって理解したのでした。
パーティション切る時に、一つぐらい FAT でフォーマットしてバックアップ用の領域と
しておくといいのだろうか。(先頭に持ってこないとだめ?)
FD と違って SD なら容量に余裕があるので、copy コマンドで SD カード(C ドライブ)
にレスキューできるのかも。

これは、いつかやってみよう。やってみなきゃ分からない juria さんなのでした。
 [2008-09-28]追記:USB 接続 HD の FAT32 パーティションから SD にコピーオッケー
          なのを確認しました。

日本語キーボードを使えるようにする はてなブックマークに登録

MS-DOS 起動 FD イメージに、keyb.com と keyboard.sys を含め、
autoexec.bat に以下を記述すればいいらしい。
keyb.com jp,932,keyboard.sys

計 6ファイル
autoexec.bat
COMMAND.COM
IO.SYS
KEYB.COM
KEYBOARD.SYS
MSDOS.SYS

Windows XP で作った「MS-DOS 起動ディスク」には autoexec.bat は含まれて
いなかったのでエディタで作成、
保存してあった MS-DOS 起動 FD イメージファイルを VFD でマウント(開く)、
3つのファイルを仮想 FD にファイラーでコピー。
または、「送る」メニューから「3.5 インチ FD」へ。(#4)

MS-DOS 起動 SD を作成し直し。(#3)

Starting...

A:\>keyb.com jp,932,keyboard.sys
A:\

大成功!

#3
保存してあった MS-DOS 起動 FD イメージファイルに DiskExplorer でファイルを追加、
「イメージファイルから読み込み」で SD を作成してみたが起動できなかった。
#4
その後、何度か仮想 MS-DOS 起動ディスクを作成しなおしているうちに AUTOEXEC.BAT も
作成されているのを発見。その場合は、仮想 FDD にあるものを直接編集でオッケ。

DESTROY を入れる はてなブックマークに登録

DESTROY はハードディスク( HDD )の中身のデータをまるごと消去する
DOS ユーティリティです。(DESTROY.TXT より)
HDD を処分しなければならないときの必須アイテム。

VFD で仮想 FD をマウント中に DESTROY.COM をファイラーで FD にコピー。
または、「送る」メニューから「3.5 インチ FD」へ。

計 7ファイル
autoexec.bat
COMMAND.COM
IO.SYS
KEYB.COM
KEYBOARD.SYS
MSDOS.SYS
DESTROY.COM

MS-DOS 起動 SD を作成し直し。
(DESTROY 専用起動ディスクにするなら、KEYB.COM、KEYBOARD.SYS は不要で、
autoexec.bat に DESTORY.COM とだけ書いておけばいいのだと思うけど。)

A:\>DESTROY

無事に DESTROY が起動
[P: personal use] を選択(打鍵 P)→[N: Drive selection](打鍵 N)
→該当ドライブの番号を打鍵
→([Drive: 番号]を確認して)[B:Browse disk data](打鍵 B)
HDD が認識され、データが読み取れることを確認、ESC 連打で終了させる。

Destroy.jpg DestroyP.jpg
DestroyN.jpg DestroyB.jpg

かくして私はやっと DESTROY を使えるようになったのでした。
いえ、まだ 使わずに済んでます けど。

USB 接続ハードディスクを認識させる はてなブックマークに登録

追記[2008-09-19]

退避・バックアップ用に使ってる USB 接続 HD、これらとていつ壊れるか分からない。
だけど、MS-DOS で使えるようにするには、DOS 用の USB ドライバが必要になる。

Panasonic の起動ディスク作成ツール(USB ドライブ用) から抽出した USBASPI.SYS
(ASPI Manager)と NOVAC の di1000dd.sys(ASPIのHDDドライバ)を使用することに。
(その他の入手先、オプション等 詳細は DESTROY 同梱の USB-DRV.TXT を参照)

MS-DOS 起動 FD イメージに、USBASPI.SYS と di1000dd.sys と CONFIG.SYS を追加
CONFIG.SYS をエディタで編集
DEVICE=USBASPI.SYS /E /V /W
DEVICE=di1000dd.sys
 /E : 接続する HD が USB2.0 の場合、明示的に指定するといいらしい。
    E オプションを付けると USB1.1 のデバイスは無効になり、認識しない。
    E オプション無しであれば USB2.0・USB1.1 同時接続で両方認識できる。
 /V : USB の詳細を表示
 /W : USB デバイスの接続を待つ。接続を促すメッセージが出る。

計 10ファイル
autoexec.bat
COMMAND.COM
CONFIG.SYS
DESTROY.COM
di1000dd.sys
IO.SYS
KEYB.COM
KEYBOARD.SYS
MSDOS.SYS
USBASPI.SYS

MS-DOS 起動 SD を作成し直し。
USB HD を接続して電源を入れ、PC を SD から起動する。

scan がしばらく続き、Panasonic ASPI Manager 情報と認識した Controller ①・
USB Device ②・ASPI Device ③ の情報を表示後「Installed ASPI manager.」、続いて
NOVAC ASPI Driver 情報と 認識した USB 機器情報 ④ が表示されれば成功。
(画像では /E オプション無しで USB HD (1.1/2.0)2台接続)(#5)

USB_device.JPG USB_drive2.JPG

パーティションに割り当てられたドライブ文字を確認 ⑤。

存在しないドライブに移動しようとすると

A:\>E:

Not ready reading drive E
Abort, Retry, Fail?

と聞かれるので、[a] と入力して戻る。

ん? SD ドライブのドライブ文字が D に割り当てられてる。システムドライブとか
そんなの関係なかったんだわ。。。C ドライブは Not ready ...

DESTROY からも認識されるのを確認(Drive 2 と 3)。
DestroyUSB.jpg
「Drive 2」は None だけど、起動した DESTROY があるドライブ(= SD)自身、
「Drive 1」が何なのか不明(Browse しようとすると Drive error encountered.
Drive= 1 (Hit any key.) と言われる)。

#5
  • USB 機器が接続されていなくても Controller の情報は表示され、USB device が
 見つからない、とか、接続されたデバイスは見つからない、とか言われる。これが
 ウザければ、/V オプションを外せばいいのだけど。。。
  • USB2.0・USB1.1 それぞれが認識されているのを転送モード(HS/FS)で確認。
  • USB HUB も デバイスとして認識されるが、HUB に繋いだ HD は認識されない。
  DOS Driver(DAT.exe) 起動ディスクイメージ内に含まれている。IEEE1394 ASPI マネージャ(SBP2ASPI.SYS)も。
 → VFD で仮想 FD イメージをマウントして DAT.exe を実行、仮想 FDD(A:) から抽出。

DOS から NTFS にアクセスする はてなブックマークに登録

MS-DOS からは NTFS なパーティションにアクセスできないのだけど、ありがたい事に
その問題を解決するツールがいくつかある。

Active@ NTFS Reader for DOS

追記[2008-09-24]

ドライブ・ディレクトリ内の閲覧(NTFS のみ)やファイル・フォルダのコピー(NTFS
→FAT のみ)だけなら、 Active@ NTFS Reader for DOS が簡単。

MS-DOS 起動 FD イメージファイルを VFD でマウント(開く)、
Bootable Floppy の Zip ファイル(readntfs.zip)中の READNTFS.EXE を ファイラーで
仮想 FD にコピー、MS-DOS 起動 SD を作成し直す。

計 11ファイル
autoexec.bat
COMMAND.COM
CONFIG.SYS
DESTROY.COM
di1000dd.sys
IO.SYS
KEYB.COM
KEYBOARD.SYS
MSDOS.SYS
READNTFS.EXE
USBASPI.SYS

起動
A:\>READNTFS

readntfs_drive.jpg readntfs_list.jpg
カーソルキーでドライブを選択、
[ENTER] で選択ドライブ内のファイル・フォルダを検索、リスト表示。
フォルダ内の検索も同様に。long file names 表示やファイルのプレビューも可能。
ただし、読み込めるのは NTFS だけ。(FAT もドライブ情報の表示は可能)

readntfs_copy.jpg
選択したファイル/フォルダを [Ctrl + C] でコピーすると、コピー先選択画面が出現、
コントロール移動は [Tab] で、
ドライブ/フォルダの選択はカーソルキーで、(サブフォルダへの移動は [ENTER])
コピー先(FAT のみ)パスを確認して(必要ならリネームやフォルダの作成も可)
[OK] に移動、[ENTER] でコピー実行。
確認は DOS に戻って(Dir コマンド)からじゃなきゃできない。

削除済みファイルの復元もできるらしい(Ctrl + U)。

NTFS4DOS Private

追記[2008-09-26]

NTFS4DOS Private は DOS から NTFS へのアクセス・操作を可能にする。
個人使用・非商用に限り無料。

UniExtract で ntfs_h.exe を展開して floppywz.exe を取り出し、さらに ntfs4dos.us
と lngintl.us を抽出してそれぞれ ntfs4dos.exe、lngintl.dat にリネームする。(#6)

(正しくは、ntfs_h.exe を実行して Windows 上にインストール、スタートメニューから
「Create NTFS capable boot floppy」を実行して起動 FD を作成する。floppywz.exe を
実行して Floppy Wizard を起動しても同じ。もちろん、 VFD で作成した仮想 FDD 上に
作成オッケー)

ntfs4dos.exe と lngintl.dat を前回同様にして仮想FD イメージにコピー、
MS-DOS 起動 SD を作成。

計 13ファイル

autoexec.bat
COMMAND.COM
CONFIG.SYS
DESTROY.COM
di1000dd.sys
IO.SYS
KEYB.COM
KEYBOARD.SYS
lngintl.dat
MSDOS.SYS
ntfs4dos.exe
READNTFS.EXE
USBASPI.SYS

起動

A:\>ntfs4dos

NTFS4DOS.JPG

NTFS パーティションにドライブ文字が割り当てられ、
Do you use this version of NTFS4DOS on private computers only? (Yes/No):
と聞かれるので yes と入力→ Enter で使用可能になる。
ディレクトリ移動など通常通りの DOS コマンドが NTFS パーティションに対しても
実行できる。

NTFS4DOS を終了させるには、A: に戻ってから exit、通常の DOS に戻る。
NTFS4DOS 開始後に実行するアプリ等を引数で指定可能。この場合、指定アプリ終了後に
NTFS4DOS も終了する。

#6
lngintl.dat は表示されるメッセージのデータ。無くても NTFS4DOS の動作は問題無い。
必要なら dfrgntfs.us、chkdsk.us も拡張子を exe にしてコピーする。

NTFS File System Driver for DOS/Windows


これも DOS から NTFS へのアクセスを可能にする。
[NTFS ドライブでは LFN(long file name) でも表示される(FAT は不可)。

lfn.jpg

ntfs30r.zip を展開、NTFSDOS.EXE を FD イメージにコピー

起動
ntfsdos.exe /u [/l:lmn]
 /u:unicode ファイル名を区別する(日本語ファイル・フォルダ名があるなら必須。
   ただし日本語が表示できるわけではない。)
 /l:ドライブ文字:NTFS パーティションに割り当てるドライブ文字を必要分指定

終了コマンド・オプションが無いのとメモリ使用量が多いのが難点。

メニューを作る

追記[2008-09-28

ここまでのおさらいと、この MS-DOS 起動 SD を使うときには、コマンド名(実行
ファイル名)忘れてしまっているかもしれないのでスタートメニューを作成。

メニュー選択には MS-DOS 用 CHOICE.COM を使用。

1.VFD で仮想 FD を作成、FD イメージをマウント
2.仮想 FD 上に Windows XP MS-DOS 起動ディスクを作成、不要なファイルを削除
  (既存の起動イメージを利用する場合は不要)
3.仮想 FD に必要なファイルをコピー
4.CONFIG.SYS と AUTOEXEC.BAT を編集
5.SD メモリブートユーティリティで起動 SD を作成

計14ファイル

autoexec.bat
CHOICE.COM
COMMAND.COM
CONFIG.SYS
DESTROY.COM
di1000dd.sys
IO.SYS
KEYB.COM
KEYBOARD.SYS
lngintl.dat
MSDOS.SYS
ntfs4dos.exe
READNTFS.EXE
USBASPI.SYS

CONFIG.SYS
DEVICE=USBASPI.SYS /V
DEVICE=di1000dd.sys

AUTOEXEC.BAT
@ECHO OFF
REM 日本語キーボード(106/109)ドライバ使用
keyb.com jp,932,keyboard.sys

REM 画面の表示をクリア
cls

REM NTFS4DOS を起動するか否か
command /y /c ntfs4dos
ECHO.
ECHO.

REM 起動するアプリをメニューから選択
:StartMenu 
ECHO ---------------
ECHO (1)ntfs4dos: Access to NTFS drives 
ECHO (2)READNTFS: Read access to NTFS drives
ECHO (3)DESTROY:  Sanitize HDDs
ECHO (4)Quit
ECHO ---------------
CHOICE /C:12345 Choose a number among the menu above.
if errorlevel 4 goto Quit
if errorlevel 3 goto DESTROY
if errorlevel 2 goto READNTFS
if errorlevel 1 goto ntfs4dos

:DESTROY
DESTROY
goto :StartMenu

:READNTFS
READNTFS
goto :StartMenu

:ntfs4dos
ntfs4dos
goto :StartMenu

:Quit

メモ:
@ECHO OFF
 コマンドや特に文字化けした注釈行(REM~)の日本語が邪魔なので、
 画面に文字列を表示させない。

command /y /c ntfs4dos
 始めに NTFS4DOS を起動するかどうか選択。
ntfs4dos [Enter=Y,Esc=N]?
 と表示されるので、Y で起動、N で次行のメニュー表示

goto :StartMenu
 各アプリ終了後にもメニュー表示

CHOICE /C:1234... 表示するテキスト
 選択肢を表示、選択した番号(errorlevel に返ってくる番号)に対応する
 コマンドを実行。
 Quit を設定した番号で DOS 画面に戻る。

メニュー表示の例
---------------
(1)ntfs4dos: Access to NTFS drives
(2)READNTFS: NTFS Reader DOS Boot Disk
(3)DESTROY:  Sanitize HDDs
(4)FD:       File & Directory Tool(FAT only)(#7)
(5)Quit
---------------
Choose a number among the menu above.[1,2,3,4,5]?

#7
FD(File & Directory Tool)for IBM-PC(英語メッセージ版)
FAT だけですが、ファイル操作はやっぱファイラが便利なので。
FDPC.COM を MS-DOS 起動 FD イメージにコピーする。

日本語を表示する

日本語・英語環境の切り替え

日本語の入力


日本語環境関連は別ページに移動しました。

長い名前(long file name)のファイル・フォルダ



-