palm84.com

革命的愛熊主義者同盟!

KNOPPIX 9.1でBIOSブート時のグラフィカルブートメニューを設定

MBR/BIOSブート時しか使えないので、あんまりやる気がなかったけど、(わしレベルで)意を決して実行してみた。

目次

about

これは、KNOPPIX 9.1 ブータブルUSBメモリの、あくまで MBR/BIOS ブート時のお話です。UEFIブート時は有効化されません。アシカラズ。(※ CD版での確認ですが、DVD版でも同じはず。)

尚、UEFIでも対応ファイルに置き換えれば可能でしたが、Secure boot が有効だとブート不可、BIOSブートはプロンプトのみで無効となるのでやらない方がよさげです。

  • ブート画面にて vesamenu と打つとグラフィカルメニューが出るのですが選択状態がわからないので使えない... orz

f:id:palm84:20210311182220p:plainf:id:palm84:20210311182224p:plain

  • ちなみにテキストメニュー (menu と打つ) なら普通に使える

f:id:palm84:20210311182228p:plain

不具合の原因について、単純に SYSLINUX のバージョンの不整合かなと考えたのですが、その場合だとメニューは起動できないはず。ということで、調べてみると、KNOPPIX上で作成したブータブルUSBメモリ内の SYSLINUX のファイルはすべてを調べたわけではないけど vesamenu.c32 に関連するものはバージョンが同じでした。で、あるならば KNOPPIX に含まれる vesamenu.c32 の色設定を変更すればと考えていろいろ試したけどうまく行かずに力尽きました... (大げさw)

というわけで、SYSLINUX のファイルを全部入れ替えちゃえー!とやってしまいました。(ホントはこれだけはしたくなかったのにw)

入替後はこうなります。

  • グラフィカルメニュー

f:id:palm84:20210311182300p:plain

  • Tab キー押しでオプション編集可能

f:id:palm84:20210311182305p:plain

ダウンロード

  1. zipファイルはフォルダに展開
  2. SYSLINUX64_Install_CurrentDrive.bat.txt = バッチファイルは、拡張子 .txt を外しUSBメモリのルートにコピー

設定

※ 一応不具合がない様にに確認してあるつもりですが、お約束の at your own risk にてお願いします

Windows 10 Pro 64bit 版での確認です。

1個ずつ取り出すのは面倒なので、テキストエディタなどで実行コマンドを書いておいて、コマンド プロンプトにコピー&ペースト = 右クリックで貼り付け (Windows 10 なら Ctrl-V でも) で実行します。

ファイルのコピー

設定するのはここだけ。フォルダ&ドライブレターを指定、これは一例なので自身の環境に合わせてくだされ

  • syslinux を展開した bios フォルダへのフルパス
  • 対象USBメモリのドライブレター
set Source=D:\My_Files\Downloads\USBBoot\syslinux\syslinux-6.03\bios
set Drive=x:

後は一気にコピペでおk!

set Target=%Drive%\boot\syslinux

pushd %Target%
set backup=bak-%random%
mkdir %backup%
move *.c32 %backup%
move memdisk %backup%

copy "%Source%\com32\cmenu\libmenu\libmenu.c32"
copy "%Source%\com32\elflink\ldlinux\ldlinux.c32"
copy "%Source%\com32\gfxboot\gfxboot.c32"
copy "%Source%\com32\lib\libcom32.c32"
copy "%Source%\com32\libutil\libutil.c32"
copy "%Source%\com32\lua\src\vesa.c32"
copy "%Source%\com32\menu\menu.c32"
copy "%Source%\com32\menu\vesamenu.c32"
copy "%Source%\com32\modules\ifcpu64.c32"
copy "%Source%\com32\modules\vesainfo.c32"
copy "%Source%\memdisk\memdisk"

copy "%Source%\win64\syslinux64.exe" "%Drive%\"

既存ファイルを [bak-ランダム数字] フォルダへ移動させてからコピーしています。

f:id:palm84:20210311182232p:plainf:id:palm84:20210311182236p:plain

SYSLINUXのインストール

Windows 10 Pro 64bit 版での確認です。

  • SYSLINUX64_Install_CurrentDrive.bat を「管理者として実行

f:id:palm84:20210311182252p:plainf:id:palm84:20210311182256p:plain

このバッチのやってることは…

  1. バッチと同じ場所に syslinux64.exe があるか確認
  2. バッチのあるドライブがリムーバブルメディアなのかレジストリで確認
  3. バッチのあるドライブへ SYSLINUX の(再)インストール
【注意】Windows 32bit版では

確認してませんが、下記でできるはず。自己責任にてお願いします。すみません...

設定ファイルの編集

  • USBメモリの \boot\syslinux\syslinx.cfg
UI vesamenu.c32
MENU TITLE KNOPPIX 9.1 CD Boot options Menu

2行目当りに2行を挿入

ブートメッセージを出なくしたり、タイムアウトを伸ばしたりとかお好みで。

# KNOPPIX 9.x isolinux/syslinux boot config
UI vesamenu.c32
MENU TITLE KNOPPIX 9.1 CD Boot options Menu

DEFAULT auto
APPEND lang=en apm=power-off initrd=minirt.gz nomce hpsa.hpsa_allow_any=1 loglevel=1

TIMEOUT 300
# KBDMAP german.kbd
PROMPT 0
#PROMPT 1
F1 boot.msg
F2 f2
F3 f3
#DISPLAY boot.msg

いろいろ

  • メニューで grub を選択後に grub4dos 起動、Esc 押しでメニューが出るので再起動 [reboot], シャットダウン [halt] の選択が可(※ UEFIでは起動しないので注意)

f:id:palm84:20210311182244p:plain

  • dos は FreeDOS Balder が起動(※ UEFIでは起動しないので注意)

f:id:palm84:20210311182240p:plain

(ブートメニュー内の) キーボードをJP配列に

syslinux.cfg の10行目当りに

KBDMAP jp106.kbd

尚、アンダースコア _Shift-0

KNOPPIX 9.1 関連拙作めも

ほなどす