Grub輕鬆解決單硬碟3OS+n個Linux多系統啟動(轉)
Grub輕鬆解決單硬碟3OS+n個Linux多系統啟動(轉)[@more@]版權:本文為likuku原創,只要承認作者的版權,允許任意轉載,但是不得用於商業目的。因為要學習Linux和Unix,不得在一塊硬碟上安裝4個作業系統:FreeBSD(Unix最純的一種)+Win98+RedHat9+紅旗4。安裝不難,可是要想讓他們和睦共處,,可我花了一番功夫!經過一星期的死磨硬泡,總算搞定!這期間,我在網上發現這也算是個熱點話題,乾脆也把我的體會也告訴大家。1-0-1 開端:因為Linux特殊的硬碟管理模式,可以說是"固定"式的:決不會因為硬碟的增減、BIOS中 硬碟啟動順序更改,而造成像Windows裡的分割槽號的變更/混亂。因此其下的GRUB啟動管理器是實現多系統啟動的最佳工具。Grub的功能強大、支援16位色1024解析度開機背景、更改開機選單簡單方便、故障恢復也很簡單。因為Grub是一個獨立的,有他自己的一套命令列指令(可以脫離作業系統運作)。相比有人用NT/2K/XP的Ntload來實現,這需要獲得其他系統啟動分割槽的啟動扇區檔案。這個要直接讀寫硬碟扇區,你要是不會Linux/Unix,在Windows/Dos下,簡直是惡夢!!操作難度高,出錯?!後果不堪設想!同樣是獲得啟動扇區 在Linux/Unix下只要一個簡單的 dd if=/目的分割槽of=/輸出路徑/輸出檔案的指令行就OK。2-0-1 安裝系統前的分割槽規劃:因為一塊硬碟最多隻可劃分4個主分割槽。擴充套件分割槽算作一個主分割槽,它只能有一個!2-0-a.假若你要裝BSD,要給它分一個主分割槽(分割槽型別不限,先別問為什麼)。2-0-b.假若你要裝MS Windows 請給每個Windows分一個主分割槽。2-0-c.確認你已經沒有需要安裝在主分割槽上才能使用的系統/已經分完了3個主分割槽。2-0-d.如上一步已經確認,則可以把剩下的空間全交給擴充套件分割槽。2-0-e.假若你還需要更多的Win分割槽空間,可以在擴充套件分割槽裡繼續分些。2-0-f.確認完成後,刪除先前給BSD分好的分割槽。2-0-g.儲存分割槽表,重啟生效。#注意:不要啟用任何分割槽/設為活動Active分割槽,到下一步再作。BSD的"型別安裝",選Xuser,只需要不到400M空間。沒有給Linux分割槽,這不要緊,當安裝時再分更方便。建議如果用XWindow圖形介面,最少給每個Linux留2.5G空間。3-0-1 安裝系統:按照下面順序安裝3-0-a.安裝Windows大家都會吧?如多個Windows,要裝哪個分割槽就先把那個分割槽啟用,然後就直接裝在C:裡,是WinNT/2K/XP的,一定要手動設定為是單個系統啟動,不要多系統選單,也可以自己編輯根目錄下的隱藏boot.ini把多系統的其他選項行去掉。如不把前面預留給BSD的分割槽幹掉現在說不定很容易搞錯。我是用Ghost系統映象灌的,不會出錯!當然,你也用Ghost的,就不用設定活動分割槽這些。3-0-b.安裝BSD時,要選擇是否安裝BootManger一定選None跳過,這裡不用!3-0-a.安裝Linux,直接在擴充套件分割槽分割槽就行,全裝成邏輯分割槽!畢竟主分割槽很寶貴!或者你早用完了!3-0-d.如果硬碟裡除了主分割槽、擴充套件分割槽還有空閒的空間,Linux可能會自動把"/"分割槽,或者"/boot"分割槽(假如你單獨給/boot分割槽的話)強行轉變成主分割槽。特討厭!如這樣,你要返回上面2-0-e步,手動給Linux分割槽(每個詳細的分割槽:/、/boot、swap、/usr等,只要大小和你真正的linux分割槽一樣就可以。做好後就可以重新開始安裝Linux了。3-0-e.因為你是把Linux裝在邏輯分割槽,他可能會警告你,不管他,強行設定分割槽、掛載點、檔案系統格式,最好都選擇格式化 。3-0-f.繼續安裝,只是在安裝載入程式GRUB時一定要裝在MBR或者叫/dev/hda上!多系統選單現在不用編輯,裝好後再編輯。3-0-g.假如你只裝一個Linux,那就到此結束。3-0-h.要裝多個Linux,那麼3f這步,需要注意,Grub只需要在其中一Linux的安裝時安裝就可以了。其餘幾個,要直接選擇不安裝載入程式,安裝也完全沒有必要,還會造成麻煩。3-0-i.所有Linux都安裝完後,根據系統提示取出光碟,自動重啟。啟動後就會看到啟動選單。4-0-1.Grub、Linux分割槽管理理論基礎Linux管理分割槽很特別也很先進,但對一般Windows使用者來說很陌生,但不難。懂了後就會發現它的巨大好處. Grub因為可視作一個帶有一些作業系統基本功能的軟體,因此它的硬碟管理/識別規則不同於其他任何作業系統,但和Linux最接近,同樣也是"固定不變式的"。下面用個很簡單的對比表就可說明它們的關係:主機板IDE介面 Linux環境 GrubIDE0 主盤------------------------------ /dev/hda--------------------------------hd0|第一主分割槽-------------------- /dev/hda1------------------------------hd0,0|第二主分割槽--------------------/dev/hda2-------------------------------hd0,1|第三主分割槽--------------------/dev/hda3-------------------------------hd0,2|擴充套件分割槽--------------------/dev/hda4-------------------------------hd0,3|第一邏輯分割槽-------/dev/hda5-------------------------------hd0,4|第二邏輯分割槽-------/dev/hda6-------------------------------hd0,5|第N邏輯分割槽--------/dev/hdaN------------------------------hd0,N-1IDE0 從盤------------------------------ /dev/hb--------------------------------hd1|第一主分割槽-------------------- /dev/hdb1------------------------------hd1,0|第二主分割槽--------------------/dev/hdb2-------------------------------hd1,1|第三主分割槽--------------------/dev/hdb3-------------------------------hd1,2|擴充套件分割槽--------------------/dev/hdb4-------------------------------hd1,3|第一邏輯分割槽-------/dev/hdb5-------------------------------hd1,4|第二邏輯分割槽-------/dev/hdb6-------------------------------hd1,5|第N邏輯分割槽--------/dev/hdbN------------------------------hd1,N-1IDE1 主盤------------------------------ /dev/hdc--------------------------------hd2|第一主分割槽-------------------- /dev/hdc1------------------------------hd2,0|第二主分割槽--------------------/dev/hdc2-------------------------------hd2,1|第三主分割槽--------------------/dev/hdc3-------------------------------hd2,2|擴充套件分割槽--------------------/dev/hdc4-------------------------------hd2,3|第一邏輯分割槽-------/dev/hdc5-------------------------------hd2,4|第二邏輯分割槽-------/dev/hdc6-------------------------------hd2,5|第N邏輯分割槽--------/dev/hdcN------------------------------hd2,N-1IDE1 從盤------------------------------ /dev/hdd--------------------------------hd3|第一主分割槽-------------------- /dev/hdd1------------------------------hd3,0|第二主分割槽--------------------/dev/hdd2-------------------------------hd3,1|第三主分割槽--------------------/dev/hdd3-------------------------------hd3,2|擴充套件分割槽--------------------/dev/hdd4-------------------------------hd3,3|第一邏輯分割槽-------/dev/hdd5-------------------------------hd3,4|第二邏輯分割槽-------/dev/hdd6-------------------------------hd3,5|第N邏輯分割槽--------/dev/hddN------------------------------hd3,N-15-0-1.檢測分割槽和設定啟動選單:都裝好了麼?最好確保現在透過Grub只能啟動一個Linux! OK!我們開始!5-0-a.以root身份進入Linux,在控制檯下/終端下,輸入fdisk -l小寫的哦!注意空格!我的硬碟分割槽資訊顯示如下: (以下#後的是我寫的註釋,方便讀者理解)[root@SGI root]# fdisk -lDisk /dev/hda: 20.0 GB, 20020396032 bytes255 heads, 63 sectors/track, 2434 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/hda1 * 575 765 1534207+ b Win95 FAT32 #我的Win98/dev/hda2 766 2434 13406242+ f Win95 Ext'd (LBA) #我的擴充套件分割槽(在dos下分的)/dev/hda3 1 574 4610623+ a5 FreeBSD #我的FreeBSD/dev/hda5 766 1148 3076416 b Win95 FAT32 #我的FAT32邏輯分割槽/dev/hda6 1149 1161 104391 83 Linux #紅旗Linux的/boot分割槽/dev/hda7 1162 1289 1028128+ 83 Linux #紅旗Linux的/分割槽/dev/hda8 1290 1672 3076416 83 Linux #紅旗Linux的/usrt分割槽/dev/hda9 1673 1737 522081 82 Linux swap #Linux的SWAP交換分割槽/dev/hda10 1738 1747 80293+ 83 Linux #RH 9Linux的/boot分割槽/dev/hda11 1748 2129 3068383+ 83 Linux #RH 9Linux的/usr分割槽/dev/hda12 2130 2193 514048+ 83 Linux #RH 9Linux的/分割槽/dev/hda13 2194 2244 409626 83 Linux #RH 9Linux的/tmp分割槽Partition table entries are not in disk order[root@SGI root]#有點眼暈是不是?慢慢看就好了!擴充套件分割槽不是hda4,這個有點不好解釋,和Windows/FreeBSD的安裝有關,反正這兩個夠難侍候,這也就是為什麼要先裝他們的原因---當分割槽穩定後再進行多啟動設定,一次就行不用反覆調整!但邏輯分割槽不會改變,第一個邏輯分割槽是hda5嘛!Device Boot Start End驅動器/分割槽 是否啟用 起起始資料塊 結束資料塊Blocks資料塊數/容量大小(單位:kB)Id就是工業上統一的對各種檔案系統/分割槽格式的標識程式碼,只要你用過專業點的分割槽工具(如國產的DiskMan也叫DiskGeniue)就很好理解。這些早就成了業界統一的標準!System系統,很明顯,這是fdisk自動根據檔案系統識別出的系統型別。5-0-b.好了,我們只注意你的系統所在的Device驅動器標識。Win98 安裝在 /dev/hda1FreeBSD 安裝在 /dev/hda3 (我只用了一個分割,實際的只要記下/所在的hdxn代號就可以了.)5-1-1. Linux稍稍麻煩點,分兩種情況:5-1-a.像我一樣,專門給/boot分了一個分割槽,/boot和/不是一個分割槽。這就要分別記錄/和/boot的分割槽標識!5-1-b.直接用/分割槽,沒有專用的/boot分割槽,那就只記錄/分割槽的標識就可以。建議專給/boot建一分割槽,這樣啟動速度和安全(所有系統穩定後,可把/boot分割槽設為只讀!)更有保障!5-2-1.我的例子記錄的是:紅旗是:/ 是/dev/hda7 /boot 是/dev/hda6 RH9 / 是 /dev/hda12 /boot 是/dev/hda105-3-1.辛苦了半天最後一步很簡單,就是編輯個文字,大家都會吧?用個文字編輯器開啟/boot/grub/grub.conf檔案,我的是紅旗的檔案,RH的也一樣,編輯如下:(#後的都是註釋,上面系統原有的,最好別刪,那都是規則說明!我寫的,你看看就行,不用加進去。)***注意:Grub裡的分割槽標識和Linux下的不同,請參照 4-1-0轉換!***# grub.conf generated by anaconda## Note that you do not have to rerun grub after making changes to this file# NOTICE: You have a /boot partition. This means that# all kernel and initrd paths are relative to /boot/, eg.# root (hd0,5)# kernel /vmlinuz-version ro root=/dev/hda7# initrd /initrd-version.img#boot=/dev/hdadefault=0 #系統預設選項 (0為第一項,1為第二項,依此類推)timeout=10 #選單等待時間 單位:秒splashimage=(hd0,5)/grub/splash.xpm.gz #選單背景畫面檔案路徑title Red Flag Linux (2.4.20-8)root (hd0,5)kernel /vmlinuz-2.4.20-8 ro root=/dev/hda7 vga=785 console=/dev/null CONSOLE=/dev/tty2 acpi=offinitrd /initrd-2.4.20-8.imgtitle Red Flag Linux (Safe Mode)root (hd0,5)kernel /vmlinuz-2.4.20-8 root=/dev/hda7 acpi=off 4initrd /initrd-2.4.20-8.imgtitle Red Flag Linux (Console Mode)root (hd0,5)kernel /vmlinuz-2.4.20-8 root=/dev/hda7 acpi=off 3initrd /initrd-2.4.20-8.imgtitle Red Hat Linux (2.4.20-8) #系統選單標識root (hd0,9) #系統引導分割槽(就是/boot所在分割槽)kernel /vmlinuz-2.4.20-8 ro root=/dev/hda12 #核心路徑 和/分割槽標識 initrd /initrd-2.4.20-8.img #核心檔案系統映象檔案路徑title Windows 98 SE #系統選單標識rootnoverify (hd0,0) #系統引導分割槽(就是Win98安裝所在分割槽)makeactive #自動啟用chainloader +1 #交由此係統自行引導,不可忘記!!忘了,讓你發瘋我不管!title FreeBSD 4.8rootnoverify (hd0,2a) #系統/分割槽所在的驅動器標識,別忘了加個a ,忘了?同上!makeactive #同上chainloader +1 #同上5-4-1.注意:***這裡的設定都是以擁有一個單獨的/boot分割槽為例,如果你沒把/boot獨立出來,那麼你需要作下面的:5-4-a.把 "root (hd0,9)" #系統引導分割槽(就是/boot所在分割槽)修改為你的/分割槽標識5-4-b.把"kernel /vmlinuz-2.4.20-8 ro root=/dev/hda12 #核心路徑 和/分割槽標識" 和"initrd /initrd-2.4.20-8.img #核心檔案系統映象檔案路徑"中的路徑都修改為真實的路徑如:"kernel /boot/vmlinuz-2.4.20-8 ro root=/dev/hda12 #/分割槽標識按實際修改"initrd /boot/initrd-2.4.20-8.img #核心檔案系統映象檔案路徑5-4-2.對於#選單背景你可參照#選單背景畫面檔案路徑的檔案自己作,比MS的好多!5-4-3.確認完工,儲存退出,重啟就OK。6-0-1.遇故障,恢復Grub多啟動選單:雖然Linux很穩定,但也不是鐵板一塊,再說人的"不穩定性"遠勝機器,大部分都是人為失誤造成故障。(比如,又胡亂裝系統,裝那種強制性修改MBR的系統:如MS的。重新大規模分割槽,造成Linux隨完好但是啟動不起來的情況。)這也分兩種情況:6-1-1.Linux系統損壞/刪除,這隻有在重灌Linux時裝上Grub了。然後從4-0-1開始了!6-2-1.Linux系統正常只是MBR損壞/被覆蓋了。這樣需要重新把Grub裝在MBR就OK了。很簡單就三步:6-2-a.用Linux救援/啟動軟盤(與你的核心版本一致,或參看《電腦報2001合定本 (上)64頁 》)啟動。或者Linux安裝光碟啟動進入linux seuce 拯救模式。6-2-b.現用fdisk -l檢視分割槽,然後把你的"啟動版"Linux的 /、 /boot 、/usr都mount上來,然後進入mounted的對應原/boot目錄.(如有在安裝"啟動版"Linux時建立的啟動軟盤,就可省略這一步,應該是可以 直接啟動Linux的。(但是當你把Linux裝在主分割槽上,而主分割槽又改變了,那還是用fdisk 和mount吧!).6-2-c.確認/boot/grub的路徑,執行grub命令,請稍等,Grub在檢測完BIOS後會起動,會有一個grub> 的提示符(像個作業系統吧?)輸入以下命令,一次輸完:install_(hd0,5)/grub/stage1_d_(hd0)_(hd0,5)/grub/stage2_p_(hd0,5)/grub/grub.conf全都正確的話,什麼也不會顯示,鍵入quit或exit退出!reboot就好了!注意:下劃線實際為空格!*這只是針對擁有 Linux下標識為/dev/hda6 即Grub格式 hd0,5 的獨立/boot分割槽的情況!*6-3-1.對於沒有獨立/boot分割槽,只有/分割槽的使用者,可以用:install_(hd0,6)/boot/grub/stage1_d_(hd0)_(hd0,6)/boot/grub/stage2_p_(hd0,6)/boot/grub/grub.conf*這是針對只有一個Linux下標識為/dev/hda7 即Grub格式 hd0,6 的/分割槽情況!*實際的引數需要fdisk -l 檢查和透過4-0-1的對照表來轉換!6-4-0.這第二種方法同樣適用於因為MBR被重寫/損壞導致的Linux無法啟動的情況!7-4-0.後記:總算寫完了!看來,Linux適應能力夠強的!就像,像----病毒!我是在RH9 Gnome環境用OPenOffice寫的,還不錯,輸出的Doc文件,WPS和MS-OfficeWord下都可以正常開啟、顯示、編輯!當然沒有一次當機、藍色畫面、崩潰、死鎖!外:一個竅門,因為Linux/Unix和Windows的資料結構不同,用Linux/Unix的編輯器寫的中文*.TXT文件在 Windows/Dos下不能正常顯示,英文*.TXT也是換行不正確。我經過實驗,使用Gnome自帶的附件"文字編輯器"寫出的中文文件,在KDE下根本無法顯示,在KDE下用Kwaiter/Kate寫的中文*.txt在Windows下可以顯示,但是換行不正常!最好的辦法是用OpenOffice寫,檔案--另存為 "檔案型別"選"文字,使用編碼的" 接下來的 "字符集"用GB2312 "換段落"用 CR&LF 就OK了!非常棒!哇!寫這篇文件,足足花了7小時40分的工時!算作給自由軟體傳播作貢獻吧
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945154/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 雙硬碟grub引導9個作業系統(轉)硬碟作業系統
- 已有一個LINUX系統用GRUB引導硬碟安裝紅旗(轉)Linux硬碟
- 在硬碟建置Linux系統之setup啟動(轉)硬碟Linux
- 用grub命令列啟動系統命令列
- GRUB安裝後啟動進入GRUB命令環境後,如何進入系統的解決方法
- Linux啟動流程與Grub的配置(轉)Linux
- 在單個硬碟驅動器上構建雙引導Linux系統(轉)硬碟Linux
- 在Linux 中用chkconfig輕鬆管理啟動程式(轉)Linux
- 輕鬆查詢Windows自啟動程式(轉)Windows
- 10個方法助你輕鬆完成 Linux 系統恢復Linux
- 定製多系統啟動選單
- 輕鬆實現SINDOWS 98動態選單 (轉)
- 掌握這一技巧,輕鬆解決IBM儲存硬碟故障IBM硬碟
- Linux啟動問題解決方法(轉)Linux
- 多系統啟動選單的修復EasyBootboot
- 如何修改 Linux 的 GRUB 啟動背景Linux
- 【Linux】Linux作業系統 設定GRUB選單密碼Linux作業系統密碼
- 雙系統升win11(grub啟動問題修復與講解)?!?
- 輕鬆開發多語言程式 (轉)
- mysql 的這個痛點,用 elasticsearch 輕鬆解決MySqlElasticsearch
- 輕鬆玩轉花樣表單表單提交(轉)
- 最佳化linux系統硬碟(轉)Linux硬碟
- 雙硬碟多系統引導深入探究(轉)硬碟
- 使用 Eloquent 輕鬆搜尋多個模型模型
- Linux中輕鬆使用USB移動儲存器(轉)Linux
- 六大絕招輕鬆搞定系統更新(轉)
- Debian中Grub安裝和修改Grub啟動時的背景圖片簡單步驟(轉)
- 輕鬆解決跨域問題跨域
- [Linux] Linux啟動檔案grub.confLinux
- 瞭解這一點輕鬆解決Oracle資料庫系統報錯問題Oracle資料庫
- Minitab Express for Mac v1.5.0啟用版:輕鬆解決統計分析難題ExpressMac
- 使用go效率工具一小時輕鬆搭建一個簡單可靠的訂單系統,使用dtm解決分散式事務超級簡單Go分散式
- Linux檔案系統破壞,導致系統無法啟動解決辦法Linux
- 小改系統設定輕鬆安裝大軟體(轉)
- grub詳解(轉)
- RPA技術輕鬆解決ERP系統間資料交換難題
- 解決win7安裝後 啟動時有多個系統列表!!本人測試通過!!Win7
- 用chkconfig輕鬆管理啟動程式