2012年1月31日 星期二

先裝了Linux,再裝windows,結果linux開機程式被覆蓋要怎麼辦


答案很簡單,參考這一篇
簡單敘述相關段落如下

首先用liveCD進入 Linux,在命令行執行grub,進入grub後,找出stage2檔案:
grub> find /boot/grub/stage2
(hd0,0)
這是範例,你得到的結果未必是(hd0,0),端視你當初安裝Linux在哪一顆硬碟的哪一個分割區而定。
stage2檔案包含了開機選單,這時告訴grub你要用哪一個開機選單:
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
接下來告訴grub要在哪裡放置stage1檔案。這個地方就是你的BIOS所指定的開機碟,通常是第一顆硬碟,所以:
grub> setup (hd0)
之後的訊息就是grub會去檢查stage1, stage2, stage1_5檔案,然後把相關資訊紀錄在開機碟的MBR上面,最後列出...succeeded Done. 的字樣,代表安裝成功。

這是PCLinuxOS的流程,其他版本的話只要是要grub,道理都相同。grub處理開機的方法是電腦會從開機碟的MBR中執行stage1,stage1會指示電腦載入stage1_5,把一個簡單的磁碟系統載入ram當中,再去讀取stage2的選單,依據選單內容載入Linux作業系統,或是把控制權交給另一個開機程式(例如windows的開機程式)。