win7+Ubuntu11.04雙系統:修復Grub(MBR)之三重門

來源:http://blog.chinaunix.net/space.php?uid=22414998&do=blog&id=364472

在學生的Win7電腦上安裝了Ubuntu11.04,做成了雙系統,利用Ubuntu作爲Ulteo主機服務器。誰知不想學生昨晚QQ call me:老師,開機進不去系統了,現在一開機就是一個下劃線不斷的閃。 

於是,今天早上開始解決問題。

首先,重啓筆記本,ESC進入BIOS啓動選項,選擇硬盤最先引導,重啓無效。排除BIOS問題。

接着,拿Ubuntu11.04Live-CD光盤,進入系統,一進去就出現安裝界面,選擇試用而不安裝N久沒有反應,只是鼠標變成圓圈狀不斷轉着。無奈,點擊關閉,把安裝窗口關掉,結果便順利地進入了Live_CD的桌面。

找到終端,輸入命令,直接轉入#:

sudo -s

在google上看到很多仁兄的grub重寫方案,自己也試了下:

fdisk -l

看到了自己的分區方案,Ubuntu被裝到了最後一個分區中,即sda下的sda6,sda5是SWAP。所以:

root (hd0,6)
find /boot/grub/stage1

結果說,沒有stage1這個文件,後來又試了menu.lst也沒有,還有人說Ubuntu下也可以試試/boot/stage1,試了也沒有。又看到有人說分區選錯了,我就開始一個一個的試,事實證明我沒選錯分區,但該分區中沒有stage1。
怎麼辦?冷靜了一下,開始分析是不是總是對live-cd系統進行的操作,而非硬盤?終於在一篇博客的啓發下試驗成功了:

mkdir /mnt/root
#在Live系統下建立/mnt/root文件夾
mount /dev/sda6 /mnt/root
#掛載實際系統盤
mount -t proc none /mnt/root/proc
mount -o bind /dev /mnt/root/dev
#以上這兩步很重要,如果不掛載,系統會找不到proc無法順利重新安裝Grub
chroot /mnt/root /bin/bash
#進入虛擬系統
grub-install /dev/sda
#重新安裝grub到啓動盤
reboot


OK羅,大功告成。

雖說系統成功引導,但每次都是默認Ubuntu啓動,學生還是用Win7多,於是到Ubuntu下,發現/boot/grub裏面沒有menu.lst這個文件,也沒有grub.conf,看來和紅帽的有許多不同啊。上網一搜,發現需要編輯grub.cfg(需要根用戶身份,否則是隻讀屬性),修改默認啓動項爲1(原來是0):

set default="1"

再刪除修復模式、內存檢測等menuentry雜項,就剩Ubuntu和Win7即可。保存重啓,O(∩_∩)O哈哈~,大功告成!

說明:這裏介紹了grub損毀後導致無法啓動的linux下的解決辦法,通過各種外界手段(比如光盤,U盤等)啓動linux後,運行sudo -s獲得權限之後,從mkdir /mnt/root開始操作即可。不過很奇怪,我記得好像用sudo su不行,非要用sudo -s,搞不懂這sudo的用法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章