Easy2Boot の ISOBOOT スクリプト


ちょっとややこしいけどなかなか使える機能です。v1.78A で確認しました。(※ v1.78 の正式リリースはまだかな?)

ISOBOOT is automatically used if a linux ISO file is not contiguous and the ISO file is larger than the \_ISO\CONTIG.ISO file and if the filename of the linux ISO is recognised by the isoboot.g4b batch file code!

isoboot.g4b is a grub4dos batch file that attempts to boot from a linux ISO using linux 'cheat codes' which specify the name of the ISO file so that linux can access the files inside the ISO file. This is similar to the 'old' standard way of booting ISOs (as used by YUMI, SARDU, PenDriveLinux, XBoot, etc.).

On E2B v1.62+ versions, you can test the isoboot function on any linux ISO by holding down the SHIFT key for a few seconds after selecting a linux ISO from the menu and pressing ENTER key to run it. - i.e. select the ISO from the menu, hold down the SHIFT key - press ENTER - keep SHIFT key held down until you see the isoboot messages.

How E2B Works :: Easy2Boot

はいはい、詳しくないのでわかる範囲で... (;´・ω・)

Easy2Boot は通常 iso を仮想的に展開 = MBR(パーティションテーブル)書換 = して起動しますが、これはMBR書換せず、Ubuntu の iso-scan/filename などisoマウントブートの為のカーネル・コマンドライン・パラメータ(起動オプション)を指定して起動させるというもの。


  1. isoが断片化(及び CONTIG.ISO よりサイズが大きい)のためMBR書換できない時
  2. PLoP Boot Manager 使用時など書き込み不可時
  3. ブートエントリ選択時に Shift-Enter で優先起動 (※ v1.77以下ではバグがある模様)



放置すると ISOBOOT スクリプトが実行され、パラメータが表示される


Shift-Enter で選択後はこんなメッセージが...


... 注意点はこんなかんじ...

  • isoファイル名からOSを判断、ブート時に指定や変更はできない
  • 元isoのブート画面は出ない
  • オプション変更は事前に \_ISO\e2b\grub\isoboot.g4b 編集
  • isoboot.g4b 内の言語・キーボード設定は日本指定ではないので、日本語版では要変更


Ubuntu を変更



set try=/casper/vmlinuz
if exist %try% set kernel=%try%
set try=/casper/vmlinuz.efi
if exist %try% set kernel=%try%
set try=/casper/vmlinux.efi
if exist %try% set kernel=%try%
set try=/casper/initrd.lz
if exist %try% set initrd=%try%
# possible options
# locale=en_US.UTF-8
# quiet

if exist /preseed/custom.seed set seed=file=/cdrom/preseed/custom.seed
if exist /preseed/lubuntu.seed set seed=file=/cdrom/preseed/lubuntu.seed
if exist /preseed/ubuntu.seed set seed=file=/cdrom/preseed/ubuntu.seed
if exist /preseed/xubuntu.seed set seed=file=/cdrom/preseed/xubuntu.seed

set pae=
cat --locatei="14.04"    --number=1 (md)0x220+1 > nul && set pae=forcepae

echo kernel %kernel%         %seed%    noprompt      boot=casper  iso-scan/filename=%ISOSCAN% locale=ja_JP.UTF-8  splash  -- debian-installer/language=ja keyboard-configuration/layoutcode?=jp keyboard-configuration/modelcode?=jp106 timezone=Asia/Tokyo utc=no %pae% > (md)0x220+1
echo initrd %initrd% >> (md)0x220+1