問題描述:
我的電腦本來是Ubuntu+win7雙系統,自己前天想換成win64位,於是就安裝系統,結果裝好了之后開機進入grub選擇win7之后,屏幕顯示
no such device:
press any key to continue...
如果隨便按任何鍵也能進入系統,但是還是覺得不太好看
分析:
這次跟以前安裝系統不一樣,以前雙系統環境下,重新安裝win7,grub就消失了,但是這次grub引導居然還在,那么肯定是這次安裝系統后,win7沒有將它的系統引導寫入硬盤的mbr,而是只寫入了C盤分區的mbr(我也不知道這個位置叫做什么,姑且叫做分區mbr吧)。那么問題就很明顯了,既然grub沒有覆蓋,那么它的配置文件內容肯定也沒有修改,但是現在卻顯示no such device,那么可以確定,這個no such device:后面的一串字符是會因為分區格式化而更改的。而且我在grub的菜單界面選擇win7那一行然后按e編輯,看到win7的配置有一行是 set=root uuid=,這個uuid后面也是一串類似的字符串,那么我就懷疑問題就出在這個字符串上,uuid是指統一唯一識別碼。
現在問題的原因很明顯了,不過還是需要去實際測試一下是否正確。
實際驗證:
首先找到C盤(安裝win7的分區)的uuid,有兩種方法
然后再Ubuntu下編輯grub的配置文件/boot/grub/gurb.cfg,修改win7的配置,將set=root uuid=后面的那一串字符替換成我們上一步查看到的C盤的uuid即可。
重啟,順利進入win7,成功。
結論:
只要努力去思考分析,找到問題的原因,然后去嘗試,往往我們自己也能夠解決看似復雜的問題。
享受解決問題的過程,而不是遇到問題就想到網上搜。培養自己解決問題的能力。
疑惑:
雖然問題解決了,但是心中還有些疑惑:
win7 32位安裝的時候會覆蓋硬盤MBR,為什么win7 64位不覆蓋呢?
uuid跟分區的關系也不是太懂
grub的使用還需要學習