起因:
雖然一直在Ubuntu下工作,但是前幾天突然發現dreamweaver有wordpress的代碼提示功能,讓小狼心動不已,所以就打算在一直當成游戲機的win7上去搭建iis的php環境,鼓搗了一陣子後....悲劇地發現竟然無法打開was服務,說是找不到這個服務,百度,google了一陣,發現只有兩個辦法,嘗試了一下都不成功,沒辦法.只能選擇重裝了,正好裝個windows server 2008感覺感覺服務器版的windows有什麼優點。
裝完server 2008之後重啟就更加悲劇地發現grub啟動菜單不見了....不是重裝了windows之後又要重裝ubuntu吧....配置了好久的說,OMG!小狼決定說什麼也不能重裝ubuntu,就虛心地向google求救,經過一段時間的折騰,終於成功引導回ubuntu。現在就說說一下引導過程吧,注意了小狼用的是liveCD方法,就是裝系統時用的光盤,沒有的童鞋可以跳過了,當然想參考一下的也可以繼續往下看。
恢復引導方法:
1.放進liveCD,重啟,看到有界面出來的時候,選擇試用,不要點安裝。
2.進入ubuntu試用版後,打開終端,在左上角的應用程序->附件->終端那
3.輸入以下命令:
sudo fdisk -l //得到的結果類似下面。查看ubuntu的根目錄在那,這裡沒辦法直接看出來,只能靠你自己識別,可以從分區的大小判斷是不是根分區,就是在裝ubuntu時,掛載點為 / 的那個分區
從圖中的結果看出來,根分區在sda12.因為小狼記得分/分區的時候是分了20G的大小,並且當時是先分了/分區,然後再分了一個20G的/home分區的。所以判斷出sda12是/分區,而不是sda13,雖然它也是20G.把sda12記住。
注意:如果分區的時候,你單獨把boot分區分出來了,還要多一步工作,就是找出boot分區:
從上圖可以看出,boot分區在sda8,因為它是最小的,只有200M.(你裝ubuntu的時候分了多少就是多少)
記住sda8。
4.輸入
sudo mount /dev/sda8 /mnt
因為小狼的單獨把boot分區分出來了,並且它的位置在sda8.如果你沒有單獨把boot分區分出來.那就修改一下位置,改為
sudo mount /dev/你的/分區所在位置 /mnt
5.輸入
sudo grub-install --root-directory=/mnt /dev/sda8
同樣,如果你沒有把boot分區單獨分出來就改成
sudo grub-install --root-directory=/mnt /dev/你的/分區的位置
這裡應該不會有什麼問題,因為如果位置不對,無法安裝,你可以一直輸這個命令直到位置對了為止.
6.如果出現了no error report。那你就差不多成功了.然後sudo init 6.重啟。
7.重啟之後你會無奈地發現......windows也無法啟動了,進入的是grub的命令行.....不要怕。進到這裡你已經離成功不遠了.
輸入:
root (hdX,Y) //x為硬盤位置,如果你只有一快硬盤,X=0,如果有多塊,相應設置x。Y為boot分區所在位置,這裡是8.如果沒有單獨分boot分區,y就是你的/分區所在位置
linux /vmlinuz-2.xxxxx-generic root=/dev/sda12(無論你有沒有把boot分區單獨分出來,這裡都要寫/根分區的位置,否則無法完成啟動,這裡可以按tab完成填寫)
如果沒有單獨把boot分區分出來,就是
linux /boot/vmlinuz-2.xxxxx-generic root=/dev/sda12
initrd /initrd.img-2.xxxxx-generic
或
initrd /boot/initrd.img-2.xxxxx-generic
boot
到這裡已經差不多完成了.因為你已經可以進入原來的ubuntu了,但是如果就這樣不管了,那麼下一次重啟還需要重復一次上面的工作。這也太滲人了。。。
那最後就修復一下grub吧.
打開終端,輸入
sudo update-grub
看到
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.35-27-generic
Found initrd image: /boot/initrd.img-2.6.35-27-genericFound Windows Server 2008 (loader) on /dev/sda1
done
恭喜,現在已經全線完工了。趕快重啟一下看看熟悉的grub引導菜單是不是回來了~