ubuntu14.04修復啟動項


自從安裝了ubuntu14.04系統后(win7+ubuntu雙系統),一直使用grub來引導win7和ubuntu,很長一段時間都使用的很好。突然前兩天win7進不去了,無奈之下就用pe修復了win7的啟動項,開機后grub的啟動界面消失了,變為了windows的啟動界面(筆者猜想,pe在修復win的啟動項時,修改了mbr的內容,以前mbr中存放的是grub的部分程序,修復之后的mbr變成了win的引導程序,會去加載win所在分區的pbr,猜想不一定正確)。無論怎樣,windows總算能進去了。接着,筆者又在win7下用EasyBCD添加了ubuntu的啟動項,如下圖:

類型選擇了第一項GRUB(legacy),驅動器選擇了ubuntu被安裝所在的分區。添加成功后,重啟發現進不去ubuntu了,一直是黑屏,左上角有個光標不停閃爍。在此,筆者又猜想可能是當初在裝ubuntu14.04時,grub的部分程序僅僅被寫入了磁盤的mbr中,而沒有寫入ubuntu分區的pbr(分區引導記錄),因此一旦mbr中的grub被修改,就很難通過pbr進入ubuntu了。而筆者曾經在一篇博文中貌似看到過,ubuntu在安裝時會把grub的部分程序在mbr和pbr中各拷貝一份,這樣的話,通過mbr和pbr均能引導成功ubuntu。不知此猜想是否正確。然后筆者用U盤制作了ubuntu14.04的啟動盤,在livecd模式中進行修復,步驟如下:

1.開機u盤啟動,進入ubuntu安裝程序,圖形界面出來后,選擇try ubuntu,不要選擇install ubuntu。

2.之后便進入了ubuntu的體驗環境。

3.打開一個Terminal

執行:sudo -i   (切換成root用戶)

        fdisk -l    (查看磁盤的分區情況,筆者的/boot目錄是單獨的分區,大小200M,因此一眼就看出了,分區設備為/dev/sda8)

        mkdir /mnt/root    (目錄創建在哪里不重要,目的是為了掛載/dev/sda8設備)

    mount /dev/sda8 /mnt/root

        gurb-install --boot-directoty=/mnt/root /dev/sda     (安裝grub,將其安裝在/mnt/root/grub目錄下,/dev/sda指示了/mnt/root所在的設備)

        至此,會提示no error reported,安裝成功。重啟電腦后又恢復成了grub來引導。(筆者猜想,在進行grub安裝時,又將mbr內容修改為grub的部分程序,才能在開機時出現grub的引導界面)

在grub的引導界面中,有多個啟動項可供選擇,其中第一個啟動項是ubuntu,最后一個是win7啟動項。筆者選擇ubuntu,可以正常進入ubuntu中;選擇win7時,又會出現win7的啟動項選擇界面(grub加載了win7所在分區的引導程序pbr),該界面有兩個啟動項,win7和ubuntu(該ubuntu啟動項是以前用easyBCD設置的),此時再選擇ubuntu的話,依然是黑屏,左上角光標閃爍,進不去系統。因此,筆者分析,上邊的第二個猜想是錯的,應該不是ubuntu所在分區的pbr沒有被寫入的原因,因為grub已經被修復了,grub部分程序一定被寫入pbr中了,卻還是進不去ubuntu系統。筆者大膽猜想,ubuntu14.04作為最新版的系統,會不會是grub版本的問題,於是在easyBCD中,重新制作ubuntu啟動項,類型選擇為第二項GRUB 2,結果重啟后果然出現了grub的啟動界面(說明了ubuntu分區的pbr中存放了grub的部分程序,啟動順序:開機,bois,mbr(grub部分程序),加載ubuntu分區的grub程序,grub啟動項選擇界面,選擇win7,加載win7所在分區的pbr,讀取bcd表,win的啟動項選擇界面,選擇Ubuntu,加載ubuntu分區的pbr(grub部分程序 ,和mbr中內容相同,此處就用到了bpr,可見其並不多余),加載ubuntu分區的grub程序,grub啟動項界面。繞了這么一大圈是為了證明筆者猜想),成功了。如下圖:

在此,筆者大膽總結下,在安裝win+ubuntu雙系統時,其實無所謂安裝順序,大不了后安裝的系統的引導程序覆蓋掉了mbr,將啟動界面變為了后安裝系統的啟動項。我們只要加以修復即可。如果后安裝win的話,win的loadboot覆蓋掉了mbr,沒關系,我們進入win后,在easyBCD中設置一下ubuntu的啟動項,驅動器選擇ubuntu被安裝的分區,類型選擇時要小心,根據ubuntu的版本高低,選擇第一項GRUB(legacy)或者第二項GRUB 2,高版本的話選第二項(此處如果選擇不合適的話,照樣無法啟動ubuntu系統,會出現黑屏並且左上角光標閃爍的現象);如果后安裝ubuntu的話,grub部分程序將覆蓋掉mbr,這樣更好,grub的啟動界面上最后一項已經幫我們把win7的啟動項自動添加上了,直接選擇就可進入win。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM