天天看點

瘋狂的啟動方式——Linux、Windows、Mac OS的那些安裝經曆

話說,東漢末年,群雄并起,天下紛争。于是乎,産生了各種各樣的引導方式。

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盤上的。就沒有解決這個問題了。

瘋狂的啟動方式——Linux、Windows、Mac OS的那些安裝經曆

繼續閱讀