grub4dos 開機引導程式, 對於由 live linux 製作成的相關 ISO 檔通常無法直接引用, 常會出現 unload module index 的情況, 主因在於找不到 /live 目錄下相關的檔案, 介紹兩種處理方式
► 其他方式 (下方式雖可直接可動, 但會跳過內設選單)
至於 grub4dos 作工具可 參考
► 僅有單一 live liunx 工具
直接將 iso 檔內的 live 目錄整個複製到 usb 的根目錄下即可, 但前提是製作的 usb 內僅有一項 live linux 製作成的軟體, 沒有其他的, 因為若有同樣也需要複製, 這樣就會重疊了. 此情況可需下一種方式處理.
► 多個不同 live liunx 工具
1. 首先 一樣將 iso 檔內的 live 目錄整個複製到 usb 的某資料夾內下(如 \img\gparted), 則完整路徑就成 \img\gparted\live
2. 取出 iso 內 \ioslinux\isolinux.cfg 檔. 這是 live linux 的開機選單, 需要編輯內容如下
2. 取出 iso 內 \ioslinux\isolinux.cfg 檔. 這是 live linux 的開機選單, 需要編輯內容如下
凡是
append initrd=/live/initrd.img boot=live user....
後面均加上
ignore_uuid live-media-path=/img/gparted/live (此地方就是我們live實際放置目錄)
3. 接著使用 ISO 編輯工具(如 UltraISO), 替換調原 isolinux.cfg 檔, 並可刪除 \live\filesystem*.* 的檔案, 然後另存iso檔.
► menu.lst 設定 (兩者皆可)
簡易設定
title gparted-live-0.16.2-11-i486.iso\n gparted-live-0.16.2-11-i486.iso
find --set-root /img/gparted.iso
map /img/gparted.iso (hd32)
map --hook
chainloader (hd32)
find --set-root /img/gparted.iso
map /img/gparted.iso (hd32)
map --hook
chainloader (hd32)
詳細設定
title gparted-live-0.16.2-11-i486.iso\n gparted-live-0.16.2-11-i486.iso
ls /img/gparted.iso || find --set-root /img/gparted.iso
map --heads=0 --sectors-per-track=0 /img/gparted.iso (0xff) || map --heads=0 --sectors-per-track=0 --mem /img/gparted.iso (0xff)
map --hook
chainloader (0xff)
ls /img/gparted.iso || find --set-root /img/gparted.iso
map --heads=0 --sectors-per-track=0 /img/gparted.iso (0xff) || map --heads=0 --sectors-per-track=0 --mem /img/gparted.iso (0xff)
map --hook
chainloader (0xff)
► 其他方式 (下方式雖可直接可動, 但會跳過內設選單)
1. 解開 ISO 放到目錄下(如 /img/gparted)
title GParted
find --set-root /img/gparted/live/vmlinuz
kernel /img/gparted/live/vmlinuz boot=live username=user config quiet noswap ip=frommedia nosplash ignore_uuid live-media-path=/img/gparted/live
initrd /img/gparted/live/initrd.img
find --set-root /img/gparted/live/vmlinuz
kernel /img/gparted/live/vmlinuz boot=live username=user config quiet noswap ip=frommedia nosplash ignore_uuid live-media-path=/img/gparted/live
initrd /img/gparted/live/initrd.img
2. 直接驅動 iso
Clonezilla-live
title clonezilla-live
ls /iso || find --set-root /iso
map /iso/clonezilla.iso (0xff) || map --mem /iso/clonezilla.iso (0xff)
map --hook
root (0xff)
kernel /live/vmlinuz boot=live config union=aufs noswap noprompt vga=788 ip=frommedia findiso=/iso/clonezilla.iso toram=filesystem.squashfs username=user quiet edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_batch=no nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=no
initrd /live/initrd.img
ls /iso || find --set-root /iso
map /iso/clonezilla.iso (0xff) || map --mem /iso/clonezilla.iso (0xff)
map --hook
root (0xff)
kernel /live/vmlinuz boot=live config union=aufs noswap noprompt vga=788 ip=frommedia findiso=/iso/clonezilla.iso toram=filesystem.squashfs username=user quiet edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_batch=no nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=no
initrd /live/initrd.img
GParted (兩種設法都可)
►title Start GParted
ls /iso || find --set-root /iso
map /iso/gparted.iso (0xff) || map --mem /iso/gparted.iso (0xff)
map --hook
root (0xff)
kernel /live/vmlinuz boot=live config union=aufs noswap noprompt vga=788 ip=frommedia findiso=/iso/gparted.iso toram=filesystem.squashfs
initrd /live/initrd.img
ls /iso || find --set-root /iso
map /iso/gparted.iso (0xff) || map --mem /iso/gparted.iso (0xff)
map --hook
root (0xff)
kernel /live/vmlinuz boot=live config union=aufs noswap noprompt vga=788 ip=frommedia findiso=/iso/gparted.iso toram=filesystem.squashfs
initrd /live/initrd.img
►title Start GParted
set ISO=/img/gparted.iso
ls %ISO% > nul || find --set-root --devices=hf %ISO%
map %ISO% (0xff) || map --mem %ISO% (0xff) || map --mem --heads=0 --sectors-per-track=0 %ISO% (0xff)
map --hook
root (0xff)
kernel /live/vmlinuz findiso=%ISO% boot=live username=user config quiet noswap edd=on nomodeset live-media=removable noprompt nosplash nox11autologin
initrd /live/initrd.img
root (bd)
set ISO=/img/gparted.iso
ls %ISO% > nul || find --set-root --devices=hf %ISO%
map %ISO% (0xff) || map --mem %ISO% (0xff) || map --mem --heads=0 --sectors-per-track=0 %ISO% (0xff)
map --hook
root (0xff)
kernel /live/vmlinuz findiso=%ISO% boot=live username=user config quiet noswap edd=on nomodeset live-media=removable noprompt nosplash nox11autologin
initrd /live/initrd.img
root (bd)
Ubuntu live
title ubuntu-desktop
find --set-root --ignore-floppies /ubuntu/ubuntu-1204.iso
kernel /ubuntu/1204/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper iso-scan/filename=/ubuntu/ubuntu-1204.iso debian-installer/locale=zh_TW quiet splash
initrd /ubuntu/1204/initrd.lz
另外要從iso檔案中將 initrd.lz(initrd.gz)及vmlinuz 複製到 /ubuntu/1204 目錄內
find --set-root --ignore-floppies /ubuntu/ubuntu-1204.iso
kernel /ubuntu/1204/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper iso-scan/filename=/ubuntu/ubuntu-1204.iso debian-installer/locale=zh_TW quiet splash
initrd /ubuntu/1204/initrd.lz
另外要從iso檔案中將 initrd.lz(initrd.gz)及vmlinuz 複製到 /ubuntu/1204 目錄內
Windows PE
title NoName XPE Live CD Lite
find --set-root /xp/NoNXPE.ISO
map /xp/NoNXPE.ISO (hd32) map --hook root (hd32) chainloader (hd32) rootnoverify (hd32)
boot
find --set-root /xp/NoNXPE.ISO
map /xp/NoNXPE.ISO (hd32) map --hook root (hd32) chainloader (hd32) rootnoverify (hd32)
boot
至於 grub4dos 作工具可 參考