- 2021.4.1 移転しました...
-
- このページの旧URLは
http://www10.plala.or.jp/palm84/grub4dos.html
- このページの旧URLは
- 内容古いです!
-
最終更新日は 2012.3.4 です!ご注意。
- INDEX
概要
2007.8.1 作成
2007.12.16 USBメモリでの起動について訂正追記。
2007.2.10 (PXE)ネットワークブートについて追記。
2009.1.22 USBメモリのPBRへインストール を追記。
CDイメージの起動 を追記。
2009.1.30 HDイメージの起動を追記。
2010.3.14 HDに保存した Linux LiveCD 起動, CDイメージの起動 を追記改訂。
最終更新日 2012.3.4
【ご注意】テスト版(開発版)もダウンロードできますが、固まったり、全く起動しないことがあったりで、結構不具合多いように思います。新機能やbug fixあったりしますが使用の際はご注意。(※0.4.4正式版リリース前に開発版使ってたんですが不具合多かったです。正式版ではキッチリ直ってる模様ですけど。)
- NTFS関連(grub.exe だけ?)のバグ?
-
0.4.4 では問題なさそうです(今んとこ)。
※下記の組み合わせでWindows XPを起動させると非常にスローモーになるというバグ(?)がありました。(※環境次第かもしれませんが...)
- (USBメモリ)SYSLINUX → grub.exe バージョン 0.4.2 と 0.4.3
- (CD)ISOLINUX → grub.exe バージョン 0.4.2 と 0.4.3
- (ネットワーク)PXELINUX → grub.exe バージョン 0.4.2 と 0.4.3
よって、SYSLINUX,PXELINUX からチェインロードする場合は、memdisk + FDイメージ(または grub.exe 0.4.1)を使うのが安全かも。CDなら、BCDW + grldr で。
- ダウンロード
- ドキュメント
-
htm及びchmファイルがダウンロード可能
- grubinst.exe
-
Windows上でFDやUSBメモリ、イメージファイルへGRUBブート・コード書き込み。(※
menu.lst
,grldr
は手動コピー)- ダウンロード:
- Index of /grubutil(※Windows版は
grubinst-x.x-bin-w32-xxxx-xx-xx.zip
)
- Index of /grubutil(※Windows版は
- ダウンロード:
- GUIツール
-
「取り扱い注意」ですけど。
オリジナルの GRUB と違う点はこんなとこかな。
- 既存のブートローダから GRUB を呼び出す
- ntldr や bootmgr - grldr
- GRUB や LILO や SYSLINUX - grub.exe
- MBR(ブートストラップローダ)、ブートセクタ(IPL)を書き換えなくて“も”よい(チェインロードすれば)
- DOS上で実行可能 (grub.exe)
- BCDW (Bootable CD Wizard) からチェインロード - grldr
- NTFS対応(※ NTFSパーティション内の kernel, initrd の読み込みが可能)
- menu.lst の検索機能、などなど
かなり「使える」と思いました。
- Windows 2k/XPの ntldr から GRUB をチェインロード
- HDに保存したLiveCDの起動
- HDに保存したFDイメージの起動とか
- ntldr → GRUB → ネットワークブート用ROMをチェインロード
- ネットブート非対応マシンでも起動ディスクなしでブート可能に
- Windows 2k/XP の緊急起動用ディスク(FD/USBメモリ)
- FD/USBメモリに保存した ntldr をチェインロード
- USBメモリ
- SYSLINUX から GRUB をチェインロード
menu.lst
- 【超私的】menu.lst
-
ごちゃまぜですが。
- FD/HD用 - fd_hd_menu.lst
- FD/HD用 - fd_hd_menu.lst
- CD/USB/PXE用 - cd_pxe_usb_menu.lst
- CD/USB/PXE用 - cd_pxe_usb_menu.lst
ファイル名は
menu.lst
にリネームしてくだされ。 - 【基本ですが】改行コードのこと
-
配布ファイルに付属の menu.lst は改行コードがLinux標準の【LF】(※ Windows 標準は【CR+LF】)となってるので Windows のメモ帳では正しく表示できません。ワードパッドではおkですが他のLF対応テキストエディタの使用をマジでおすすめします。ワードパッドに比べめちゃ便利なので。
私は EdTex 3.11(フリー)と秀丸エディタ(シェアウェア)ですが、他にフリーならサクラエディタとかTeraPadとかがオススメかなぁ?
※ EdTex 3.11 は個人的にはサイコーに便利なのですが、ユニコード非対応とか秀丸に比べるとチト欠点があったり。
尚、改行コードは【CR+LF】でも問題なく使えてます。
- 【追記】
menu.lst
の優先順位は? -
※ 間違ってたので修正しました。
GRUBがブートしたデバイス上にない場合は、CD,FD以外から(HD, USBメモリなど)
/menu.lst
/boot/grub/menu.lst
/grub/menu.lst
Grub4dos Guide - Embedded Menutitle find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst errorcheck off configfile /menu.lst configfile /boot/grub/menu.lst configfile /grub/menu.lst find --set-root --ignore-floppies --ignore-cd /menu.lst && configfile /menu.lst find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst && configfile /boot/grub/menu.lst find --set-root --ignore-floppies --ignore-cd /grub/menu.lst && configfile /grub/menu.lst errorcheck on commandline
- ドライブ/パーティションは0から数える
- hda1は
(hd0,0)
hdb5は(hd1,4)
- hda1は
- 大文字・小文字は
区別される- CD上では区別
- フォーマット ext4 では区別
- フォーマット NTFS/FAT32上では区別しない(※ 8.3形式でも検索されることがあるので注意)
ファイルの先頭部分
color white/blue yellow/cyan default 0 timeout 60 splashimage=(hd0,0)/robin.gz ----- 以下略 -----
color
- 色指定。なしでもよい。default
- デフォルトの選択を指定。0から数える。timeout
- 自動起動させる秒数指定。なしでもよいsplashimage
- 背景画像指定。なしでもよい- ファイル名
robin.xpm.gz
がなぜかrobin.gz
に変わってしまうので最初から名前変更しておいた方がいいかな
- ファイル名
fallback 1
- 起動失敗した場合にエントリ2へ移動。なしでもよい。
color white/blue yellow/cyan timeout 30 splashimage=(hd0,0)/robin.gz default /default ----- 以下略 -----
default
- 0.4.2からこのファイルが必要らしい。内容はよくわからない...設定を保存する為のファイルということでなしでもいいみたい。
エントリ(選択項目)を書く
root
コマンドで選択パーティションを指定してファイル名を記述するか、(hd0,0)/boot
のように直接パーティションを含めたパスで記述する。
- Linuxなど - kernelとinitrdを指定
title Linux root (hd1,1) kernel /vmlinuz ro root=/dev/hdb3 vga=0x318 initrd /initrd.img
- ブートセクタへ処理を渡す - Windows or ブートセクタにブートローダがある場合
title chainload (hd0,0) chainloader (hd0,0)+1 rootnoverify (hd0,0)
- ファイルを検索して設定
-
- ntldr (Windows XP/2000) を検索してチェインロード
title find and load NTLDR of Windows NT/2K/XP find --set-root /ntldr chainloader /ntldr
- bootmgr (Windows Vista/7) を検索してチェインロード
title find and load BOOTMGR of Windows Vista/7 find --set-root /bootmgr chainloader /bootmgr
- 第2HDから Windows の起動
-
※ USBメモリブートの場合も。
Windows は第2HDの NTLDR, BOOTMGR から起動できないので入替指定。
- ntldr (Windows XP/2000) を検索してチェインロード
title find and load NTLDR of Windows NT/2K/XP find --set-root --ignore-floppies --ignore-cd /ntldr map () (hd0) map (hd0) () map --rehook find --set-root --ignore-floppies --ignore-cd /ntldr chainloader /ntldr
- bootmgr (Windows Vista/7) を検索してチェインロード
title find and load BOOTMGR of Windows Vista/7 find --set-root --ignore-floppies --ignore-cd /bootmgr map () (hd0) map (hd0) () map --rehook find --set-root --ignore-floppies --ignore-cd /bootmgr chainloader /bootmgr
- menu.lst を検索して切替
title find /menu.lst find --set-root --ignore-floppies /menu.lst configfile /menu.lst
title find /boot/grub/menu.lst find --set-root /boot/grub/menu.lst configfile /boot/grub/menu.lst
title find /grub/menu.lst find --set-root /grub/menu.lst configfile /grub/menu.lst
- GRUB2 をチェインロード
title chainload GRUB2 find --set-root /boot/grub/core.img kernel /boot/grub/core.img
--ignore-floppies
- FDを除外--ignore-cd
- CDを除外
- 2台めのHDドライブからの起動
-
chainloader コマンドだけではだめな場合は、HDの順番を入れ替えてみるとか。
title chainload hdb(sdb) MBR map (hd0) (hd1) map (hd1) (hd0) map --hook chainloader (hd0)+1 rootnoverify (hd0)
または、
chainloader (hd0,0)+1
とか。 - halt / reboot
-
- 再起動
title reboot reboot
- シャットダウン
title halt halt
- ネットワークブート用イメージでブート
-
- ROM-o-matic.netで対応ROM (LILO/GRUB/SYSLINUX loadable kernel format) をダウンロードしてパーティションのルートにコピー
title Network Boot from ROM find --set-root /netboot.zli kernel /netboot.zli
- Linux インストーラの起動
-
- ネットワークインストール用 kernel と initird をダウンロード
- Debian stable /debian/debian/dists/stable/main/installer-i386/current/images/netboot/debian-installer/i386/(※テキストモード版)
- Ubuntu lucid (10.04) - /ubuntu/dists/lucid/main/installer-i386/current/images/netboot/ubuntu-installer/i386
- パーティションのルートにコピー
- Debian stable, Ubuntu lucid の例 (x86)
title Linux Installer find --set-root /linux kernel /linux vga=normal locale=ja_JP initrd /initrd.gz
- ネットワークインストール用 kernel と initird をダウンロード
JPキーボードに対応
※ 完全じゃないけど...
- アンダースコア _ は Shift-0
- バー | は Shift-半角
- バックスラッシュ \ は 半角
color white/blue yellow/cyan timeout 30 splashimage=(hd0,0)/robin.gz # jp106 keypad setkey at bracketleft setkey doublequote at setkey ampersand caret setkey quote ampersand setkey parenleft asterisk setkey parenright parenleft setkey underscore parenright setkey equal underscore setkey plus colon setkey colon quote setkey asterisk doublequote setkey bracketleft bracketright setkey braceleft braceright setkey bracketright backslash setkey braceright bar setkey backslash backquote setkey tilde plus setkey caret equal setkey backquote braceleft setkey bar tilde ----- 以下略 -----
設定ファイルの切替
エントリ(起動項目)が多い場合や、HDの menu.lst に切り替えたい場合など。
- デバイスを指定して切替(※
rootも移動します)
title configfile (fd0)/menu.lst configfile (fd0)/menu.lst
- 検索して切替(※rootも移動します)
title configfile /boot/grub/menu.lst find --set-root /boot/grub/menu.lst configfile /boot/grub/menu.lst
title configfile /grub/knoppix.conf find --set-root /grub/knoppix.conf configfile /grub/knoppix.conf
文字色指定
color white/blue yellow/cyan
- 文字色/背景色 選択中の文字色/選択中の背景色
HDに保存した Linux LiveCD 起動
- KNOPPIX (※産総研版 5.3.1CD)
-
- KNOPPIX Japanese edition
- Index of /pub/linux/knoppix/iso (
knoppix_v5.3.1DVD_20080326-20080523-AC.iso
)
- Index of /pub/linux/knoppix/iso (
- KNOPPIX ディレクトリをドライブのルートにコピー
- /boot/isolinux ディレクトリの内容を KNOPPIX ディレクトリへコピー
※ メモリが 1GB 以上でない場合は toram を外す。
title KNOPPIX531CD find --set-root /KNOPPIX/linux kernel /KNOPPIX/linux ramdisk_size=100000 init=/etc/init lang=ja apm=power-off vga=791 nomce highres=off loglevel=0 libata.atapi_enabled=1 quiet SELINUX_INIT=NO nmi_watchdog=0 toram initrd /KNOPPIX/minirt.gz
- KNOPPIX Japanese edition
- Berry Linux
-
※ 0.97 の例
- BERRYディレクトリをドライブのルートにコピー
- Setup ディレクトリの vmlinuz と initrd.gz を BERRY ディレクトリへコピー
title Berry Linux find --set-root /BERRY/BERRY map --mem /BERRY/boot.img (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0)
または...
title Berry Linux find --set-root /BERRY/vmlinuz kernel /BERRY/vmlinuz cdrom lang=ja video=vesa:ywrap,mtrr vga=785 splash=silent overlay=/berry/berry.img memboot initrd /BERRY/initrd.gz
※ メモリが 1GB 以上でない場合は memboot を外す。
- SLAX (※ slax-ja版 slax-ja-6.1.1-2.iso)
-
- slax-ja - PukiWiki
- slax-ja/download - PukiWiki (
slax-ja-6.1.1-2.iso
)
- slax-ja/download - PukiWiki (
- ドライブのルートに slax6 ディレクトリを作成
- CD(isoイメージ)の内容丸ごと slax6 ディレクトリにコピー
- from オプションでディレクトリを指定
※ メモリが 512MB 以上でない場合は copy2ram を外す。
title slax-ja-6.1.1-2 find --set-root /slax6/boot/vmlinuz kernel /slax6/boot/vmlinuz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4 changes=/slax/ iocharset=utf8 codepage=932 from=slax6/ copy2ram initrd /slax6/boot/initrd.gz
- slax-ja - PukiWiki
- Puppy Linux
-
- ドライブのルートに puppy ディレクトリを作成
- CD(isoイメージ)の内容をすべてそこへコピー
psubdir
オプションでディレクトリ指定
title Puppy Linux find --set-root /puppy/vmlinuz kernel /puppy/vmlinuz psubdir=puppy initrd /puppy/initrd.gz
- Clonezilla live
-
※ ヴァージョン 1.2.3-27 の例
- ドライブのルートに clonezilla ディレクトリを作成
- CD(isoイメージ)の内容をすべてそこへコピー
live-media-path
オプションでディレクトリ指定
title Clonezilla live find --set-root /clonezilla/live/vmlinuz kernel /clonezilla/live/vmlinuz boot=live union=aufs noswap nolocales noprompt ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="ja_JP.UTF-8" vga=791 ip=frommedia toram=filesystem.squashfs live-media-path=/clonezilla/live initrd /clonezilla/live/initrd.img
- CDlinux
-
- about [CDlinux]
- download:latest [CDlinux] (
CDlinux_CE-0.9.5.iso
)
- download:latest [CDlinux] (
- ドライブのルートに CDlinux ディレクトリをコピー
title CDlinux-0.9.5 Community find --set-root /CDlinux/bzImage kernel /CDlinux/bzImage CDL_LANG=ja_JP.UTF-8 initrd /CDlinux/initrd
- about [CDlinux]
- SystemRescueCd
-
- SystemRescueCd
- Browse SystemRescueCd Files on SourceForge.net (
systemrescuecd-x86-1.4.0.iso
)
- Browse SystemRescueCd Files on SourceForge.net (
※ ヴァージョン 1.4.0 の例
- ドライブのルートに sysres14 ディレクトリを作成
- CD(isoイメージ)の内容をすべてそこへコピー
subdir
オプションでディレクトリ指定
title SystemRescueCd 1.4.0 find --set-root /sysres14/isolinux/rescuecd kernel /sysres14/isolinux/rescuecd scandelay=5 setkmap=jp dodhcp docache subdir=sysres14 initrd /sysres14/isolinux/initram.igz
- SystemRescueCd
コマンド
- メニュー画面、c キーでコマンドラインモード
- Tab - コマンド表示
help
- コマンドの引数など表示help
コマンド名 - コマンドのヘルプ表示- ↑↓ - 入力履歴
- Esc - メニュー画面へ戻る
- メニュー画面、e キーでエントリの編集画面
- e - 選択行の編集
- d - 選択行削除
- o - 選択行下に行挿入
- O - 選択行上に行挿入
- 編集後、Enter で確定したら b キーでブート
- Esc - キャンセル
Tab キーでの補完機能あり。何も入力せずに Tab を押すと使用可能コマンド表示。cha
と打った後に Tab を押せば chainloader と表示。
※注:ls
など一部は 0.4.4 以降のみ。
ls
- 現在位置のファイル・ディレクトリリスト表示
root (
- ここでTabを打つと利用可能デバイス表示root (hd0
- ここでTabを打つとパーティション一覧表示
root
- パーティションの指定kernel
- kernel のパスを指定。rootを使わずに(hd0,0)/vmlinuz
な風でもinitrd
- initrd のパスを指定。rootを使わずに(hd0,0)/initrd
な風でもchainloader
- 他のブートローダをチェインロードchainloader +1
-root
で指定の現在位置のブートセクタをロードchainloader (hd0,0)+1
- hda1(sda1)のブートセクタをロードchainloader (hd0)+1
- hda(sda)のMBRをロード
boot
- 指定した設定でブート
rootnoverify
(x,x) -root
(x,x) でブート・エラーとなる場合はこちらを試してみる
configfile (fd0)/menu.lst
- menu.lst を切替(この例ではFD上)find
- フルパスを指定してファイル検索find --set-root /ntldr
- ntldr を検索して見つかったパーティションに移動(=rootに設定)- または、
find
だけ打つと認識されたパーティション・ドライブ表示
cat
- テキストファイルの内容を表示halt
- シャットダウンreboot
- リブート
find (hd0,0)/
などと打った後にTabキーを押すとディレクトリ内容一覧表示。
geometry
- C/H/S や active(boot) パーティションの確認
grub> geometry (hd0) drive 0x80(LBA): C/H/S=244/255/63, Sector Count/Size=3919860/512 Partition num: 0, <em>active</em>, Filesystem type is fat, partition type 0x0E grub> geometry (hd1) drive 0x81(LBA): C/H/S=1024/15/63, Sector Count/Size=967680/512 Partition num: 0, active, Filesystem type is ntfs, partition type 0x07 Partition num: 1, Filesystem type is fat, partition type 0x0B
makeactive
- active(boot) パーティションの設定変更
grub> makeactive (hd1,0) Partiton (hd1,0) successfully set active
- CDドライブの利用(※0.4.2以降)
cdrom --init map --hook chainloader (cd) rootnoverify (cd) boot
※0.4.3以降ではコマンド不要かも。(cd0),(cd1)の場合もあるかも。
他のブートローダからチェインロード
それぞれ、USBメモリでの起動、CDでの起動、(PXE)ネットワークブート の項目にも書いとりますが。Windows については次の Windows ブートメニューに追加 にて。
※ grub.exe
or grldr
をルート (/
) に置いた場合です。
- GRUB -
/boot/grub/menu.lst
title GRUB for DOS root (hdx,x) kernel /grub.exe --config-file="find --set-root /menu.lst;configfile /menu.lst"
- GRUB2 (※ Ubuntu 10.04 の例)-
/etc/grub.d/40_custom
- 編集後
update-grub
コマンド実行
- 編集後
menuentry "GRUB for DOS" { insmod ext2 search --file --set=root /grub.exe linux /grub.exe }
※ GRUB2 ではパーティションは1から数えるので注意!
- SYSLINUX / ISOLINUX -
syslinux.cfg
/isolinux.cfg
- ※ grub.exe の方が
menu.lst
をきっちり指定できるのでいいかも
- ※ grub.exe の方が
LABEL grub4dos KERNEL /grub.exe APPEND --config-file="find --set-root /menu.lst;configfile /menu.lst"
LABEL grub4dos BOOT /grldr
LABEL grub4dos KERNEL /chain.c32 APPEND file=/grldr
- PXELINUX -
pxelinux.cfg/*
LABEL grub4dos.pxe KERNEL /grub.exe APPEND keeppxe --config-file="pxe basedir /;configfile (pd)/menu.lst"
- BCDW (Bootable CD Wizard) -
BCDW.INI
\grldr ; grub4dos
Windows ブートメニューに追加
Windows XP / 2000
Windows XP/2000/2003 では NTLDR からチェインロードできます。
- Cドライブのルートなど、ntldr が置かれている場所に grldr, menu.lst(
0.4.2以降では default も)を保存する - boot.ini にエントリを追記
- OSブート時にメニューから選択起動
[boot loader] timeout=10 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn C:\grldr="GRUB for DOS"
boot.ini
は「マイ コンピュータ」右クリックでプロパティ、「詳細設定」タブ「起動と回復」の設定ボタン、「編集」ボタンで編集可能です。
コマンド プロンプトだとこんなかんじで。
set bootini=C:\boot.ini attrib -h -s -r %bootini% if not exist %bootini%_default.txt copy %bootini% %bootini%_default.txt if exist %bootini%_default.txt copy %bootini% %bootini%_%random%.txt echo:>>%bootini% echo C:\grldr="GRUB for DOS">>%bootini% attrib +h +s +r %bootini% notepad %bootini%
Windows 7 / Vista
Vista/7/2008 など bootmgr からチェインロードするには
- コマンド プロンプトを「管理者として実行」
- bcdedit コマンド実行 - 既存設定をエクスポート、起動エントリを追加
- grldr , grldr.mbr , menu.lst を
C:\
にコピー
- 【注意】“
device
”の指定 -
“
device
”では grldr を置いた場所(パーティション)を指定してます。- device partition=C: -
C:\Boot
なしの場合、現在のOS上のドライブ文字を指定 - device boot -
C:
がアクティブでC:\Boot
あり
- device partition=C: -
C:
にBoot
ディレクトリがない場合-
DELL の Studio 540 で確認しました。隠しパーティションがブート(アクティブ)パーティションとなっているため、C: には Boot ディレクトリや bootmgr がありませんでした。「システムで予約済み領域」領域がある場合も同様になります。
set back_dir=C:\BCD_backup mkdir %back_dir% bcdedit /export "%back_dir%\bcd" for /f "tokens=2 delims={}" %x in ('bcdedit /create /d "GRUB for DOS" /application bootsector') do set "guid={%x}" bcdedit /set %guid% device partition=C: bcdedit /set %guid% path \grldr.mbr bcdedit /displayorder %guid% /addlast bcdedit /v
C:
にBoot
ディレクトリがある場合-
追加で 7 をインストールしてマルチブートしている場合などはアクティブ・パーティション(※
C:
とは限らない)にBoot
ディレクトリがあるはずです。set back_dir=C:\Boot\BCD_backup mkdir %back_dir% bcdedit /export "%back_dir%\bcd" for /f "tokens=2 delims={}" %x in ('bcdedit /create /d "GRUB for DOS" /application bootsector') do set "guid={%x}" bcdedit /set %guid% device boot bcdedit /set %guid% path \grldr.mbr bcdedit /displayorder %guid% /addlast bcdedit /v
または、起動領域(boot ディレクトリや BOOTMGR のあるパーティション)に boot.ini
を置く方法でもいけました。
- 「システムで予約済み領域」などに boot.ini を置く
-
通常のインストールの Windows 7 では「システムで予約済み領域」から起動しますが、Windows 上ではドライブレターが割り当てされていないのでエクスプローラーで表示されません。また、メーカー製PCでは同様に Windows 上で表示されない「RECOVERY」などリカバリー用領域から起動する場合もあります。
※ 起動領域は「ディスクの管理」画面で「正常 (システム, アクティブ)」と表示されます。
boot.ini
作成
[boot loader] timeout=100 [operating systems] C:\grldr.mbr="GRUB for DOS"
- ディスクの管理 (diskmgmt.msc) 起動
- 「システムで予約済み領域」などを右クリックして「ドライブ文字とパスの変更」から「追加」で X: などにドライブ文字割り当て
- X: ドライブのルートへ下記をコピー
boot.ini
grldr
grldr.mbr
- X: ドライブを右クリック「ドライブ文字とパスの変更」から削除
menu.lst
は C: のルートへコピー
ブートFD
オリジナルのGRUB起動ディスクと違う点は、NTFSを認識可能なこと。menu.lst や ntldr を検索してrootとして設定できることやCDドライブの認識(※0.4.2以降)できることとかかな?
DOSイメージではEMM386を使うとだめらしい。
【基本的】起動FD作成
基本的な起動ディスク作成は...
- ダウンロード
- Browse GRUB4DOS and WINGRUB Files on SourceForge.net
- grub_for_dos-0.4.2.zip と grub4dos-0.4.4.zip をダウンロード
- 展開して 0.4.2 の
fat12grldr.img
を RawWrite for Windows などでFDへ書き込み - 0.4.4 の
grldr
とmenu.lst
をFDへ上書きコピー
他に小さなツール類とか追加するなら(一例ですが...)
- 拙作めも : GRUB起動ディスクを作っておくの巻
fat12grldr.img
※0.4.3, 0.4.4 には入ってません。
ダウンロードしたファイルに同梱のFDイメージ(FAT版)
fat12grldr.img
-grldr
の入ったFAT版FDイメージ
0.4.2の default ファイルってなんなのかな?(汗) 設定を保存するためのファイルの模様。fallback 1
とかのやつは、失敗したら2番目(※0から数える)のエントリへ移動って意味らしい。別になくてもいいかも。
- menu.lst - Windows XP 緊急起動ディスク - FDの ntldr(boot.ini) から起動
-
- ntldr, ntdetect.com, boot.ini, bootfont.bin をコピー(※大文字・小文字に注意)
title NTLDR from FD (fw) chainloader (fd0)/ntldr
- menu.lst - ネットワークブート用イメージでブート
-
- ROM-o-matic.net で対応ROM (LILO/GRUB/SYSLINUX loadable kernel format) をダウンロードしてコピー
title Network Boot from ROM find --set-root /gpxe.krn kernel /gpxe.krn
grub.exe
DOS起動ディスクや syslinux 起動ディスク上で実行可能。
menu.lst の書式は grldr 版と同じ。
- DOS起動ディスク
-
0.4.1 + DOS起動ディスクでは、MS-DOS(98/XP)、FreeDOS、DR-DOSとも起動できず。0.4.2ではXP版MS-DOS以外OK。EMM386を組み込むとだめ。
- grub.exe , menu.lst ,
default(※0.4.2以降)をDOSディスクにコピー - DOS起動後に入力するか、AUTOEXEC.BATに書く。
- grub.exe , menu.lst ,
- SYSLINUX起動ディスク
-
syslinux で使う場合は、0.4.2 だと勝手に検索が始まって、HD上の menu.lst が読み込まれたりしたので 0.4.1 の方を使う方がいいかもしれない(※configfile (fd0)/menu.lst
などと打てば menu.lst の切替可能ですけど)。- grub.exe , menu.lst ,
default(※0.4.2以降)を syslinux 起動ディスクにコピー - syslinux.cfg にエントリを書く
- syslinux 起動ディスク作成
syslinux.exe A:
※間違って C: とかやっちゃうとWindowsが起動しなくなるので注意!
- syslinux.cfg
default grub.exe append --config-file="configfile (fd0)/menu.lst" prompt 0
- grub.exe , menu.lst ,
grubinst.exeで作成
- ダウンロード:
- Index of /grubutil(※Windows版は
grubinst-x.x-bin-w32-xxxx-xx-xx.zip
)
- Index of /grubutil(※Windows版は
0.4.3以降にはFDイメージが同梱されてないので(※あったりしますが)、Windows上なら grubinst.exe で作成可能。DOS,SYSLINUX起動ディスクでもいいような気もしますが...
grubinst.exe --pause --verbose --floppy (fd0)
※ menu.lst
, grldr
は手動コピー
ブートCD
BCDW (Bootable CD Wizard) を使うのが簡単かな。
BCDW.INI
\grldr ; Grub4Dos
mkisofs で直接isoイメージ作成する場合は下記の方法でいいようです。
mkisofs -R -b grldr -no-emul-boot -boot-load-seg 0x1000 -o bootable.iso iso_root
または
mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o grldr.iso iso_root
- ファイル名の大文字・小文字
-
CDブートでは区別されるようです。Windows上のCDではすべて大文字で見えてることもあるのでご注意。
BCDW や ISOLINUX では問題なくても、この GRUB ではファイルが見つからないなんてことがあります。
GRUB for DOS 入り Linux LiveCD
ブートローダが GRUB for DOS 0.4.4 になってました。
- Puppy Linux 日本語版
pup-431JP.iso
- Index of /puppylinux/download
1枚持っときませう。日本語版です。
- Parted Magic =
pmagic-grub4dos-5.2.iso.zip
メニューから日本語選択、日本語名ファイルなど表示可、Firefoxで日本語ページ表示可。結構使えるかも。
Windows の再インストールで GRUB 消えちゃったな場合に Linux 起動ディスクとして使えますYO!。
メニュー画面で C キー押してコマンドラインから下記を打ちませう。
- GRUB をロード
find --set-root --ignore-cd /boot/grub/menu.lst configfile /boot/grub/menu.lst
- GRUB2 をロード
find --set-root /boot/grub/core.img kernel /boot/grub/core.img
【私的】isoイメージ作成方法
- CDRtoolsバイナリ (
cdrtools-binary.zip
) をダウンロード- CDRtoolsの フロントエンド
- 必要ファイル :
cygwin1.dll
とmkisofs.exe
- GRUB for DOS (
grub4dos-0.4.4.zip
) をダウンロード- Browse GRUB4DOS and WINGRUB Files on SourceForge.net
- 必要ファイル :
grldr
- 【私的】iso作成バッチ : make_iso_grub4dos.bat
- 【私的】iso作成バッチ : make_iso_grub4dos.bat
- 【私的】ごちゃまぜ
menu.lst
: cd_pxe_usb_menu.lst - 【私的】ごちゃまぜ
menu.lst
: cd_pxe_usb_menu.lstmenu.lst
にリネーム
- ファイル構成
作業ディレクトリ | grldr | menu.lst | \---makeiso cygwin1.dll make_iso_grub4dos.bat mkisofs.exe
make_iso_grub4dos.batの
実行で一つ上のディレクトリに grub4dos.iso
が作成される。
mkisofs のオプションは下記の通りにしてます。ファイル名について警告が出ることがあるので環境によっては問題が出るかも。
mkisofs -R -J -b grldr -V GRUB4DOS -no-emul-boot -boot-load-size 4 -o "%iso%" .
USBメモリでブート
3通りの方法で確認してみましたが、BIOSの対応(USBメモリがHD扱いとなるのか、FD扱いなのかとか)及びUSBメモリの仕様(パーティションの構成が色々あるようです)によってなのか、一部の機能が使えなかったりしたので、基本的には対応していないということなのかもしれません。
勉強が足りません...(汗)。
- USBメモリは第1HDとしてブートする?
-
USBメモリからブートした際は、USBメモリが
hd0
となる場合が殆どだと思われます。HDを操作するにはmap
コマンドで入替が必要になるかも。入替しないとHDが見えないかも...map (hd0) (hd1) map (hd1) (hd0) map --hook root (hd1,0) configfile /menu.lst
HDが2台ある場合は、
hd2
へmap (hd0) (hd2) map (hd1) (hd0) map (hd2) (hd1) map --hook root (hd2,0) configfile /menu.lst
- grubinst.exe でMBRへインストール
-
※ 私自身もよく理解できてませんが、間違うと大変なので実行する際はhelpなどをよく確認した上にて...
これがごく普通の(?)方法かな。grldr, menu.lst は手動コピーします。
USBメモリの仕様によるものなのか、機種によってはgrldrが見つからないエラーが出てGRUBが起動しないことがありました。
- USBメモリ内のFDイメージをブート
-
※ SYSLINUX + memdisk の方が簡単な気もしますが。
title boot on USB-Key fdimage find --set-root /fdimage.img map --mem /fdimage.img (fd0) map --hook chainloader (fd0)+1
Windows XP(2000)緊急起動ディスクやXP版MS-DOS起動ディスクなど、memdisk の raw オプションを指定する必要があるかも?
title boot on USB-Key fdimage (memdisk raw) find --set-root /memdisk kernel /memdisk raw initrd /winboot.img
- 0.4.2以降では Indirect mapping で
--memdisk-raw=1
なオプションも指定可能
title boot on USB-Key fdimage (Indirect map raw) find --set-root /floppy.img map --memdisk-raw=1 map --mem /floppy.img (fd0) map --hook chainloader (fd0)+1
- 0.4.2以降では Indirect mapping で
SYSLINUX からチェインロード
SYSLINUX から grub.exe をチェインロードできます。
この方法だと Windows上 で簡単に実行できます。SYSLINUXでマルチブートしてる場合とか楽かも。
※ BIOSの認識はHD扱い、FD扱い、どちらでもブート可能です。
- 0.4.2, 0.4.3 の grub.exe はちょと危険?
-
0.4.4 では問題なさそうです(今んとこ)。
バージョン 0.4.2 と 0.4.3 の grub.exe では ntldr などをチェインロードした際、Windows の起動が非常にスローになってしまうというトラブルが発生しました(※ チェインロードで起動した時のみ)。0.4.1 の grub.exe では、私の環境では問題は出ていませんが少し危険かもしれません。
- USBメモリのルートに grub.exe と menu.lst をコピー
- USBメモリへ SYSLINUX をインストール
- syslinux.cfg 作成
- syslinux.cfg の一例
DEFAULT grub
PROMPT 0
LABEL grub
LINUX /grub.exe
APPEND --config-file="configfile /menu.lst"
- SYSLINUX + memdisk + FDイメージ
-
これは安全な方法かもしれない(?)。但し、機種により 0.4.1 ではGRUBは起動しても全くブートできなかったり、Windowsの起動のみだめだったりしました。
- SYSLINUXの
syslinux.cfg
(※ルートにコピーした場合)
LABEL grub LINUX /memdisk APPEND initrd=/grub4dos.img
または(※ルートにコピーした場合)
LABEL grub LINUX /memdisk raw APPEND initrd=/grub4dos.img
FDイメージが仮想FDドライブとしてブートするのでWindowsではAドライブが一時的に使えないことがあります。
- SYSLINUXの
USBメモリのPBRへインストール
USBメモリがUSB HDとしてBIOSで認識されるなら普通にMBRへインストールでいいわけですが、FD扱いの場合はMBRがロードされない(?)ので起動できません。どちらの環境でも使えるようにPBR(ブートセクタ)にインストールしてみました。
※ GRUBをインストールするパーティションはアクティブ(bootフラグ付)に設定しておきます。Windows XP などと同様のシンプルな標準的(?)ブートストラップをMBRへ書き込みします。
- 64 MB SDメモリにて実行
- パーティション作成は、C/H/S無指定でfdisk実行 (2 heads, 60 sectors/track, 1009 cylinders)
- GRUBをインストールするパーティションはアクティブ(bootフラグ付)に設定
- MBRへは、SYSLINUX MBR(ブートストラップ)を書き込み
パーティション作成後は Windows XP 上で実行してます。間違うと怖いのでイメージファイルを操作します。
- DD for Windows - Tech Info
- chrysocome.net - dd for windows
- grubinst.exe (grubinst-1.1-bin-w32-xxx.zip)
- SYSLINUX (syslinux-x.xx.zip)
- DDforWindows でバックアップ
-
直接やると失敗が怖いので・・・まず、現状をファイルとしてバックアップしておき、そのコピーでイメージファイルを作成します。
- 同じディレクトリにファイルを準備(またはPATHを通す)
-
test.ddi
- バックアップファイルのコピー- SYSLINUXの
mbr.bin
grubinst.exe
dd.exe
- MBRのブートストラップ(NTシグネチャも)をクリア
dd if=/dev/zero of=test.ddi bs=446 count=1
※bs=446 に注意
- SYSLINUX MBRブートストラップ書き込み
dd if=mbr.bin of=test.ddi bs=440 count=1
- GRUB for DOS ブートコードをPBRに書き込み
grubinst.exe --pause --verbose --install-partition=0 test.ddi
※
partition=0
は1番目のパーティション(Linuxではbootlace.com
を使う) - USBメモリへ書き込む
-
test.ddi
を DDforWindows などでUSBメモリへ書き込むgrldr
,menu.lst
をUSBメモリへコピー
FDイメージの起動
HDやUSBメモリに保存したFDイメージのブートも可能でした。多少試行錯誤は必要かもですが。
Direct で可能でも Indirect でだめったりするかも。内蔵FDドライブがある場合もどうなるかな。
Direct mapping
直接マウントしてるのかな?イメージへの書き込み可能。変更も保存される。
title Boot from fdimage map (hd1,5)/pxeboot.img (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) map --floppies=1
※下から2行は付けない方がいい場合も。
Indirect mapping
オンメモリで動くのかな?仮想的に書き込みは可能だが変更は保存されない。mem
オプションを指定。
title Boot from floppy image map --mem (hd0,0)/floppy.img (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) map --floppies=1
※下から2行は付けない方がいい場合も。
- 2.88MBイメージ
title Boot from fdimage 2.88MB map --mem=-2880 (hd0,0)/floppy.img (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) map --floppies=1
XP版 MS-DOS イメージなどは、map --memdisk-raw=1
を指定すればいいらしい。
- 0.4.2以降では Indirect mapping で
--memdisk-raw=1
なオプションも指定可能
title Boot from fdimage (Indirect map raw) map --memdisk-raw=1 map --mem (hd0,0)/floppy.img (fd0) map --hook chainloader (fd0)+1
- syslinux の memdisk
-
syslinux の memdisk を使う方が簡単かも。
title Boot from memdisk fdimage kernel /memdisk initrd /floppy.img
2.88MBイメージもOK。XP版MS-DOSイメージなどは
kernel /memdisk raw
と指定。
CDイメージの起動
テスト段階だと思われますが、0.4.4(開発版)では、一部のisoイメージからのブートが可能でした。
【注意】OS起動後には見えなくなります。あくまでGRUB上でマウントするだけです。
- Windows PE 2.0
- True Image
- Paragon Drive Backup 9.0 Express
- Parted Magic
- Knoppix や Puppy Linux など kernel, initrd と別にルートイメージがあるものは基本的にはだめ、kernel ロード後のisoマウントに対応していれば可能
Indirect Mapping の場合は、一旦メモリ(RAM)にロードされる為、isoサイズ + 起動に必要なサイズのRAMが必要になるかと。読み込み時間はかなりかかりますがその後の起動はオンメモリだとかなり速いです...
isoを深い階層に保存しているとマウントできないことがありますね。また、ファイルが断片化しているとエラーが出ることもある模様です。
- Indirect mapping(オンメモリ)
map --mem /bootcd.iso (hd32) map --hook chainloader (hd32) boot
- RAM が少ない場合は、Direct mapping を試してみる
map /bootcd.iso (hd32) map --hook chainloader (hd32) boot
(hd32
)で駄目な場合、(0xFF
),(0xA0
)も試してみる
- isoファイルが断片化していると Direct Mapping に失敗する
-
みたいです。
下記ソフトでファイルの断片化チェック、及びファイル単体のデフラグできますんで確認してみませう。
※ USBメモリで空き領域が少ない場合などはデフラグができなかったりします。その際は、一旦すべてHDへコピー&すべて削除後に、一括コピーすると断片化解消できますん。
- 【追記】こっちが推奨かな?
-
Direct でエラーになったらメモリに一旦全部読み込むわけですね。
title Windows PE (from /WinPEx86.iso) find --set-root /WinPEx86.iso map /WinPEx86.iso (0xff) || map --mem /WinPEx86.iso (0xff) map --hook chainloader (0xff)
※確かに、HD上のisoファイルなら Direct の方がかなり速いかも。
逆にCDやUSBメモリ上では Direct で成功しても激遅だったり、Indirect の方が早くて安定してること“も”あるので悩みどこかも。
一部の iso (Clonezilla Live や Parted Magic など)では、
--heads=0 --sectors-per-track=0
の指定が必要なことがありますな。その場合はこんなかんじ。title Linux Live == Parted Magic 5.9 (from /pmagic-5.9.iso) find --set-root /pmagic-5.9.iso map <strong class="ms red">--heads=0 --sectors-per-track=0</strong> /pmagic-5.9.iso (hd32) map --hook chainloader (hd32) rootnoverify (hd32)
- 参考:
- Boot Multiple ISO from USB (MultiBoot USB) | USB Pen Drive Linux
- grub4dos, .iso images and (hd32) or (0xFF) mapping(※ Boot Land フォーラム - あやしい広告が多いので注意)
- めちゃわかりやすい解説ページ:
- 拙作めも : isoイメージをマルチブートするの巻【その1】準備編
※ 下記サンプルはisoイメージをドライブ(パーティション)のルートに保存した場合です。
オプションなしでisoからブート
Windows PE やサイズの小さな Linux LiveCD など。
- Windows PE / RE
title Windows PE (from /WinPEx86.iso) find --set-root /WinPEx86.iso map /WinPEx86.iso (0xff) || map --mem /WinPEx86.iso (0xff) map --hook chainloader (0xff)
- PXEネットワークブートの場合
title Windows PE (from (Server)/WinPEx86.iso) pxe keep pxe basedir / map --mem (pd)/WinPEx86.iso (0xff) map --hook chainloader (0xff)
- Paragon Backup & Recovery
-
※ Normal Mode のみ
title Paragon Drive Backup (from /bootcd.iso) find --set-root /bootcd.iso map /bootcd.iso (0xff) || map --mem /bootcd.iso (0xff) map --hook # chainloader (0xff) root (0xff) kernel /VMLINUZP vga=0x314 language=en_US.UTF-8 medialable= initrd /INITRD.GZ
- PXEネットワークブートの場合
title Paragon Drive Backup (from (Server)/bootcd.iso) pxe keep pxe basedir / map --mem (pd)/bootcd.iso (0xff) map --hook chainloader (0xff)
- True Image (WD Edition)
-
title AcronisMedia.iso (from /AcronisMedia.iso) find --set-root /AcronisMedia.iso map /AcronisMedia.iso (0xff) || map --mem /AcronisMedia.iso (0xff) map --hook chainloader (0xff)
- PXEネットワークブートの場合
title AcronisMedia.iso (from (Server)/AcronisMedia.iso) pxe keep pxe basedir / map --mem (pd)/AcronisMedia.iso (0xff) map --hook chainloader (0xff)
- Partition Wizard Home Edition
-
※ 「Bootable CD」版の方です。
title Partition Wizard Home Edition (from pwhe7.iso) find --set-root /pwhe7.iso map /pwhe7.iso (0xff) || map --mem /pwhe7.iso (0xff) map --hook chainloader (0xff)
- PXEネットワークブートの場合
title Partition Wizard Home Edition (from (Server)/pwhe6.iso) pxe keep pxe basedir / map --mem (pd)/pwhe7.iso (0xff) map --hook chainloader (0xff)
- AVG Rescue CD
-
ファイル名は avg.iso にリネーム(※ クライアント側のRAMは要512MB以上)
title AVG Rescue CD (from /avg.iso) find --set-root /avg.iso map /avg.iso (0xff) || map --mem /avg.iso (0xff) map --hook chainloader (0xff)
- PXEネットワークブートの場合
title AVG Rescue CD (from (Server)/avg.iso) pxe keep pxe basedir / map --mem (pd)/avg.iso (0xff) map --hook chainloader (0xff)
オプションでisoをマウント
サイズの大きな Linux LiveCD などではオプション指定でisoをマウントできるものが多いです。
- KNOPPIX 6.7.1 CD 産総研版
-
- KNOPPIX Japanese edition
- Index of /pub/linux/knoppix/iso (
knoppix_v6.7.1CD_20110914-20111018.iso
)
- Index of /pub/linux/knoppix/iso (
- オプション :
bootfrom=/filename.iso
title KNOPPIX 6.7.1CD Sansouken == knoppix_v6.7.1CD_20110914-20111018.iso find --set-root /knoppix_v6.7.1CD_20110914-20111018.iso map /knoppix_v6.7.1CD_20110914-20111018.iso (0xff) map --hook root (0xff) kernel /boot/isolinux/linux ramdisk_size=100000 lang=ja vt.default_utf8=0 apm=power-off nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo bootfrom=/knoppix_v6.7.1CD_20110914-20111018.iso initrd /boot/isolinux/minirt.gz
- KNOPPIX Japanese edition
- Ubuntu 11.10
-
- Home | Ubuntu Japanese Team
- Ubuntu Desktop 日本語 Remix CDのダウンロード | Ubuntu Japanese Team (
ubuntu-ja-11.10-desktop-i386.iso
)
- Ubuntu Desktop 日本語 Remix CDのダウンロード | Ubuntu Japanese Team (
- オプション :
iso-scan/filename=/filename.iso
title Linux Live == ubuntu-ja-11.10-desktop-i386.iso (from iso) find --set-root /ubuntu-ja-11.10-desktop-i386.iso map --heads=0 --sectors-per-track=0 /ubuntu-ja-11.10-desktop-i386.iso map --hook root (0xff) kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash -- debian-installer/language=ja keyboard-configuration/layoutcode?=jp keyboard-configuration/modelcode?=jp106 iso-scan/filename=/ubuntu-ja-11.10-desktop-i386.iso initrd /casper/initrd.lz
isoのあるパーティションは
/isodevice
にマウントされる。 - Home | Ubuntu Japanese Team
- Ubuntu 10.04
-
- Home | Ubuntu Japanese Team
- Ubuntu Desktop 日本語 Remix CDのダウンロード | Ubuntu Japanese Team (
ubuntu-ja-10.04-desktop-i386.iso
)
- Ubuntu Desktop 日本語 Remix CDのダウンロード | Ubuntu Japanese Team (
- オプション :
iso-scan/filename=/filename.iso
title Linux Live == ubuntu-ja-10.04-desktop-i386.iso (from iso) find --set-root /ubuntu-ja-10.04-desktop-i386.iso map /ubuntu-ja-10.04-desktop-i386.iso (0xff) map --hook root (0xff) kernel /casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-ja-10.04-desktop-i386.iso file=/cdrom/preseed/ubuntu.seed quiet splash locale=ja_JP console-setup/layoutcode=jp console-setup/modelcode=jp106 maybe-ubiquity initrd /casper/initrd.lz
isoのあるパーティションは
/isodevice
にマウントされる。 - Home | Ubuntu Japanese Team
- LinuxMint-8-jp.iso
-
- Main Page - Linux Mint
- Index of /Linux/simosnet-livecd/mint (
LinuxMint-8-jp.iso
)(※「ライブCDの部屋」さん版)
- Index of /Linux/simosnet-livecd/mint (
- オプション : (Ubuntu と同じ)
iso-scan/filename=/filename.iso
title Linux Live == LinuxMint-8-jp.iso (from iso) find --set-root /LinuxMint-8-jp.iso map /LinuxMint-8-jp.iso (0xff) map --hook root (0xff) kernel /casper/vmlinuz boot=casper file=/cdrom/preseed/mint.seed quiet splash locale=ja_JP console-setup/layoutcode=jp console-setup/modelcode=jp106 iso-scan/filename=/LinuxMint-8-jp.iso initrd /casper/initrd.lz
isoのあるパーティションは
/isodevice
にマウントされる。 - Main Page - Linux Mint
- Clonezilla Live (1.2.3-27)
-
- Clonezilla
- Browse Clonezilla Files on SourceForge.net (
clonezilla-live-1.2.3-27.iso
)
- Browse Clonezilla Files on SourceForge.net (
- オプション : (Debian Live 共通)
findiso=/filename.iso
※ バージョンによって微妙にパラメータが違うので注意。
title Linux Live == clonezilla-live-1.2.3-27.iso (from iso) find --set-root /clonezilla-live-1.2.3-27.iso map --heads=0 --sectors-per-track=0 /clonezilla-live-1.2.3-27.iso (0xff) map --hook root (0xff) kernel /live/vmlinuz boot=live union=aufs noswap nolocales noprompt ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="ja_JP.UTF-8" vga=791 ip=frommedia toram=filesystem.squashfs findiso=/clonezilla-live-1.2.3-27.iso initrd /live/initrd.img
※ map コマンドでエラーが出るとこれで指定している
--heads=0 --sectors-per-track=0
を指定せよ!なんてメッセージが出ることありますね。 - Clonezilla
- SystemRescueCd
-
- SystemRescueCd
- Browse SystemRescueCd Files on SourceForge.net (
systemrescuecd-x86-1.5.0.iso
) - Sysresccd-manual-en Easy install SystemRescueCd on harddisk - SystemRescueCd
- Browse SystemRescueCd Files on SourceForge.net (
- オプション :
isoloop=filename.iso
title Linux Live == systemrescuecd-x86-1.5.0.iso (from iso) find --set-root /systemrescuecd-x86-1.5.0.iso map /systemrescuecd-x86-1.5.0.iso (0xff) || map --mem /systemrescuecd-x86-1.5.0.iso (0xff) map --hook root (0xff) kernel /ISOLINUX/RESCUECD scandelay=5 setkmap=jp dodhcp isoloop=systemrescuecd-x86-1.5.0.iso docache initrd /ISOLINUX/INITRAM.IGZ
isoイメージはRAM上の
/livemnt/boot
にマウント※ RAM 400MB 未満の場合はdocacheを外す。isoのあるパーティションは、
/livemnt/isostore
にマウント、アンマウント不可、日本語ファイル名は見えない。docache オプションは効かない? - SystemRescueCd
- Parted Magic 5.9
-
- News - Parted Magic
- Downloads (
pmagic-5.9.iso
)
- Downloads (
※ バージョンによって微妙にパラメータが違うので注意。
/
に置けばオプション不要title Linux Live == Parted Magic 5.9 (from /pmagic-5.9.iso) find --set-root /pmagic-5.9.iso map --heads=0 --sectors-per-track=0 /pmagic-5.9.iso (hd32) map --hook chainloader (hd32) rootnoverify (hd32)
※ サブディレクトリに置く場合は
/pmagic
,/images
に置けばオプション不要。それ以外はiso_filename=/iso/pmagic-5.9.iso
などとパラメータ追加が必要。- オプション :
iso_filename=/hoge/filename.iso
title Linux Live == Parted Magic 5.9 (from /syslinux_multi/pmagic-5.9.iso) find --set-root /syslinux_multi/pmagic-5.9.iso map --heads=0 --sectors-per-track=0 /syslinux_multi/pmagic-5.9.iso (hd32) map --hook root (hd32) kernel /pmagic/bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=788 loglevel=0 max_loop=256 vmalloc=256MiB keymap=us ja_JP iso_filename=/syslinux_multi/pmagic-5.9.iso initrd /pmagic/initramfs
※ バージョン 5.5 以降では
--heads=0 --sectors-per-track=0
の指定が必須となったみたいです。- PXEネットワークブートの場合 (※ 5.8 以降)
※ Syslinuxの memdisk を使います。
title Linux Live == Parted Magic 5.9 (from (Server)/pmagic-5.9.iso) pxe keep pxe basedir / kernel (pd)/syslinux/memdisk iso vmalloc=256M initrd (pd)/pmagic-5.9.iso
- News - Parted Magic
- CDlinux
-
- about [CDlinux]
- オプション :
CDL_DIR=hoge CDL_IMG=filename.iso
※ バージョン 0.9.3 Standard の例。syslinux_multi ディレクトリに保存した場合。
title Linux Live == CDlinux-0.9.3 Standard (from /syslinux_multi/*.iso) find --set-root /syslinux_multi/CDlinux-0.9.3.iso map --mem /syslinux_multi/CDlinux-0.9.3.iso (hd32) map --hook map --status kernel (hd32)/CDlinux/bzImage quiet CDL_LANG=ja_JP.UTF-8 CDL_DIR=syslinux_multi CDL_IMG=CDlinux-0.9.3.iso initrd (hd32)/CDlinux/initrd map --unhook boot
※ boot/CDlinux, CDlinux ディレクトリなら
CDL_DIR
オプションは不要。Community版のオンメモリブートは要RAM 1GB以上? - slax 6.1.2-2 日本語版
-
- slax-ja - PukiWiki
- slax-ja/download - PukiWiki (
slax-ja-6.1.2-2.iso
)
- slax-ja/download - PukiWiki (
- オプション :
from=filename.iso
title SLAX 6 == /slax-ja-6.1.2-2.iso find --set-root /slax-ja-6.1.2-2.iso map /slax-ja-6.1.2-2.iso (0xff) || map --mem /slax-ja-6.1.2-2.iso (0xff) map --hook root (0xff) kernel /boot/vmlinuz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4 changes=/slax/ locale=ja_JP.UTF-8 iocharset=utf8 codepage=932 from=slax-ja-6.1.2-2.iso initrd /boot/initrd.gz
- slax-ja - PukiWiki
HDイメージの起動
※HDではなく、パーティションを切ってあるフラッシュメモリのイメージで試してみました。Windowsでは、DDforWindows や dd for windows で(USB)フラッシュメモリのイメージ作成が可能です。
FreeDOSイメージでブート確認しました。kernel,initrd とは別にルートイメージがあるLinuxイメージなどは、GRUB上ではマウントできますが、kernelロード後にリセットされてしまう様なのでだめです。
find --set-root /hdimage.ddi map --mem /hdimage.ddi (hd0) map (hd0) (hd1) map --hook chainloader (hd0)+1 rootnoverify (hd0)
HDイメージが1台目の‘仮想’HDとしてブートします。 --mem
(オンメモリ)オプションは容量に応じて付けませう。
(PXE)ネットワークブート
0.4.3以降では、tftpサーバからgrldrを直接指定してネットワークブートが可能になっているようです。但し、私のやり方が拙いのか、PXELINUX に比べるといまいちな感じありです。
- dhcp サーバの boot file に grldr を指定
- tftp ディレクトリ内に設定ファイル、
menu.lst/default
を作成
私の環境では、以下のコマンド実行でサーバ上のファイルのロードが可能になりました。(※0.4.4 では実行不要でした。)
pxe keep pxe blksize 512 configfile (pd)/menu.lst/default
サーバ上のファイルを指定するには、デバイス名 (pd)
を指定する。
pxelinux.0 と比較しての利点は、サーバ上の2つのFDイメージをマウント、HDイメージ(USBメモリ等でも)のロード(マウント)が可能なところかな。但し、indirect map(オンメモリ)のみ、またHDイメージについてはDOSイメージはOKでしたが、isolinux イメージなどは kernel, initrd はロードされるがルートイメージはマウントできませんでした。
PXELINUX からチェインロード
- GRUB for DOS (
grub4dos-0.4.4.zip
) をダウンロード- Browse GRUB4DOS and WINGRUB Files on SourceForge.net
- 必要ファイル :
grub.exe
- SYSLINUX (
syslinux-x.xx.zip
) をダウンロード- Index of /pub/linux/kernel.org/utils/boot/syslinux
- 必要ファイル :
\core\pxelinux.0
- ファイル構成
TFTPルート
| grub.exe
| menu.lst
| pxelinux.0
|
\---pxelinux.cfg ディレクトリ
default
- 設定ファイル : pxelinux.cfg/default
DEFAULT grub4dos PROMPT 0 LABEL grub4dos KERNEL /grub.exe APPEND keeppxe --config-file="pxe basedir /;configfile (pd)/menu.lst"
- Windows用 DHCP/TFTPサーバ (TFTPD32)
-
tftpd32 standard edition (zip)
をダウンロード- TFTP server
- 必要ファイル :
tftpd32.chm
,tftpd32.exe
,tftpd32.ini
- ファイル構成
TFTPルート | grub.exe | menu.lst | pxelinux.0 | tftpd32.chm | tftpd32.exe | tftpd32.ini | \---pxelinux.cfg ディレクトリ default
設定は下記を参考に。
参考リンク
- GRUB - Wikipedia
- GNU GRUB Manual 0.97
- FrontPage - GRUB Wiki
- GNU GRUB - GRUB Legacy FAQ
- GRUBの使い方入門 - SourceForge.JP Magazine
ほなね