原理:只要設(shè)法將 內(nèi)核 和 initrd 加載到內(nèi)存,就會(huì)自動(dòng)搜索根分區(qū)并啟動(dòng)系統(tǒng)。
方法1:需裝有 XP/2000/2003 。將 menu.lst 和 根分區(qū)中的boot文件夾 復(fù)制到主機(jī)硬盤某 FAT32 分區(qū)。將 grldr 復(fù)制到 C 盤;調(diào)整“文件夾選項(xiàng)”使顯示 系統(tǒng)文件 和 隱藏文件,應(yīng)看到 C 盤有個(gè) boot.ini 文件,修改其屬性,去掉“只讀”;打開它,添一句 c:\grldr = GRUB4DOS ,可酌情修改 timeout ,示例如下:
[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" /noexecute=optin /fastdetect
c:\grldr = GRUB4DOS
保存后重啟,選擇 GRUB4DOS 即可。
方法2:做一張啟動(dòng)光盤,把 內(nèi)核 和 initrd文件 刻進(jìn)去,從光驅(qū)啟動(dòng)。原理類似,不再贅述。
相關(guān)鏈接
最初的做法: http://forum./viewtopic.php?t=25089&highlight=
移動(dòng)硬盤啟動(dòng) ubuntu live cd: http://forum./viewtopic.php?t=41781&highlight=
GRUB4DOS 的 WIKI: http://grub4dos./wiki/index.php/Main_Page
GRUB4DOS 相關(guān)討論: http://bbs./forumdisplay.php?fid=4
用我的方法,完全可以從usb硬盤啟動(dòng),
只要安裝一個(gè)grub ,再設(shè)置一下menu.lst 文件就行了,
http://forum./viewtopic.php?t=26167&highlight=
這樣移動(dòng)硬盤就只要2G就行了,
一個(gè)光盤+交換分區(qū)文件共1G,
其余1G用來保存數(shù)據(jù),
樓主沒有必要制作兩個(gè)initrd文件,可用一個(gè)文件測試是不是第一次啟動(dòng)
把run_scripts /scripts/casper-premount 改為
代碼: |
if [ ! -e $rootmnt/etc/fist ]; then touch $rootmnt/etc/fist run_scripts /scripts/casper-premount fi
if [ -e $rootmnt/etc/fist ]; then run_scripts /scripts/poasfpoa fi
|
原貼:
http://forum./viewtopic.php?t=25089
06.11.26修改:“為移動(dòng)硬盤安裝GRUB”一步建議換用GRUB FOR DOS。
GRUB FOR DOS簡介
GRUB4DOS是國內(nèi)一位叫“不點(diǎn)”的大俠開發(fā)的,基于GNU GRUB,并對(duì)其做了改進(jìn)和擴(kuò)展,比GNU GRUB更穩(wěn)定,功能更強(qiáng),所以fans眾多(包括我啦),也有國際友人將其介紹到國外,正應(yīng)了國家大力倡導(dǎo)的“走出去”戰(zhàn)略,勢頭大好。開發(fā)者不點(diǎn)(英文名tinybit),水平頗高且極有個(gè)性,據(jù)說至今不用手機(jī),沒有QQ,有郵箱但很少看,在網(wǎng)上從不顯露真實(shí)資料,所以很難找到 :)
GRUB4DOS最初的意圖是作一個(gè)可以在DOS下使用的grub,這一點(diǎn)從它的名字就可看出來。隨著開發(fā)的不斷深入,其功能越來越強(qiáng),適用范圍越來越廣,以至于有人稱之為GRUB FOR ALL。DOS(linux)用戶可以通過執(zhí)行它的grub.exe(grub)文件進(jìn)入grub環(huán)境;windows 2000/XP用戶則可使用grldr,只要簡單的幾個(gè)步驟,就能通過windows的啟動(dòng)菜單進(jìn)入到GRUB環(huán)境,極其方便,網(wǎng)上廣為流傳的矮人dos工具箱、MAXDOS等軟件都是基于grldr。它還擁有強(qiáng)大的磁盤仿真功能。
而作為linux使用者,我最關(guān)心最喜歡也最看好的,則是bootlace和grldr的組合。因?yàn)椋?
1、它們在一起構(gòu)成了獨(dú)立的、完整的多引導(dǎo)管理器
grub.exe和grub分別需要借助DOS和LINUX才能進(jìn)入grub環(huán)境,而grldr單獨(dú)使用時(shí)也需ntldr的引導(dǎo),它們都不是獨(dú)立的。有了bootlace.com就不同了。這是個(gè)兩棲文件,可以在DOS或linux下執(zhí)行,內(nèi)含grldr.mbr引導(dǎo)代碼,并可將其寫入硬盤mbr。此引導(dǎo)代碼有識(shí)別FAT/EXT文件系統(tǒng)的能力,被執(zhí)行后將check所有的硬盤、所有的分區(qū)(不管是主盤還是從盤,不管是主分區(qū)還是邏輯分區(qū),不管是隱藏的還是活動(dòng)的),只要其文件系統(tǒng)是FAT12/FAT16/FAT32/EXT2/EXT3中的一種,就能識(shí)別出來,然后查找其根目錄是否存在grldr文件,若存在便加載到內(nèi)存。
grldr與GNU GRUB的stage2功能類似,它會(huì)進(jìn)一步尋找menu.lst文件,先找它自身所在的分區(qū)根目錄(這點(diǎn)與GNU GRUB不同),如果找不到,則又會(huì)查找所有的硬盤、所有的分區(qū),而這次就不限于上面所列的文件系統(tǒng)了,grldr可以識(shí)別更多的文件系統(tǒng)。找到menu.lst之后,我們就能看見GRUB菜單了。
2、其引導(dǎo)過程比原版的GNU GRUB更穩(wěn)健,更靈活
眾所周知,GNU GRUB是非常優(yōu)秀的,其優(yōu)點(diǎn)無須多言。但它也有不可忽視的缺點(diǎn):引導(dǎo)過程步驟太多,mbr》stage1》stage1.5》stage2》linux內(nèi)核,增大了出錯(cuò)的幾率;其中好幾步是通過讀取絕對(duì)扇區(qū)來進(jìn)行的,沒能利用文件系統(tǒng),限制了靈活性。
對(duì)此grub for dos做了改進(jìn)。從上面的描述可以看到,其引導(dǎo)過程是從mbr直接到grldr,然后就可以加載內(nèi)核了,步驟簡潔,出錯(cuò)更少。并且由于mbr引導(dǎo)代碼能識(shí)別文件系統(tǒng),大大增強(qiáng)了靈活性。
3、grldr比原版的GNU GRUB在功能上有所擴(kuò)展,比如磁盤仿真、光驅(qū)啟動(dòng)等。grub for dos中同時(shí)發(fā)布了支持中文的版本,方便國人用戶。
唯一的限制是,grldr所在分區(qū)的文件系統(tǒng)格式必須是FAT12/FAT16/FAT32/EXT2/EXT3中的一種。所以有可能需要專門設(shè)一個(gè)boot分區(qū),來存放grldr。不過在我看來這是值得的,一點(diǎn)小麻煩換來了更多的方便和穩(wěn)定。
為移動(dòng)硬盤安裝GRUB FOR DOS:
1、獲取文件
從以下頁面下載GRUB FOR DOS,注意下載鏈接在頁面的最下方,找其中最新的下下來即可。我下的是grub_for_dos-2006-11-23。壓縮包里有很多文件,而我們只用其中的兩個(gè):bootlace.com和grldr。
http://grub4dos./WikiHome
2、寫入mbr
假設(shè)移動(dòng)硬盤為/dev/sda(注意:如果主機(jī)上接有sata硬盤,移動(dòng)硬盤可能會(huì)被認(rèn)成/dev/sdb或/dev/sdc,一定要搞清楚)。假設(shè)bootlace.com所在的目錄為/media/hda1/。運(yùn)行命令:
sudo /media/hda1/bootlace.com /dev/sda
注意一定要打全路徑,如果打成sudo bootlace.com /dev/sda,即使你的當(dāng)前目錄就是bootlace.com所在的目錄,也是不行的。
3、存放grldr和menu.lst文件
在移動(dòng)硬盤上找一個(gè)或建一個(gè)fat16/fat32/ext2/ext3格式的分區(qū),將grldr文件拷至其根目錄,并在同一目錄下建立相應(yīng)的配置文件menu.lst。
本文將描述兩種方案:
一、使移動(dòng)硬盤具有和live cd一樣的功能,可通過usb接口啟動(dòng),運(yùn)行,安裝至主機(jī)內(nèi)置硬盤,當(dāng)然前提是電腦支持usb啟動(dòng)。
二、使移動(dòng)硬盤具有類似live cd的功能,可通過usb接口啟動(dòng)、運(yùn)行;與live cd不同的是,對(duì)此系統(tǒng)所作的修改將會(huì)保存下來,而不會(huì)像live cd那樣一重啟就恢復(fù)原狀。
兩種方案對(duì)各種不同版本的ubuntu live cd應(yīng)該都適用。我是用hiweed 1.0做的試驗(yàn),所以就以它為例來描述了。向hiweed致敬。
第一種方案實(shí)現(xiàn)起來比較簡單:
首先,將live cd中的casper文件夾拷至移動(dòng)硬盤某fat32分區(qū)(ext2或ext3或reiserfs分區(qū)亦可)。
然后,將GRUB FOR DOS安裝至移動(dòng)硬盤。請(qǐng)參照帖子開頭的描述。
menu.lst內(nèi)容如下(其中的*號(hào)請(qǐng)根據(jù)自己的情況換成合適的數(shù)字):
timeout 6
default 0
fallback 1
title live cd
root (hd0,*)
kernel /casper/vmlinuz boot=casper ramdisk_size=1048576 root=/dev/ram rw splash
initrd /casper/initrd.gz
title live cd xforcevesa
root (hd0,*)
kernel /casper/vmlinuz boot=casper xforcevesa ramdisk_size=1048576 root=/dev/ram rw splash
initrd /casper/initrd.gz
這樣就好了。
老大,我用ubuntu6.10,按四個(gè)步驟做,開機(jī)引導(dǎo)后出現(xiàn)menu list,選任何一行然后報(bào)錯(cuò),好象說指定的分區(qū)找不到。menu.lst是照樓主的抄的,把(hd0,*)改成(hd0,3)。
又試把(hd0,3)改成(sda,3),說什么error number when phrasing(句子沒記住)
initrd.usb用的是10樓的。
怎么辦?
*已經(jīng)解決,可以啟動(dòng)了。
樓主貼的menu.lst中二個(gè)文件名和6.10的不一樣,改了就行。
分區(qū)數(shù)字,在我的盤上改成(hd0,2),就行。
**所用的6.10版本,改了屏幕分辮率,就自動(dòng)log out了。不知何故?