- 2021.4.1 移転しました...
-
- このページの旧URLは
http://www10.plala.or.jp/palm84/fdboot_liveusb3.html
- このページの旧URLは
2008.9.7 作成
2009.7.2 【その1】【その2】を更新したのでそれに合わせて設定ファイルを修正。(※選択OSとか全然変わっていませんが...)
2009.7.4 reload.batについて追記、備考と注意点と関連リンクを整理しました。
- ご案内してみたり...
-
- その1 === DOS用USBドライバでUSBデバイスを直接認識
- その2 === 分割ファイルをコピーした複数枚FDからブート
- 合体編 === 【その1】と【その2】を合体
- ↑今ここ
- GRUB編 === 【合体編】をFDイメージへ、PLoP Boot Managerを追加
内容が重複しまくっとります。恐れ入り奉りまする。Palm84的【設定ファイル詰め合わせ】については甚だ不完全なのでコロコロ修正すると思います。
※あくまで、インストール・ファイル救出時などメンテナンス向けです。通常使用向けでは全くありません。...というか色物ワシ流起動ディスクなのかもしれま...(><)
下記ページの続き、かなーり私的な内容です...2つの起動ディスクの機能を合体!(おおげさな...)させてみました。
尚、チェックは念入りにしてます(つもり)けど、DOSについての知識はかなりあやしいので、内容は全く未保証だと思われます...ご容赦をば。
- USBブート非対応PC用起動ディスク
-
こんなのありましたー。
- PLoP - Bootmanager - Free Boot Manager, boot different operating systems, cdrom, usb, freeware
- PLoP Boot Manager(USBブート非対応PC用起動ディスク)
上記のページのやつが使えるなら(※USB CDは非対応)、このページに書いてるやつはいらないです...。orz
【予備知識?】Linuxの起動について
おおまかにこんなかんじ
- BIOSがブートデバイスを認識
- ブートデバイスからブートローダ(GRUB,LILO,SYSLINUX など)が起動
- ブートローダ(カーネルローダー)が Linuxカーネル と initrd をロードして“小さな”Linux起動。デバイスの初期化・認識
- “大きな”ルートファイルシステム(イメージ)をマウントして“大きな”Linux起動
2,3,4 は別の場所でもイイってとこがミソ。initrd にはUSB対応モジュールなどが大抵含まれているので、“小さな”Linux起動後はUSBデバイスのマウントがほぼ可能になります。でも、最近の Linux はカーネルと initrd がFD1枚に収まるものが少ないのでFD1枚ではチョトツライというわけ。
- initrd とは
-
initial ramdisk のこと。初期RAMディスク(イメージ)とかミニルートなんて言い方も。
起動時にファ イルとして用意したファイルシステムを ramdisk 上に展開、そこを暫定的な ルートファイルシステムとしてカーネルを立ちあげ、必要な処理をしてから実 際のルートファイルシステムを再マウントする、という 2 段ロケット的なブー トを可能にします。
これって何?
- 【DOS+RAMドライブ】
- DOS上で24MBのRAMドライブ作成。RAMドライブへFDからLinuxブートに必要なファイルをコピー。
- 【DOS+USBドライバ】
- USBドライバ組み込み。DOS上でUSBデバイスを直接利用。
USBメモリ、USB CDブートに対応していないPCにて、DOS起動FDからブートして、DOS版Linuxローダー(linld.com) からカーネルをロードさせてUSBデバイス上のルートファイルシステム(イメージ)をマウントさせます。
とりあえず下記のものについて確認。
- KNOPPIX Japanese edition産総研版 5.3.1 CD
- Knoppix 5.1.1/CD(高速起動版)(ライブCDの部屋さん版)
- slax-ja-5.1.8.1-3(slax-ja-5.1.8.1-3.iso)
- systemrescuecd-x86-1.0.4.iso
- Berry Linux(バージョンは0.90)
- Puppy Linux 日本語版(バージョンは4.1.2.1)
- INSERT+ 1.2.18 - ライブCDの部屋
■ RAMドライブ【DOS+RAMドライブ】
内容は下記ページと同じものです。というか、このページのやつから【DOS+USBドライバ】を抜いたのがそれだったりします。
RAMディスクドライバで 24 MB のRAMドライブを作成。RAMドライブ上にコピーしたファイルからLinuxをブート
- メリット
- USBデバイスの検出・認識がまぁ確実と言っていいかと。
- 起動失敗があんまりないかな
- デメリット
- FDの入替・コピーに時間がかなりかかる
- 分割ファイルの作成が面倒
※DOS起動後に、FDからRAMドライブへ“分割された”Linuxカーネル(と initrd)をコピーするので、後述の分割ファイルの作成が必要。
■ DOS用USBドライバ組み込み【DOS+USBドライバ】
う〜ん、こっちは対応ドライバがあれば設定しておくということで...【DOS+RAMドライブ】だけでもいいかも
内容は下記ページと同じものです。というか、このページのやつから【DOS+RAMドライブ】を抜いたのがそれだったりします(こればっかし)。
設定ファイルは、NOVAC製USBストレージ用ドライバ、Panasonic製USB CDドライブ用ドライバ、とかで一応書いてみました。
FDは起動ディスク1枚で済むので楽なのですが、きっちり対応してるドライバがなかなかないので難しいところ。あと、ライセンス的に微妙な話もあったり...
- メリット
- FDはこの1枚のみでよし
- Linux起動前にDOS上で検索できるので設定ファイルを書いておけばかなり楽
- デメリット
- USBドライバの入手が困難?
- 対応が不完全
- 延長ケーブルやハブ経由はだめだったり
- 機種によってはエラーでおかしくなったり
- DOS上でUSBキーボードが使えないかもしれない
- DOS上では全く認識できないUSBデバイスもあったりするし
Panasonic製USB光学ドライブならドライバ付属なのでかなり便利です。
- RAMFD.SYS 使用時の問題点
-
USB側のディレクトリ構成が元のCDと同じではない場合は、FDにtemp.txtを作成しますが、RAMFD.SYS 使用時は書き込みができません。事前にtemp.txtの作成が必要になります。
※または、【DOS+RAMドライブ】でブート後に、OS選択メニューを x でキャンセル、reload.bat の実行でいけるかも。
■ GRUB for DOS
※DOS上のRAMドライブ、DOSで認識したUSBデバイスはGRUBでは認識しません。
ナニゲに便利なブートローダ。grub.exe はDOS上から直接起動できます。
HD上にコピーしたイメージからブートするのにも使えるし。Memtest86+ もついでに(GRUBから実行)。
ネットワークブート用起動ディスクとして
gPXE対応汎用カーネルをコピーしておけばいいのです。メジャーどころはほぼ対応してるかと(※Intel e100, Realtek 8139, VIA Rhine, tulip とか一応確認済み)。BIOSで対応していても切替が面倒だったりするのであると便利です。
ダウンロードしておくもの
- FDへ直接書き込む
-
- FreeDOS起動ディスクイメージ
- fdboot.img - FreeDOSオフィシャルから
- (FreeDOS | Files)
- FreeDOS起動ディスクイメージ
- イメージからファイルを取り出し
-
- FDイメージからファイルを取り出すには(イメージをファイルに展開)
-
下記の Universal Extractor が便利かも。 UniExtract Binary Archive はインストール不要で使えます(日本語表示も可)。
※注意:対象ファイルのパスに‘デスクトップ’など日本語が含まれるとエラーになるみたいです。
FDに一旦書き込むか、展開する、仮想ドライブでマウントするなどしてファイルを取り出しておく
- RAMディスクドライバなどを含むディスクイメージ
- Fedora Core Floppy Install(FDイメージなのでFDに書き込むか展開する)
fc5fd.tar.bz2を作者様への感謝の気持ちを込めてダウンロード。FC5-FloppyInstall-1.imgを展開
- xcopy.exe, edit.exe, keyb.exe, keyboard.sys, keybrd2.sys
- balder10.img(FDイメージなのでFDに書き込むか展開する)
- ファイルのダウンロード
-
- LINLD.COM
- grub.exe
0.4.3.zip(または 0.4.4.zip)をダウンロード。0.4.4の方が機能が多いのでおすすめですが、サイズがやや大きいので入り切るかどうか。
- 0.4.3 grub.exe - 198 KB
- 0.4.4 grub.exe - 230 KB
- ネットワークブート用カーネル
-
- Choose an output format
Linux kernel (SYSLINUX/GRUB/LILO) loadable image (.lkrn)
を選択
- Choose a NIC type
all-drivers
を選択
- [Get Image] をポチっと
- gpxe-0.9.x+-gpxe.lkrn は gpxe_all.krn にリネーム
※ ずっと 0.9.5 使ってたので最新版はどうなのかわかりません。。。旧バージョン(0.9.4, 0.9.5)は、185 KBと若干サイズが小さいです。
最新0.9.6 は 204 KB。旧バージョンでは、Choose NIC/ROM type
でgpxe:all-drivers
を選択、Choose ROM output format
でLILO/GRUB/SYSLINUX loadable Linux kernel format (.lkrn)
を選択。- 0.9.7+ - 257 KB
- 0.9.6 - 204 KB
- 0.9.5 - 185 KB
- 0.9.3 - 174 KB
- Choose an output format
- Memtest86+ (memtest86+-2.01.bin)
-
【Pre-Compiled Bootable Binary】をダウンロードして展開。ファイル名を memtest にリネーム。
※旧バージョンは若干サイズが小さいです。
- 設定ファイル詰め合わせ
-
あくまでPalm84的なので内容の保証は全くありません(汗)。というか、大したものではないので改訂をおすすめ...
展開して内容をそのままFDへコピーするだけ...
※USBドライバを入れるとFDがパンパンになるかも。不要分を削除するか、memtestなど旧バージョンを使うとかしないといけないかもしれません...orz
※
config_files
ディレクトリは見本ファイルなので不要です。
起動ディスク作成
- 起動ディスクイメージをFDへ書き込み
- コマンドなど必要ファイルを追加
- 設定ファイルコピー
- FreeDOS起動ディスクをFDへ書き込み
-
- fdboot.imgをRawWrite for WindowsなどでFDへ書き込み
- 不要ファイル削除 - fdconfig.sys は必ず削除すること
必要ファイルは下記のみ
A:. | command.com | kernel.sys | +---driver | devload.com | himem.exe | shsucdx.com | \---freedos choice.exe
- ブートセクタ
-
MS-DOSフロッピーにファイルをコピーしただけでは、FreeDOSは起動しません。ブートセクタにFreeDOSのブートコードが必要なのです。(mkbt.exe や Linuxの ms-sys コマンドなんかでブートコードのみコピーすることもできたりしますけど)
FDへイメージを直接書き込むか、仮想ドライブなどでイメージファイルとして操作するべし。
FC5-FloppyInstall-1.img
からファイルをコピー-
イメージから展開したファイルをコピーします
- 上記の起動ディスクルートへ
appld.bat
HOME.DAT
LDFD.ZIP
license.txt
RDRIVE.BAT
ReadMe.txt
TDSK.EXE
TURBO.DAT
TURBODAT.exe
UNZIP.EXE
version.txt
- 上記の起動ディスクルートへ
balder10.img
からファイルをコピー-
イメージから展開したファイルをコピーします
xcopy.exe
,edit.exe
を A:\freedos へkeyb.exe
,keyboard.sys
,keybrd2.sys
をA:\driverへ
- LINLD.COM, grub.exe, gPXEカーネル, memtest
-
- ダウンロードしておいた
LINLD.COM
を A:\freedos に grub.exe
をルートへgpxe-git-gpxe.lkrn
をgpxe_all.krn
にリネームしてルートへmemtest
をルートへ
- ダウンロードしておいた
- ファイル一覧
-
A:. | appld.bat | command.com | gpxe_all.krn | grub.exe | HOME.DAT | kernel.sys | LDFD.ZIP | license.txt | memtest | RDRIVE.BAT | ReadMe.txt | TDSK.EXE | TURBO.DAT | TURBODAT.exe | UNZIP.EXE | version.txt | +---driver | devload.com | himem.exe | keyb.exe | keyboard.sys | keybrd2.sys | shsucdx.com | \---freedos choice.exe edit.exe LINLD.COM xcopy.exe
- 設定ファイルを詰め合わせをコピー
-
fdboot_liveusb3_files
ディレクトリ内の内容をFDへすべてコピー
- ■【DOS+USBドライバ】USBドライバの組み込み
-
下記ページは、このページのやつから【DOS+RAMドライブ】がない分だったりします。【DOS+USBドライバ】の内容は同じだったりしますので詳しくはそちらで。
※【DOS+RAMドライブ】 では不要。
下記のもので一応(?)設定を書いてみた。
A:\driver
にコピーUSB CD/DVDドライブ用
- Panasonic USB CD/DVDドライブ用
RAMFD.SYS
- USB FDドライブでのブート時に必要なRAMディスクドライバUsbaspi.sys
- ASPIマネージャ?USBCD.SYS
- USB CDドライバ
USBメモリ用は下記のどちらかで。
- Iomega製 - USBメモリ・USB HD用(※Norton Ghost 2003 にも付属)
aspiehci.sys
- USB 2.0aspiuhci.sys
- USB 1.1(UHCI)aspiohci.sys
- USB 1.1(OHCI)guest.exe
- ディスクドライバ(ドライブレター割当)
- NOVAC USBメモリ/USB HD用(※NOVAC HDケースに付属)
Usbaspi.sys
- USB 1.1専用 ASPIマネージャ?di1000dd.sys
- ディスクドライバ(ドライブレター割当)
※NOVAC分は
A:\driver\novac
にコピー。ドライバが入りきらない場合は、設定ファイル詰め合わせの
config_files
ディレクトリ(約 66KB)を削除しませう。 - Panasonic USB CD/DVDドライブ用
分割ファイル作成【DOS+RAMドライブ】
※INSERT+ 1.2.18 と BG-Rescue Linux は分割不要
- Linuxカーネルと初期RAMディスクイメージをzipで圧縮
- KNOPPIX 5.3.1CD では(FDx4枚)、
\boot\isolinux
のlinuxとminirt.gz - Knoppix 5.1.1 CD では(FDx3枚)、
\boot\isolinux
のlinuxとminirt.gz - slax-ja-5.1.8.1-3 では(FDx3枚)、
\boot
のvmlinuzとinitrd.gz - systemrescuecd-x86-1.0.4(FDx8枚+) では、
\isolinux
のrescuecd(※など)とinitram.igz - Berry Linux 0.90 では(FDx2枚)、
\Setup
の vmlinuzとinitrd.gz - Puppy Linux 4.1.2.1 では(FDx2枚)、vmlinuzとinitrd.gz
- KNOPPIX 5.3.1CD では(FDx4枚)、
- FDサイズに分割
- ファイル名は順番にldfdraa,ldfdrab,ldfdrac,...にする
- それぞれをFDへそのままコピー
- 最終のFDに空ファイル end.txt 作成
- Linux上で実行
-
※KNOPPIX 5.3.1CD の例
$ cp /cdrom/boot/isolinux/linux . $ cp /cdrom/boot/isolinux/minirt.gz . $ zip ldfd.zip linux minirt.gz
ldfd.zipが作成されたのを確認して分割ファイル作成(※531通常版は4個、Remastered CD だと3個のファイル)
$ split --verbose -b 1423k ldfd.zip ldfdr creating file `ldfdraa' creating file `ldfdrab' creating file `ldfdrac'
- Windows XP上で実行
-
※KNOPPIX 5.3.1CD の例
- CDの
\boot\isolinux
フォルダを開く - linuxとminirt.gzとHD上にコピー
- linuxとminirt.gzを選択
- 右クリック→送る→圧縮(zip 形式)フォルダ
- 圧縮・解凍ソフトでzipファイルを開き、1423(1423.5)KBで分割
- ファイル名を順に、ldfdraa,ldfdrab,ldfdrac,...にする
- CDの
■ 分割不要な場合
カーネルと初期RAMディスク(initrd)がそれぞれFDに収まるサイズなら分割不要。
- INSERT+ 1.2.18
-
【DOS+RAMドライブ】では、isolinuxディレクトリ内のvmlinuzとminiroot.gzをFDへそれぞれコピー
【DOS+USBドライバ】ではUSBメモリから直接カーネルをロード
- BG-Rescue Linux 0.9.1
-
【DOS+RAMドライブ】では、vmlinuz と initrd.img をFDへそれぞれコピー
【DOS+USBドライバ】ではUSBメモリから直接カーネルをロード
スクリーンショット
【DOS+RAMドライブ】でのブートの流れ
※【DOS+USBドライバ】の方は、スクリーンショット -【その1】とほぼ同じです。
※0 が【DOS+RAMドライブ】です。
- 【DOS+USBドライバ】では...
-
USBドライブが正常に認識(ドライブレター割当)されれば、カーネルとinitrdは自動検索するので、ディレクトリの指定など(※もちろんFDからファイルのコピーも)不要。
RAMドライブが D:
に作成されました。
OS選択メニュー表示。番号を入力してEnter。
FD入替指示のメッセージ。順番通りゆっくりと入換えてEnter。
end.txt
のある最終FDまで繰り返しコピーを実行。
ディレクトリの指定。CDの内容そのままの場合は default の【1】(※10秒放置で1が選択される)
ブートオプション設定メニュー。USB CDとUSBメモリとでオプション指定がやや違う場合があります。
SLAXがブートしましたー。
- ※ルートイメージをサブディレクトリに保存している場合
-
SLAXでは
from=/dev/sda1/slaxな形式でデバイス(ファイル)名の指定が必須らしい(?)ので、。slax.bat
内の/dev/sda1
を環境に合わせて/dev/sda2
,/dev/sdb1
,dev/sdc1
などに修正する必要があるかもしれません※
from=slax/
とサブディレクトリ名の指定だけでいけました...
GRUB for DOS
ネットワークブート、Memtestや、イメージをHDに保存して起動する際などに使う。
起動の流れ
- 【DOS+RAMドライブ】
-
※SLAXの場合
- A:\autoexec.bat
A:\bin\auto_ram.bat
へ
- A:\bin\auto_ram.bat
A:\TURBODAT.EXE
- RAMディスクドライバをロードA:\RDRIVE.BAT
- RAMドライブへ移動- DOSコマンドなどをRAMドライブへコピー
-
set path=%ramdrv%\bin;%ramdrv%\freedos
-
keyb.exe
- キーボード設定 -
start.bat
へ
- %ramdrv%\bin\start.bat (A:\bin\start.bat)
- OS選択メニュー表示 (
%ramdrv%\menu.txt
) - 選択OSのブート設定ファイルをRAMドライブへコピー
copyb.bat
へ
- OS選択メニュー表示 (
- %ramdrv%\bin\copyb.bat (A:\bin\copyb.bat)
- FD入替で分割カーネルをRAMドライブへコピー
appld.bat
をコールしてファイル結合- 結合ZIPファイルを展開
slax.bat
へ
- %ramdrv%\bin\slax.bat (A:\bin\slax.bat)
- SLAXディレクトリの選択表示
- 10秒表示で[【default】自動選択(※ここで間違った場合は、xでキャンセルして、slax実行)
- SLAXブートオプションメニュー表示
- 選択のオプションファイルの設定でブート
- SLAXディレクトリの選択表示
- A:\autoexec.bat
- 【DOS+USBドライバ】
-
※SLAXの場合
- A:\autoexec.bat
set path=a:\bin_usb;a:\freedos
- ※
RAMFD.SYS
を選択した場合は、差換えのための待機メッセージを表示、ここでASPIマネージャをロード - ドライブレター割り当て
- start.batへ
- A:\bin_usb\start.bat
- OS選択メニュー表示(
A:\menu_usb.txt
) A:\bin_usb\slax.bat
へ
- OS選択メニュー表示(
- A:\bin_usb\slax.bat
- ルートイメージの場所とカーネルを検索
- カーネルのディレクトリへ移動
- SLAXブートオプションメニュー 表示
- キャンセルすると
start.bat
へ戻る
- キャンセルすると
- A:\autoexec.bat
設定ファイル【DOS+RAMドライブ】
【DOS+USBドライバ】でのDOS用USBドライバについては、Panasonic + NOVAC のものとなってます。
A:\config.sys
!switches=/f /n menucolor=0,3 REM menudefault=0,10 menu menu =========================================== menu FreeDOS USB support -- LiveUSB boot menu =========================================== menu menu 0 - DOS+RAMドライブ TURBO.DAT menu 1 - USB-Flash - 2.0 EHCI menu 2 - USB-Flash - 1.1 menu 3 - USB-CD - 2.0 EHCI menu 4 - USB-CD - 1.1 menu 5 - USB-Flash - 2.0 EHCI + RAMFD.SYS menu 6 - USB-Flash - 1.1 + RAMFD.SYS menu 7 - USB-CD - 2.0 EHCI + RAMFD.SYS menu 8 - USB-CD - 1.1 + RAMFD.SYS menu 9 - == GRUB for DOS or FreeDOS == menu menu =========================================== menu 9?shell=command.com command.com /P REM 012345678?shell=command.com /e:1024 /p 012345678?DEVICE=a:\driver\himem.exe 5678?DEVICE=A:\driver\RAMFD.SYS REM ################################################################ REM === USB Flash === Panasonic + novac === REM ################################################################ REM ===== Panasonic USB ASPI driver ( USB 2.0 EHCI only ) 1?DEVICE=A:\driver\USBASPI.SYS /E 5?DEVICE=A:\driver\USBASPI.SYS /W /E REM ===== Novac USB storage driver (USB-Flash 2.0) 15?DEVICE=A:\driver\novac\DI1000DD.SYS REM ##################################### REM ===== Novac USB ASPI driver ( USB 1.1 only ) 2?DEVICE=A:\driver\novac\USBASPI.SYS 6?DEVICE=A:\driver\novac\USBASPI.SYS /W REM ===== Novac USB storage driver (USB-Flash 1.1) 26?DEVICE=A:\driver\novac\DI1000DD.SYS REM ################################################################ REM ################################################################ REM === USB CD === REM ################################################################ REM ===== Panasonic USB ASPI driver ( USB 2.0 EHCI only ) 3?DEVICE=A:\driver\USBASPI.SYS /E 7?DEVICE=A:\driver\USBASPI.SYS /W /E REM ===== Panasonic USB ASPI driver ( USB-CD driver ) 37?DEVICE=A:\driver\USBCD.SYS /D:USBCD001 REM ##################################### REM ===== Panasonic driver ( USB 1.1 only ) 4?DEVICE=A:\driver\USBASPI.SYS 8?DEVICE=A:\driver\USBASPI.SYS /W REM ===== Panasonic USB ASPI driver ( USB-CD driver ) 48?DEVICE=A:\driver\USBCD.SYS /D:USBCD001 REM ################################################################ 012345678?DOSDATA=UMB 012345678?DOS=HIGH,UMB !FILES=20 !BUFFERS=20 !LASTDRIVE=Z 0?stacks=9,256 0?DEVICE=A:\TDSK.EXE 24576
A:\autoexec.bat
@ECHO OFF if %CONFIG% == 9 goto FREEDOS if %CONFIG% == 0 goto load_ram set path=a:\bin_usb;a:\freedos if %CONFIG% == 1 goto usbfm if %CONFIG% == 2 goto usbfm if %CONFIG% == 5 goto usbfm if %CONFIG% == 6 goto usbfm if %CONFIG% == 3 goto usbcd if %CONFIG% == 4 goto usbcd if %CONFIG% == 7 goto usbcd if %CONFIG% == 8 goto usbcd REM ################################################################ REM === USB Flash === Panasonic + novac === REM ################################################################ :usbfm pause echo. goto menu REM ################################################################ REM ################################################################ REM === USB CD REM ################################################################ :usbcd a:\driver\shsucdx /D:USBCD001 echo. pause goto menu REM ################################################################ :menu a:\driver\keyb jp start.bat goto END :load_ram a:\bin\auto_ram.bat goto END :FREEDOS REM ######################## FREEDOS ######################### cls echo ============================================================ echo ================ FreeDOS boot options ==================== echo ============================================================ echo. echo ==== 1. GRUB for DOS -- grub.exe ==== echo. echo ==== 2. FreeDOS -- load HIMEM,KEYB ==== echo. echo ==== 3. FreeDOS -- clean boot ==== echo. echo ============================================================ echo. a:\freedos\choice.exe /C:1234X Type Number: if ERRORLEVEL 4 GOTO END if ERRORLEVEL 3 GOTO END if ERRORLEVEL 2 GOTO HIMEM if ERRORLEVEL 1 GOTO GRUB :HIMEM a:\driver\devload.com a:\driver\himem.exe set path=a:\bin_usb;a:\freedos a:\driver\keyb jp goto END :GRUB a:\grub.exe goto END :END
- 【DOS+USBドライバ】では...
-
【DOS+USBドライバ】では、この後
A:\bin_usb\start.bat
でOS選択メニュー表示
- 【DOS+RAMドライブ】
A:\bin\auto_ram.bat
@ECHO OFF if %CONFIG% == 9 goto END A:\TURBODAT.EXE copy TURBO.DAT RDRIVE.BAT call RDRIVE.BAT copy nul ramdrive.txt for %%y in ( C D E F G H I J ) do if exist %%y:\ramdrive.txt set ramdrv=%%y: copy a:\UNZIP.EXE copy a:\APPLD.BAT copy a:\LDFD*.* copy a:\menu.txt copy a:\reload.bat a:\freedos\xcopy.exe /i /s a:\bin %ramdrv%\bin a:\freedos\xcopy.exe /i /s a:\freedos %ramdrv%\freedos if exist a:\options.txt copy a:\options.txt set path=%ramdrv%\bin;%ramdrv%\freedos a:\driver\keyb jp :END start.bat
■ choice.exeでメニュー表示
- 【DOS+USBドライバ】
- 【DOS+RAMドライブ】
%ramdrv%\bin\start.bat
(A:\bin\start.bat
)
@echo off cls type %ramdrive%\menu.txt choice /C:123456789X boot: IF ERRORLEVEL=10 GOTO END GOTO %ERRORLEVEL% :1 xcopy /i /s a:\knop53 %ramdrv%\knop53 set boot=knoppix3 cls copyb.bat GOTO END :2 xcopy /i /s a:\knop5 %ramdrv%\knop5 set boot=knoppix cls copyb.bat GOTO END :3 xcopy /i /s a:\slax5 %ramdrv%\slax5 set boot=slax cls copyb.bat GOTO END :4 xcopy /i /s a:\sysres1 %ramdrv%\sysres1 set boot=sysres cls copyb.bat GOTO END :5 xcopy /i /s a:\berry90 %ramdrv%\berry90 set boot=berry cls copyb.bat GOTO END :6 xcopy /i /s a:\puppy400 %ramdrv%\puppy400 set boot=puppy cls copyb.bat GOTO END :7 xcopy /i /s a:\inse12 %ramdrv%\inse12 set boot=insert cls insert.bat GOTO END :8 xcopy /i /s a:\bgrescue %ramdrv%\bgrescue set boot=bgrescue cls bgrescue.bat GOTO END :9 if not exist a:\grub.exe goto nogrub a: a:\grub.exe goto END :nogrub echo. echo A:\GRUB.EXE not found !!! echo Insert boot floppy in drive A: ... and press a key pause >nul goto 9 :END cls
- 【DOS+RAMドライブ】
%ramdrv%\menu.txt
(A:\menu.txt
)
================================================================ Linux LiveCD Boot Menu ================================================================ Type one of the following numbers: 1 : Knoppix 5.3.1 CD - SSK --- from Floppy +4 2 : Knoppix 5.1.1 CD - LCR --- from Floppy +3 3 : SLAX Live CD 5.1.8.1-3 --- from Floppy +3 4 : SystemRescueCd 1.0.4 --- from Floppy +8? 5 : Berry Linux 0.90 --- from Floppy +2 6 : Puppy Linux 4.00 JP --- from Floppy +3 7 : INSERT+ 1.2.18 --- from Floppy +2 8 : BG-Rescue Linux 0.9.1 --- from Floppy +2 9 : GRUB for DOS
- 【DOS+RAMドライブ】
%ramdrv%\bin\copyb.bat
(A:\bin\copyb.bat
-fedora.bat
を編集)
@echo off REM Copy all files to RAM Drive :docopy if exist A:\end.txt goto done pause Insert next floppy and press a key... copy a:\LDFD*.* goto docopy :done REM Now reconstruct the zipfile for %%f in (LDFDR*.*) do call appld.bat %%f del ldfdr*.* unzip ldfd GOTO %boot% :puppy puppy.bat GOTO END :berry berry.bat GOTO END :sysres sysres.bat GOTO END :slax slax.bat GOTO END :knoppix knoppix.bat GOTO END :knoppix3 knoppix3.bat GOTO END :END
- 【DOS+RAMドライブ】
%ramdrv%\appld.bat
(A:\appld.bat
- 元のまま)
copy ldfd.zip /b + %1 /b ldfd.tmp copy ldfd.tmp ldfd.zip del ldfd.tmp del %1
- 【DOS+RAMドライブ】
%ramdrv%\bin\knoppix3.bat
(A:\bin\knoppix3.bat
)
@echo off echo. echo =================================================================== echo Type Number echo. echo 1 : knoppix_dir=/KNOPPIX/KNOPPIX/ *** default *** echo. echo 2 : knoppix_dir=/knoppix3/KNOPPIX/ *** rename *** echo. echo =================================================================== choice /C:12X /T:1,10 Type Number: REM choice /C:12X Type Number: if ERRORLEVEL 3 GOTO END if ERRORLEVEL 2 GOTO RENAME if ERRORLEVEL 1 GOTO DEFAULT :DEFAULT set param1= GOTO MENU :RENAME set param1=knoppix_dir=knoppix3 knoppix_name=KNOPPIX GOTO MENU :MENU cls set menudir=%ramdrv%\knop53 type %menudir%\menu.txt choice /C:12345678X boot: IF ERRORLEVEL=9 GOTO END GOTO %ERRORLEVEL% :1 set opt=default set vga=791 if not "%param1%"=="" GOTO TEMP GOTO LINLD :2 set opt=vesa set vga=normal if not "%param1%"=="" GOTO TEMP GOTO LINLD :3 set opt=text set vga=normal if not "%param1%"=="" GOTO TEMP GOTO LINLD :4 set opt=fb800 set vga=788 if not "%param1%"=="" GOTO TEMP GOTO LINLD :5 set opt=fb1024 set vga=791 if not "%param1%"=="" GOTO TEMP GOTO LINLD :6 set opt=fb1280 set vga=794 if not "%param1%"=="" GOTO TEMP GOTO LINLD :7 set opt=failsafe set vga=normal if not "%param1%"=="" GOTO TEMP GOTO LINLD :8 set opt=test set vga=normal if not "%param1%"=="" GOTO TEMP GOTO LINLD :LINLD linld image=linux initrd=minirt.gz vga=%vga% cl=@%menudir%\%opt%.txt GOTO END :TEMP copy %menudir%\%opt%.txt %menudir%\temp.txt echo %param1%>>%menudir%\temp.txt linld image=linux initrd=minirt.gz vga=%vga% cl=@%menudir%\temp.txt GOTO END :END
%ramdrv%\knop53\menu.txt
(A:\knop53\menu.txt
)
=================================================================== Knoppix Live CD SSK 5.3.1 Boot Menu =================================================================== Type one of the following numbers: 1 : default 2 : vesa 3 : text mode 4 : fb 800x600 5 : fb 1024x768 6 : fb 1280x1024 7 : failsafe 8 : test (desktop=fluxbox) X : * cancel *
%ramdrv%\knop53\default.txt
(A:\knop53\default.txt
)
ramdisk_size=100000 init=/etc/init lang=ja apm=power-off nomce highres=off loglevel=0 libata.atapi_enabled=1 quiet SELINUX_INIT=NO nmi_watchdog=0 BOOT_IMAGE=knoppix
ファイル一覧
A:. | appld.bat ** ファイル結合バッチ ** | autoexec.bat | command.com | config.sys | gpxe_all.krn | grub.exe | HOME.DAT | kernel.sys | LDFD.ZIP | license.txt | memtest | menu.lst ** GRUB for DOS ブート設定ファイル ** | menu.txt ** OS選択 ブートメニュー (【DOS+RAMドライブ】)** | menu_usb.txt ** OS選択 ブートメニュー (【DOS+USBドライバ】)** | RDRIVE.BAT | ReadMe.txt | reload.bat ** 【DOS+RAMドライブ】で起動後にUSBドライバをロード ** | TDSK.EXE | TURBO.DAT | TURBODAT.exe | UNZIP.EXE | version.txt | +---berry90 ** Berry Linux ブートオプションファイル ** | default.txt | default2.txt | dynabook.txt | expert.txt | menu.txt ** Berry Linux ブートメニュー ** | onram.txt | safe.txt | vaio.txt | vesa.txt | vesa2.txt | +---bgrescue | menu.txt ** BG-Rescue Linux ブートメニュー ** | menu_usb.txt ** BG-Rescue Linux ブートメニュー (【DOS+USBドライバ】) ** | +---bin ** 【DOS+RAMドライブ】用バッチ ** | auto_ram.bat | berry.bat | bgrescue.bat | copyb.bat ** 分割FDコピー バッチ ** | insert.bat | knoppix3.bat | knoppix.bat | other.bat | puppy.bat | slax.bat | start.bat | sysres.bat | +---bin_usb ** 【DOS+USBドライバ】用バッチ ** | berry.bat | bgrescue.bat | insert.bat | knoppix3.bat | knoppix.bat | other.bat | puppy.bat | slax.bat | start.bat | sysres.bat | +---driver | | devload.com ** DOSブート後にドライバロード ** | | himem.exe | | keyb.exe ** キーボードドライバ ** | | keyboard.sys ** キーボードドライバ ** | | keybrd2.sys ** キーボードドライバ ** | | RAMFD.SYS ** DOS USBドライバ ** | | shsucdx.com ** CD-ROM 用プログラム ** | | Usbaspi.sys ** DOS USBドライバ ** | | USBCD.SYS ** DOS USBドライバ ** | | | \---novac | di1000dd.sys ** DOS USBドライバ ** | usbaspi.sys ** DOS USBドライバ ** | +---freedos ** FreeDOSコマンド ** | choice.exe | edit.exe | LINLD.COM | xcopy.exe | +---get_iso ** isoイメージのダウンロードURL ** | download.txt | +---grub ** HDDブート用GRUB設定ファイル ** | berry.conf | insert.conf | insertfd.conf | knoppix.conf | knoppix3.conf | puppy.conf | slax.conf | sysres.conf | +---inse12 ** INSERT ブートオプションファイル ** | default.txt | expert.txt | failsafe.txt | fb1024.txt | fb1280.txt | fb800.txt | menu.txt ** INSERT ブートメニュー ** | menu_usb.txt ** INSERT ブートメニュー (【DOS+USBドライバ】) ** | text.txt | vesa.txt | +---knop5 ** KNOPPIX LCR 5.1.1 ブートオプションファイル ** | default.txt | failsafe.txt | fb1024.txt | fb1280.txt | fb800.txt | menu.txt ** KNOPPIX LCR 5.1.1ブートメニュー ** | test.txt | text.txt | vesa.txt | +---knop53 ** KNOPPIX 5.3.1 ブートオプションファイル ** | default.txt | failsafe.txt | fb1024.txt | fb1280.txt | fb800.txt | menu.txt ** KNOPPIX 5.3.1ブートメニュー ** | test.txt | text.txt | vesa.txt | +---puppy400 | menu.txt ** Puppy ブートメニュー ** | +---slax5 ** SLAX ブートオプションファイル ** | default.txt | menu.txt ** SLAXブートメニュー ** | safe.txt | vesa.txt | xconf.txt | \---sysres1 menu.txt ** SystemRescueCD ブートメニュー **
Linuxローダ
LINLD.COM については下記ページにて。
別の Linux を起動
※いまいちかもしれない...
- options.txtを作成(※必要な場合)
-
対象アイテムの
syslinux.cfg
,isolinux.cfg
,menu.lst
などを参照してブートオプション(カーネルパラメータ)を書いた options.txt を(※必要なら)作成する。※Linuxインストーラなど不要な場合もあります。
- ※linld コマンドの書式
linld image=filename initrd=filename vga=normal cl=@A:\options.txt
書式はこんなかんじなので、vgaオプションと、initrdファイル名を除いたファイルを作成。
- 対象アイテムの isolinux.cfg を参照してみる(※これはKNOPPIX 5.3.1の例)
LABEL knoppix KERNEL linux APPEND ramdisk_size=100000 init=/etc/init lang=ja apm=power-off vga=791 initrd=minirt.gz nomce highres=off loglevel=0 libata.atapi_enabled=1 quiet SELINUX_INIT=NO nmi_watchdog=0 BOOT_IMAGE=knoppix
- options.txt の一例
-
APPEND行の指定をコピー、initrd=xxx と vga=xxx を消すだけ。
ramdisk_size=100000 init=/etc/init lang=ja apm=power-off nomce highres=off loglevel=0 libata.atapi_enabled=1 quiet SELINUX_INIT=NO nmi_watchdog=0 BOOT_IMAGE=knoppix
■ from 【DOS+RAMドライブ】
- 分割FD準備
- (※必要なら)
options.txt
作成、起動FD(※起動時にRamdriveへコピーされる)、または最終FDへ保存(上記ZIPに入れてもいい)
- OS選択メニューは x でキャンセル
- other.bat 実行
- FDを入換えてコピー
- options.txt の場所を選択
※カーネルと initrd は、ありがちな名前で検索します。ありがちじゃないとエラーになります。
[none]以外を選択すると options.txt
の存在確認します。ない場合はエラーを表示してやり直しとなります。
追加したいオプション(パラメータ)があれば入力。なければそのままEnter。
- other.bat(.txt)
■ from 【DOS+USBドライバ】
- (※必要なら)
options.txt
作成、USBメモリ上カーネルのあるディレクトリ、またはFDにコピー
- OS選択メニューは x でキャンセル
- other.bat 実行
- ドライブレターを入力
C
とかd
とか
- ディレクトリ名を入力
knoppix
とかboot\isolinux
とか
- options.txt の場所を選択
※カーネルと initrd は、ありがちな名前で検索します。ありがちじゃないとエラーになります。
ディレクトリ・ファイル名など検索して確認するので、ない場合はエラー表示してやり直しとなります。
[none]以外を選択すると options.txt
の存在確認します。ない場合はエラーを表示してやり直しとなります。
追加したいオプション(パラメータ)があれば入力。なければそのままEnter。
【※注意】options.txt があり、かつ追加オプションを指定した場合、 options.txt のコピーに追記されます。この場合の options.txt の場所について、RAMFD.SYS 使用時は Floppy
がだめ、USB CDでは Same ..
がだめ
- other.bat(.txt)
■ 備考
- LiveCDのファイルを変更している場合
-
サブディレクトリにまとめてるとか、マルチブートの為ディレクトリ名を変えてるとか。下記はデフォルト以外の指定対象
【DOS+USBドライバ】では自動で検索します。【DOS+RAMドライブ】ではLINLD実行前に選択画面が表示されます。
- KNOPPIX 5.3.1
knoppix3\KNOPPIX
- SLAX 5.1.8.1-3
slax\livecd.sgn
myslax\livecd.sgn
slax5\livecd.sgn
- SystemRescueCd 1.0.4
sysres10\sysrcd.dat
- Berry Linux 0.90
berry90\BERRY
- Puppy Linux 4.1.2.1
- 元々サブディレクトリも検索してくれるらしい?(/puppyなんとかな名前にしとけばいいのかな?)
【※注意】【DOS+USBドライバ】では、Aドライブにオプションを追記した
temp.txt
を書き込みます。KNOPPIX5.3.1なら コピーされたオプションファイルA:\knop53\temp.txt
にknoppix_dir=knoppix3
を追記します。RAMFD.SYS使用時はAドライブは書き込み不可となるので事前に オプションを追記した
temp.txt
をFDへ作成する必要があります。書き込みエラーとなった場合でもtemp.txt
があればそのまま使用されます。ややこしいかなぁ。。【DOS+RAMドライブ】から
reload.bat
を実行の方がいいかなぁ。【DOS+RAMドライブ】ではRAMドライブ上なので問題ありません(
temp.txt
は消えちゃうけど)。 - KNOPPIX 5.3.1
■ 注意点
【DOS+USBドライバ】でのUSBドライバ使用時の注意点などは下記にて。
- 故障デバイスがあると...
-
(一概に断言はできませんが)故障あるいは不良デバイスがあるとBIOSで無効にしないと初期化中に止まってしまうことがあります。
- なるべく新しいフロッピーで
-
古いものでは読み込みでエラーが出たり、エラー発生後にファイルが壊れたりすることも。
- フロッピーを確認しませう!
-
いぁ、新品でもおかしい時ありますから。
Windows上では不良セクタがあっても使えてしまったりしますから、
format
コマンド打つべし。format a:
1,457,664 バイト : 全ディスク領域 1,024 バイト : 不良セクタ 1,456,640 バイト : 使用可能ディスク領域
不良セクタがないか、「パオーパオーン」な雄叫び(笑)が1,2回じゃなく数十回も発生しないかとか確認しませう。
- Linux LiveCD側の注意点?
-
- 「Linux起動後に」USBデバイスが認識されない
-
いわゆる「シェルに落ちる〜」ってやつですね。「
/KNOPPIX/KNOPPIX
が見つからないYO!」です。Linux起動後の初期化中にUSBデバイスが認識されない場合は、 Linux起動直後、または「Checkin for USB...」などのメッセージが表示されている時にUSBポートを挿し直すと認識されることがあります。
USB CDだとあんまり問題ないのになぁ。(あくまでウチでは)
- シャットダウン
-
- SLAXでは、
acpi=off
を指定してるので自動で電源は切れない。「Power Down」などのメッセージで止まったら電源ボタンを押す - SystemRescueCdでもそうかも。
- 他のLinuxでも
acpi=off
やnoacpi
“とか”を指定しないと起動できないことがあるかも。
- SLAXでは、
- USB FDドライブ
-
USB FDドライブでブートする際は、カーネルとinitrdロード後にUSBポートを抜いてしまった方がいいかも。デバイスの検出で時間がかかるので。
■ reload.bat
DOS起動時にUSBドライバの読み込みエラーとなる場合などに試してみる価値があるかもしれませぬ(ないかもしれませぬ。)私の環境ではこちらでやっとこさ認識したことがありますです。
FreeDOS起動後にデバイスドライバのロードが可能な devload.com を使いUSBドライバを読み込みます。
起動時に選択した環境によって若干違いがありますです。
- 【DOS+USBドライバ】から実行
-
下記【その1】編と同様。
- 【DOS+RAMドライブ】から実行
-
- USB FDドライブ使用時でもRAMFD.SYSが不要になり、USBドライバ読み込み前に取り外しが可能に。
- RAMFD.SYS使用時はAドライブが書き込み不可になるけど、これのRAMドライブはおk
- USB側のディレクトリ変更してる場合とか、Aドライブにtemp.txtの作成が必要になるし
実行時の流れはこんなかんじ。
- 【DOS+RAMドライブ】のOS選択メニュー画面を【x】でキャンセル
- コマンドラインからreload.batを実行
- ドライバなど必要なファイルがRAMドライブへコピーされる
- 【DOS+USBドライバ】のOS選択メニューに切り替わる(環境がRAMドライブ上の【DOS+USBドライバ】に変更される)
- 番号を選択すると選択OSのオプションファイルがRAMドライブへコピーされる
- ドライバを選択
- ドライバの読み込み、USBデバイスの検出とドライブレター割り当て
- 選択OSのメニュー画面が表示される
OS選択メニュー画面でキャンセルして、コマンドラインから reload.bat を実行
【DOS+USBドライバ】の必要ファイルがRAMドライブへコピーされますー
環境がRAMドライブ上の【DOS+USBドライバ】に変更されて、【DOS+USBドライバ】のメニューになりますた。
KNOPPIXの【1】を入力すると、オプションファイルがRAMドライブへコピーされますー
ドライバを選択しませう
USB FD ドライブは外した方が安全だと思います(?)ので警告画面など出してみたり。ここで外せます。
ドライブレターが、キター!です。(※これはIomegaドライバの例)
【DOS+USBドライバ】用
knoppix3.bat
が実行されてメニューが出ますた!もし、ドライブレター来ないYO!な時は、「同じKNOPPIXなら」ですが、【x】でキャンセルしてもいっかい
reload.bat
の実行でキター!になることもあるかもしれません(私はあったけどないかもしれません...)。
■ 関連リンク
- Linux LiveCD
- FreeDOS
- LINLD.COM
- GRUB for DOS