來源:http://blog.chinaunix.net/space.php?uid=22414998&do=blog&id=364472
在學生的Win7電腦上安裝了Ubuntu11.04,做成了雙系統,利用Ubuntu作爲Ulteo主機服務器。誰知不想學生昨晚QQ call me:老師,開機進不去系統了,現在一開機就是一個下劃線不斷的閃。
於是,今天早上開始解決問題。
首先,重啓筆記本,ESC進入BIOS啓動選項,選擇硬盤最先引導,重啓無效。排除BIOS問題。
接着,拿Ubuntu11.04的Live-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的用法。