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


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

掲載[2008-11-27]


USB 起動ディスク

Transcend の USB メモリ JetFlash 2.0 シリーズに付いて来た U-Storage Tool で
Boot Disk の作成が可能で( ダウンロードはここ )、FDD を搭載していない PC での
USB 起動ディスクの作り方は SD カードの場合と同じく、 Virtual Floppy Drive 2.1 (VFD)
で仮想 FDD を作成して FD イメージをマウントすればオッケー。

ただし、U-Storage Tool を使用して Windows XP 上で作成できる起動ディスクは
USB ZIP のみで、残念ながら当該マシン搭載の BIOS でサポートされている起動可能な
USB メモリは USB FDD と USB HDD のみ。(Missing operating system)
transcend.jpg

しかも、JetFlash 2.0 以外は使えないっぽい。
少なくとも ELECOM MF-AU2 シリーズ は U-Storage Tool から認識されなかったし、
MF-AU2 シリーズ付属の USB Flash Disk Format Tool の起動用フォーマット機能は
Windows XP では使えないし、JetFlash を認識しない。
elecom.jpg

で、BIOS で USB HDD がサポートされているならやはり Hewlett-Packard 社のこれ。
HP USB Disk Storage Format Tool v2.1.8 (SP27608.exe) or v2.2.2.0 (sp40482.exe)

1.インストールまたは GUI 版(HPUSBFW.EXE)を抽出。(SP27608.exe に含まれる
  HPUSUBF.EXE はコマンドライン版)
2.USB メモリを挿入して HPUSBFW.EXE を起動。

HPUSB2_set.jpg HPUSB_done.jpg

  • Device を確認、FAT または FAT32 を選択、
  • [Create a DOS startup disk] をチェック、DOS システムファイルのある場所を指定。
  VFD で起動イメージ(新規作成・既存どちらでも)をマウントして 仮想 FDD(A:)を
 指定しても、イメージから抽出した「IO.SYS、MSDOS.SYS、COMMAND.COM」の3つの
 ファイルがある場所でも OK。(#12)
  • フォーマットが完了して USB メモリの情報が表示されれば、作成終了
  • USB メモリ内に「IO.SYS、MSDOS.SYS、COMMAND.COM」があるのを確認。(最小構成)

3.USB メモリから起動確認
  起動ドライブは C になる。
  SD カード(仮想FDD)からの起動に比べて格段の速さ。


#12
PC によっては SD カードもフォーマット対象として認識可能。
また、SP27608.exe を実行してインストールした場合、ネットワーク共有フォルダも
システムファイルの場所として指定可能になったり。

USB メモリから起動、USB HDD を認識させる

Windows 上で USB メモリに必要なファイルをコピーすれば、SD 起動ディスクより
手軽に日本語対応 MS-DOS 起動ディスクが作成できるが、USB メモリから起動して
別ポートに接続された USB HDD を認識させるのに試行錯誤。

USBASPI.SYS(USB デバイスマネージャ)が読み込まれると、USB デバイスの検出時に
各デバイスがリセットされるらしく、USB メモリ上のファイルが読めなくなり、
DI1000DD.SYS(ASPI ディスクマネージャ)でドライブ文字を割り当てるところ
までさえも進めない。)/norst オプションを指定してもうまく行かなかったので、
XMS 領域 に RAM ドライブを作成し必要なファイルを読み込んでおき、必要に応じて
USBASPI.SYS と DI1000DD.SYS を読み込むことに。

RAM ディスクドライバ: xmsdsk.exe
デバイスドライバの読み込み: DEVLOAD
ディレクトリ一括コピー: zcopy

1.ファイルを USB メモリにコピー
 HP USB Disk Storage Format Tool で USB 起動ディスクを作成すると、
 COMMAND.COM の属性が「読み取り専用・隠しファイル・システムファイル」になって
 しまうので、ATTRIB コマンド(attrib -S -H path\to\command.com)や Windows 上
 なら「あふ」など、MS-DOS 上なら KL などのファイラー等でそれらの属性を外す。
 少なくともシステム属性を外さないと、COMMAND.COM の新規起動、プログラムや
 バッチファイルの起動確認実行(command /y /c コマンド)等ができない。

USB ドライブ/ (例)
  ├ AUTOEXEC.BAT
  ├ CHEJ.EXE
  ├ CHOICE.COM
  ├ COMMAND.COM
  ├ CONFIG.SYS
  ├ COUNTRY.SYS
  ├ DESTROY.COM
  ├ devload.exe
  ├ DI1000DD.SYS
  ├ DISPVC.EXE
  ├ IO.SYS
  ├ KEYB.COM
  ├ KEYBOARD.SYS
  ├ KKCFUNC.SYS
  ├ LNGINTL.DAT
  ├ MSDOS.SYS
  ├ NTFS4DOS.EXE
  ├ PANSI.SYS
  ├ READNTFS.EXE
  ├ USBASPI.SYS
  ├ xmsdsk.exe
  ├ ZCOPY.COM
  │
  ├ FONTX/
  │ ├ $FONTE.SYS
  │ ├ $FONTX.INI
  │ ├ $FONTX.SYS
  │ ├ MPLHN12X.FNT
  │ ├ MPLHN16X.FNT
  │ ├ MPLHN19X.FNT
  │ ├ MPLZN12X.FNT
  │ └ MPLZN16X.FNT
  ├ JED/
  │ ├ JED.EXE
  │ ├ JEDV.CFG
  │ └ JEDV_E.CFG
  ├ KL/
  │ ├ K.BAT
  │ ├ KL.CFG
  │ ├ KL.COM
  │ ├ KLCUST.EXE
  │ ├ KLENG.HLP
  │ ├ KLJPN.HLP
  │ ├ KLPC.EXE
  │ ├ KLV.EXE
  │ └ UNIDRV.COM
  ├ doslfn
  │ ├ CP932UNI.TBL
  │ └ doslfn.com
  ├ miel4/
  │ ├ MIEL.CFG
  │ ├ MIEL.COM
  │ ├ MIEL55.COM
  │ ├ MIELCUST.COM
  │ ├ MIELFENG.COM
  │ ├ MIELFILE.COM
  │ ├ MIELPC.COM
  │ └ MIELY.CFG
  ├ MSIME/
  │ ├ MSIME.CFG
  │ ├ MSIME.DIC
  │ ├ MSIME.SYS
  │ ├ MSIMED.SYS
  │ ├ MSIMEK.SYS
  │ ├ MSIMEKEY.EXE
  │ └ MSIMER.DIC
  └ TOOLS/
     ├ CAPS2CTL.COM
     ├ GSAVE.EXE
     ├ MEM.EXE
     └ NTFSDOS.EXE

2.CONFIG.SYS と AUTOEXEC.BATを編集

CONFIG.SYS
[MENU]
menuitem    = USB, with USB Device
menuitem    = NOMAL, without USB
menudefault = NOMAL, 20

[USB]

[NOMAL]
SHELL=C:\COMMAND.COM C:\ /P

[COMMON]
REM DOS=HIGH,UMB
BUFFERS=30
FILES=40

REM 国別コードとコードページを指定(日本・Shif-JIS)
COUNTRY=081,932,COUNTRY.SYS
REM 日本語表示フォントドライバとフォントファイルの場所
DEVICE=C:\FONTX\$fontx.sys /P=C:FONTX\
REM 日本語表示ディスプレイドライバ
DEVICE=C:\DISPVC.EXE /HS=ON
REM かな漢字変換サポートドライバ
DEVICE=KKCFUNC.SYS
REM コンソール表示ドライバ
DEVICE=PANSI.SYS
REM FEP(MS-IME)
DEVICE=.\MSIME\MSIMEK.SYS /A3 /SP
DEVICE=.\MSIME\MSIME.SYS /D*.\MSIME\MSIMER.DIC /A3 /C2 /L /N
        /D.\MSIME\MSIME.DIC /UF.\MSIME\MSIME.CFG

LASTDRIVE=M

※IME の辞書は必要に応じて読みに行くのでしょうか?
 相対パス指定にしておくことで RAM ディスクに読み込んだ時も漢字変換が可能に
 なるけど、消費メモリを考えると、日本語入力は無しの方が良いでしょうね。

AUTOEXEC.BAT
@ECHO OFF
@PROMPT $p$g

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

REM 日本語 V-Text ビデオモード 70h に設定
CHEJ 70

if "%config%"=="NOMAL" goto NOMAL
if "%config%"=="USB" goto USBHD

:NOMAL
REM 環境変数を設定
PATH = C:\TOOLS;C:\;
goto ntfs

:USBHD
RAM を確保、ドライブ文字 D を割り当て
xmsdsk.exe 2048 D: /y
RAM C ドライブ(USB メモリ)の内容を RAM ドライブにコピー
zcopy C:\*.* D:\ /s
D:
REM /p 新しくコマンドインタープリタを起動する
command d:\ /p 
goto ntfs

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

REM 起動するアプリをメニューから選択
:StartMenu 
ECHO ---------------
ECHO (1)ntfs4dos: Access to NTFS drives
ECHO (2)READNTFS: NTFS Reader DOS Boot Disk
ECHO (3)DESTROY:  Sanitize HDDs
ECHO (4)MIEL:     Pager/Filer for DOS/V
ECHO (5)Quit
ECHO ---------------
choice /C:12345 Choose a number among the menu above.
if errorlevel 5 goto Quit
if errorlevel 4 goto MIEL
if errorlevel 3 goto DESTROY
if errorlevel 2 goto READNTFS
if errorlevel 1 goto ntfs4dos

:MIEL
.\MIEL4\MIEL.COM
goto StartMenu

:DESTROY
DESTROY
goto StartMenu

:READNTFS
chej us 43
READNTFS
chej VT
goto StartMenu

:ntfs4dos
chej us 43
ntfs4dos
chej VT
goto :StartMenu

:Quit
ECHO USB ASPI Driver を読み込む?
ECHO 1: yes
ECHO 2: no 
choice /C:12 Choose a number among the menu above.
if errorlevel 2 goto END
if errorlevel 1 goto 1

:1
call USBASPI.BAT
goto END

:END

※さすがに各ツール全部を RAM ディスクに読み込むとメモリ不足を招きやすいので
 最低限に止めたほうが良いです。

USBASPI.BAT
@ECHO OFF
cls
D:\devload.exe D:\USBASPI.SYS /V /E
D:\devload.exe D:\DI1000DD.SYS
REM D:\devload.exe D:\NJ32DISK.SYS
SET COMSPEC=D:\COMMAND.COM
SET PATH=D:\;D:\TOOLS;
exit

usbaspi.jpg nj32.jpg
NJ32DISK.SYS では、JetFlash を MO と誤認?でアクセス不可


-