1. 程式人生 > >關於Ubuntu與win10雙系統引導修復的問題

關於Ubuntu與win10雙系統引導修復的問題

問題來源

我的電腦之前是在Windows10系統上裝了一個Fedora版本的linux,基本上使用都沒什麼問題,說實話,因為我大部分軟體或開發工具啥的主要都裝在Windows系統上,所以平時還是win10用的比較多。但最近聽說國內有一款仿Ubuntu的深度deepin系統也挺不錯的,而且介面還挺像mac,所以就急著將自己電腦上的Fedora換成了deepin,但估計就是在安裝deepin的時候出了叉子。我到現在也沒搞清楚是哪裡出了問題,動了什麼不該動的東西,導致win10的啟動載入程式壞了,最後結果就是按下開機鍵只能進入deepin了。即是你在剛開機時按下ESC進入系統選擇介面選擇Windows也是照樣進不了。

解決過程

發現進不了Windows只能進deepin我就開始有點慌了,要知道我很多軟體和工具都是裝在Windows上面,而linux還只是個殼子。我可不想重灌系統,當然也不得不做好這最壞的打算。當時試了很多方法行不通,就又將deepin換成了Ubuntu,但結果還是一樣,這倒是在意料之中。起初以為只是Ubuntu與win10不相容,需要修復一下引導就行,但按理說不應該的,我室友的組裝機用的就是這兩個系統,從來沒出什麼問題。我上網查了查,有人說直接進入Ubuntu終端,執行sudo -updategrub,更新一下grub就行了,但我試了好幾次,包括修改grub.cfg檔案,但都行不通,每次update以後根本不顯示found Windows這樣的字眼。這是便意識到想必是win10的引導已經損壞了,再在linux上面瞎搞估計也無濟於事。這樣一來,我就去網上找資料,查如何修復win10引導。主要步驟如下:

  • 首先你得有個win64位的PE系統啟動U盤,在開機的時候按下ESC鍵進入系統選擇介面(我的電腦是ESC,這個不同版本電腦可能有所不同,也有可能你是F11,F12),之後選擇你的U盤啟動系統進入。
  • 進入系統後,開啟你的DG(DiskGenuis)分割槽工具

alt

使用這個工具之前需要注意一個問題,那就是你的硬碟是什麼格式的,是GPT還是MBR?

很多人寫的修復方法都是針對硬碟型別為mbr的,就是直接選中的系統盤,如下圖:點選硬碟選項下的重建主引導記錄。

alt

然而問題出現了,當我點選 硬碟選項後,重建主引導記錄這一欄是灰色的,無法選中。原因就是我的硬碟型別是GPT的。

  • 接下來要做的就是修復GPT格式的引導,首先我們注意到ESP分割槽沒有碟符,我們需要給他指定一個碟符:
    alt

  • 指派好了就關閉DG工具,回到桌面,

開啟cmd命令列,輸入以下命令並執行

bcdboot c:\windows /s g: /f uefi /l zh-cn

其中:c:\windows 硬碟系統目錄,根據實際情況修改

/s g: 指定esp分割槽所在磁碟,根據實際情況修改

/f uefi 指定啟動方式為uefi

/l zh-cn 指定uefi啟動介面語言為簡體中文

注:64位7PE不帶/s引數,故7PE不支援bios啟動下修復

alt

  • 建立成功後重新啟動電腦,選擇Windows boot manager進入系統,到這裡win10的引導也就修復完成。

待解決問題

win10引導修復完成後的結果是,每次開機都是預設直接進入Windows,如果想要進入Ubuntu,還是要剛開機時按下ESC手動選擇進入,而不是和之前一樣,出現一個雙系統選擇介面供你直接選擇。我進入Ubuntu之後嘗試修復此問題,主要進行了如下操作:
1 進入Ubuntu終端,輸入如下命令利用bootrepair修復引導

# 進入root使用者
sudo -i 
# 新增軟體源並更新
add-apt-repository ppa:yannubuntu/boot-repair && apt-get update
# 安裝boot-repair並啟動軟體
apt-get install -y boot-repair && boot-repair

2 檢視Windows10磁碟所在引導,然後繼續進入Ubuntu終端,修改引導

sudo -i
vim /boot/grub/grub.cfg
//再該檔案末尾修改win10引導資訊。
//之後再更新引導
grub-mkconfig -o /boot/grub/grub.cfg

3 慶幸的是更新引導之後的確出現了found Windows的字眼,但是當我重啟電腦,發現並沒有改變什麼,還是隻能直接進入Windows,所以挺困惑的。