實踐系統:Windows 2003和OpenSUSE Linux 12.1
---
個人比較追求完美,把硬碟分區全部清空,完全的全新安裝。
需要說明的是,OpenSUSE系統的引導採用的是GRUB 0.97,且並沒有grldr,我網上找了一下,最後一個版本的grldr是0.4.4,並不支援ext4,實踐得知,修改了主引導記錄MBR,從MBR直接跳到OpenSUSE所在分區並啟動。
我原來的想法是通過grldr手寫啟動列表,可惜失敗了。
通常系統的啟動順序是BIOS->MBR->使用中的磁碟分割->引導檔案->載入核心,而裝上OpenSUSE後跳過了"使用中的磁碟分割"這一步。(個人研究,不確保正確性)
綜上:必須採用OpenSUSE的引導方式。
---
一般來說是先安裝Windows,再安裝Linux,原因如上所述。
如果後期重裝了Windows,則MBR會改動,Linux無法啟動。
不知道為什麼,Linux出來很久了,但Windows還是沒有對Linux做一些相應的支援(如引導,檔案系統等)。
---
硬碟分區:一個主要磁碟分割,一個擴充分區。這兩個系統都是支援的。在擴充分區上再建立N個邏輯分區。
主要磁碟分割上裝什麼系統,這個隨意,但是我什麼都沒裝,只劃分了很小的空間給它,存放Windows的引導檔案就足夠了。
我是把Linux裝在靠前的邏輯分區上,而Windows裝在後面的邏輯分區上。
先安裝Linux,再安裝Windows。特別的,在安裝Linux時我把引導程式寫在了/dev/hda上。
安裝之後會直接進入Windows,此時就要修複Linux的引導。
---
插入安裝光碟片,重啟後從光碟片啟動。
選擇Rescue System,等一會會出現Login的字樣,輸入root即可,不要求輸入密碼。
輸入grub,進入grub的命令列。
輸入find /boot/grub/stage1斷行符號。(即尋找Linux分區中某個檔案,這個檔案應該是隨意的,但最好保持唯一性且是引導分區中的)
然後會顯示一個資訊:(hd0,x) //x是Linux的所在分區號。
輸入root (hd0,x)
輸入seup (hd0)
修複完成,重啟後會看到grub的引導菜單。
----
至於引導菜單的修改,在Linux的引導分區中,/boot/grub/menu.lst,用檔案編輯器即可修改,不過需要root許可權。