話說,東漢末年,群雄并起,天下紛争。于是乎,産生了各種各樣的引導方式。
linux下的引導方式就比較多了,從早期的lilo、grub到grub2、burg等等,以及Livecd的isolinux,及習慣了的syslinux。mac os x(x86),可以有darwin、chameleon等等。win上面的話就是bootmgr及ntldr了。
先從win上的引導方式說起,win上就是群雄逐鹿的地方了,當然這隻是表面的,實際情況是Microsoft占領了主要市場進而使得各個系統的引導方式不得不寄生與win,因而win上幾乎可以引導多數的作業系統。win的黑白引導管理除了難看還是難看,bootmgr的話,就是多數作業系統寄生之地了。首先先從古老的grub說起,從xp時代開始裝GNU/Linux系統說起,早期的GNU/Linux就是從GRLDR引導開始的。反正我記憶裡是那樣的,DOS時代我就不是很了解了。雖然是那個時代走過來的人,但是印象不是很深。DOS我記得的指令基本上沒有了,軟體倒是有幾個——LOGO、UCDOS。國小嘛,學的東西就隻有這些了,原歸正轉。說說早期用GRLDR引導GNU/Linux的經曆了。
依托于魏國的劉備軍
因為之前對這個不是很了解,有點片面吧。而且初學的時候,裝的系統是GHOST版的,是那種自帶有GRLDR和menu.lst的版本的。
于是我們先要改的就是boot.ini檔案了,XP上可以依托的地方了。
[boot loader]
timeout=1
default=C:\grldr
[operating systems]
C:\grldr=Ubuntu 10.04
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP " /noexecute=optin /fastdetect
早期裝的是紅旗Linux,是以就……。因為那時間UBUNTU好像中文支援還不算很好,不過紅旗感覺算是還行。至少在虛拟機安裝是如此的,也實踐起來差不多是一樣的。然後再修改一下menu.lst就差不多了。解壓到一個目錄應該就差不多了,印象不是很深了。反正,後來有了錢就買了個U盤。是以,對于這個方法就基本上沒再經曆過了。
title Ubuntu
kernel(hd0,0)/vmlinuz
initrd(hd0,0)/initrd.img
這個差不多是這樣沒錯的。至于menu.lst再回XP上就是這樣的
title [06] 啟動Windows 2000/XP/2003
find --set-root /ntldr
chainloader /ntldr
title [07] 啟動Windows Vista/2008/Win7
find --set-root /bootmgr
chainloader /bootmgr
這個是從我的U盤上截取下來的片斷,也就是傳回引導的方法,WIN7上也是一樣的。
然後,随後就是用CD光牒安裝Ubuntu了,早期的時候Ubuntu還會從國内寄過來CD光牒,因為我還不是裡面的開發者。然後送了幾次,也收了幾次CD光牒,反正是免費的嘛。不過,感覺就是爽多了。Ubuntu Linux用的是isolinux就那個時候吧,不過CD光牒安裝就是比較簡單,不過,已經沒那個功夫玩那個了。反正,蜀國也就這點能耐,有着很多的技術,但是打不赢天下的。不過,那個是用于CD光牒的,至于U盤的話,用的是syslinux,我很滿意的一種方法,很環保,很安全。因為習慣用Puppy Linux了,是以也就沒有領悟上syslinux是怎麼安裝的,不過總的來說是ldlinux.sys+syslinux.cfg。
syslinux算是比較自由和開放的,可以使用PNG格式的圖檔,這個比grub2dos好多了,
早期的話,我記得這個就相對比較麻煩了,得使用16位的圖檔好像,顯示的品質相對是相當的糟糕。
splashimage=(hd0,*)/grub/mm.xpm.gz
後期的話grub可以怎麼做。
gfxmenu /BOOT/message
不過感覺沒有多大差別,不如syslinux爽。
MENU BACKGROUND /boot/slax.png
多幹淨多利落啊。
一個syslinux的示例:
PROMPT 0
TIMEOUT 90
DEFAULT /boot/vesamenu.c32
MENU BACKGROUND /boot/slax.png
MENU TITLE
MENU WIDTH 22
MENU MARGIN 1
MENU ROWS 20
MENU HELPMSGROW 23
MENU TIMEOUTROW 24
MENU TABMSGROW 24
MENU CMDLINEROW 1
MENU HSHIFT 18
MENU VSHIFT 2
MENU AUTOBOOT
MENU color border 10;10 #00000000 #00000000 none
MENU color title 1;36;44 #FFFFFFFF #00000000 none
MENU color sel 30;37 #FF00FF00 #00000000 none
MENU color unsel 37;44 #FFFFFFFF #00000000 none
MENU color help 37;40 #FFFFFFFF #00000000 none
MENU color cmdline 37;40 #FFFF0000 #00000000 none
MENU color msg07 37;40 #FFFFFF00 #00000000 none
MENU color timeout 37;40 #FFFF0000 #00000000 none
MENU color timeout_msg 37;40 #FFFFFF00 #00000000 none
MENU color hotkey 1;37;44 #ffffff00 #00000000 none
MENU color hotsel 1;7;37;40 #FF00FF00 #00000000 none
MENU LABEL [^P] Puppy Linux
MENU DEFAULT
kernel /puppy/VMLINUZ
initrd /puppy/INITRD.LZ
MENU LABEL [^G] GRUB
kernel /BOOT/GRLDR.BIN
因為是來自于slax的是以,基本上也就沒改多少了。第一個是啟動puppy Linux的,按P可以直接選擇這個,G也一樣是選擇GRLDR的多幹淨利落。也就是syslinux令人愉快的地方了。而且同grub一樣可以設定下一個目錄。
LABEL Phodal
MENU LABEL [^p] Phodal
config /BOOT/phodal.CFG
img檔案的使用方法:
LABEL ghost
MENU LABEL [^1] Ghost
kernel /BOOT/SYSLINUX/MEMDISK
append initrd=/BOOT/IMGS/GHOST.IMG
這也是我後來覺得很爽的syslinux了,不過這個還是沒有比得上後來的 burg.
讓我們看看burg的啟動示例。
menuentry " Linux Mint 12" --class linuxmint {
insmod ntfs
search --set -f /linuxmint-12-gnome-dvd-32bit.iso
loopback loop ($root)/linuxmint-12-gnome-dvd-32bit.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linuxmint-12-gnome-dvd-32bit.iso locale=zh_CN.UTF-8 noprompt noeject splash
initrd (loop)/casper/initrd.lz
}
不過這個是比較麻煩了啦,沒有那個syslinux來得簡單和利落。
menuentry "Windows" --class windows {
if search -s -f /bootmgr ; then
ntldr /bootmgr
else
search -s -f /ntldr
ntldr /ntldr
fi
}
這是來自選windows的,不過,整體上burg.cfg算是比較難配置的,不過要是使用linux習慣了也行了。
set theme_name=ubuntu
set gfxmode=800x600
if [ -s $prefix/burgenv ]; then
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
set saved_entry=${prev_saved_entry}
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z ${boot_once} ]; then
saved_entry=${chosen}
save_env saved_entry
fi
}
function select_menu {
if menu_popup -t template_popup theme_menu ; then
free_config template_popup template_subitem menu class screen
load_config ${prefix}/themes/${theme_name}/theme ${prefix}/themes/custom/theme_${theme_name}
save_env theme_name
menu_refresh
fi
}
function toggle_fold {
if test -z $theme_fold ; then
set theme_fold=1
else
set theme_fold=
fi
save_env theme_fold
menu_refresh
}
function select_resolution {
if menu_popup -t template_popup resolution_menu ; then
menu_reload_mode
save_env gfxmode
fi
}
不過加載子產品什麼的也比較自由了,而且可以啟動吳國了,是以呢。Mac很犀利,不過,好像沒有配置檔案的,因為裝的是黑蘋果,是以原先的那個什麼什麼也就用不了。可是呢,是用變色龍安裝到U盤上的。就沒有解決這個問題了。