簡單介紹如何用WinGrub 引導(dǎo)Linux系統(tǒng)簡述
以下主要介紹我的第一次安裝Linux系統(tǒng)遭遇,以及怎么度過這個遭遇的,希望對大家有所幫助。不喜歡的可以略過。
一、開篇敘述我第一次安裝Linux系統(tǒng)和接下來的經(jīng)歷
開篇:按照北南兄弟的《FC4菜鳥圖文版安裝教程》我順利地以本地SATA硬盤方式安裝了FC4. 當(dāng)時按照建議我把FC4的Linux版本GRUB程序裝在了MBR(Main Boot Record主引導(dǎo)記錄)里面。
先簡單介紹一下我的遭遇:
我的機(jī)器沒有安裝軟驅(qū),SATA(也就是俗稱串口)接口的硬盤1塊,當(dāng)時配機(jī)子的時候考慮到兩塊硬盤在價格方面比一塊相當(dāng)容量的硬盤要貴出一些,并且我當(dāng)時也沒有太長遠(yuǎn)的打算到底多大空間分給Windows多少分給Linux,所以我選擇了一些Linux入門書上介紹的比較便宜的配置,就是一塊硬盤安裝以上的兩種操作系統(tǒng)。像一般的那樣我首先安裝了windowsXP(因為windows目前好象沒有義務(wù)識別linux,后裝windows可能帶來很多麻煩),由于我買的redhat linux9安裝光盤作為引導(dǎo)的內(nèi)核(不知能不能這樣形容)不能識別SATA接口硬盤,當(dāng)時的提示是:
An error has occurred - no valid devices were found on which to create new file systems.Please check your hardware for the cause of this problem.No hard drives have been found.You probably need to manually choosedevice drivers for the installation to succeed.Would you like to select drivers now?(如果你也覺得眼熟,那么我們遇到過類似的情況,如果看不懂,麻煩您查字典也好google也好自行解決)
解決的辦法之一就是我從網(wǎng)上下載了一個FC4的安裝鏡像(安裝盤應(yīng)該有4張)如果你進(jìn)的是“ftp://...Fedora/1(或2,3)/...”的話那么懇請您點“向上”按扭然后找形如Fedora/../4/..這個路徑下面的文件,那幾個路徑下應(yīng)該是FC 1,2,3的鏡像。之后我按照“菜鳥教程”里說的那樣用wingrub引導(dǎo)安裝,之后把linux GRUB裝載到MBR里面,然后啟動的時候當(dāng)然是linuxGRUB來調(diào)度工作了,之后我學(xué)著重編內(nèi)核(加載了網(wǎng)卡驅(qū)動程序)然后下載安裝了OpenQ插件,再后來安裝完顯卡驅(qū)動程序配置好后重啟,問題出現(xiàn)了...怪我太貪心,分辨率的設(shè)置有點偏高了...之后的情況就是Linux可以照常運行,而顯示器不做任何反應(yīng),從開始用戶初始化配置開始顯示器就顯示沒有輸入信號.....對我來說這是噩夢的開始,我當(dāng)時沒有任何解決這類問題的辦法(也沒有刻一張rescue盤),然后就直接格式化開始重新安裝一切了.....(End of 遭遇介紹)
后面我發(fā)現(xiàn)發(fā)言權(quán)掌握在LinuxGRUB手里對我來說比較麻煩,所以想找到一個讓win GRUB支配啟動的辦法,再次安裝FC4進(jìn)行分區(qū)配置和引導(dǎo)程序選擇加載時,我不再選擇把GRUB放在MBR里,而是專門分了一個/boot區(qū)出來把MBR放進(jìn)去,寄希望于引導(dǎo)程序自動握手然后開始工作(很天真不是嗎?)當(dāng)時我還選擇了Force LBA32選項,然后繼續(xù),安裝所有的包,提示安裝成功,提示重啟。然后果然Linux沒有被辨認(rèn)出。這時怎么辦??
二、想讓W(xué)inGrub來支配引導(dǎo)的分析和做法
這時再重裝一遍然后加載GRUB嗎?且慢,當(dāng)時提示我已經(jīng)安裝成功了也,我也實在不想再來一遍了..這時要回溯到北南兄弟提供的另一篇文章了:《編譯內(nèi)核操作流程》引用其中這一段:
1、復(fù)制bzImage等相關(guān)文件,并創(chuàng)建initrd文件;
- [root@localhost linux-2.6.12.3]# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.12.3
- [root@localhost linux-2.6.12.3]# cp System.map /boot/System.map-2.6.12.3
- [root@localhost linux-2.6.12.3]# cd /boot
- [root@localhost linux-2.6.12.3]# /sbin/mkinitrd initrd-2.6.12.3.img 2.6.12.3
我們把 編譯出來的bzImage,拷入到/boot目錄,拷貝成 vmlinuz-2.6.12.3;
并且用 mkinitrd 來創(chuàng)建imitrd-xxx.img 文件,其中xxx為內(nèi)核的版本號,是通過 查看 /lib/modules來版本來對應(yīng)的,我們是編譯出
來的是 2.6.12.3,所以就運行上面的命令創(chuàng)建,創(chuàng)建的出來的是initrd-2.6.12.3.img ;不創(chuàng)建這個文件,有時是啟動不起來的,比如提示VFS錯誤等;
看到了嗎?我第一次編譯內(nèi)核的時候也就是照著這個路子來的,最重要的是vmlinuz-a.b.c和initrd-a.b.c還有System.map都在/boot路徑下面。在這里做一下內(nèi)核的簡要介紹:linux內(nèi)核用vmlinuz-a.b.c之類的名稱存放在/boot目錄中,所有的內(nèi)核版本號采用major.minor.patch編號格式。還有一個重要的基本概念:linux的所有所謂分區(qū)啦,文件夾一類的東西都用分區(qū)來表示,其實并不難理解,我覺得就好象是第一人稱視角游戲和第三人稱視角游戲有些相似的地方:Windows是分得很明顯地這個是整個系統(tǒng)的哪部分,linux的說法則是我的哪部分下面有什么什么部分組成。同時就有了mount(掛載)的介入了.即使是/boot這樣看起來就很嚇人的名號,在linux里的表示方法也不過就是根分區(qū)(/)下的一部分罷了。
2、wingrub的 menu.lst的寫法;
其實在Windows下編輯menu.lst(引導(dǎo)菜單)時已經(jīng)很明顯了,我能夠加上
title Fedora Core4 Installation
root (hd0,6)
kernel (hd0,6)/linux/vmlinuz
initrd (hd0,6)/linux/initrd.img (我的設(shè)置是這樣的Fat32格式引導(dǎo)安裝的分區(qū))
這樣一段,難道就不可以在menu.list文件里添加諸如:
title Fedora Core (2.6.11-1.1369_FC4)
root (hd0,7)
kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.11-1.1369_FC4.img
加注:因為我單獨分了boot分區(qū)所以寫成這樣,如果沒有單獨的boot分區(qū)的話應(yīng)該是下面這樣
title Fedora Core (2.6.11-1.1369_FC4)_te1
root (hd0,7)
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.11-1.1369_FC4.img
這樣一段來引導(dǎo)linux系統(tǒng)嗎?當(dāng)然,沒有人給我說不可以。結(jié)果是這辦法可行 =) 因為我就是這么做的。之后重編譯內(nèi)核后要加載內(nèi)核什么的辦法類似,我就不再多說什么了。
【編輯推薦】