Grub 無法啟動 Windows 10

Grub 無法啟動 Windows 10

我在 Windows 10 旁邊的一個單獨分割區上安裝了 Elementary OS。在引導程式選單 - Grub - 中啟動後,我可以選擇 Elementary OS 和 Windows。 Linux 啟動正確,但選擇 windows 返回相同的選單,情況是循環的。

我想出了使用 Windows 10 安裝 CD 用 Windows 引導程式覆蓋 Grub 的想法,我找到了以下有關此過程的文章:

https://www.howtogeek.com/howto/32523/how-to-manually-repair-windows-7-boot-loader-problems/ https://www.howtogeek.com/141818/how-to-uninstall-a-linux-dual-boot-system-from-your-computer/ https://askubuntu.com/questions/133533/how-to-remove-ubuntu-and-put-windows-back-on

這是 Grub 的照片:https://1drv.ms/u/s!Ari0rc2rwPVYsBbdiTExfq4nm772?e=kS3OaC

您推薦哪種恢復 Windows 的方法?

答案1


Linux 啟動正確,但選擇 windows 返回相同的選單,情況是循環的。

類似的問題還有很多,我就不在這裡寫了。

我想出了使用 Windows 10 安裝 CD 用 Windows 引導程式覆蓋 Grub 的想法,我找到了以下有關此過程的文章:

我建議您按照以下步驟操作!自己試過了!


如何使用windows bootloader啟動linux


幾點

假設 BIOS + MBR

為 Ubuntu 編寫,但適用於所有發行版


簡而言之,我們要做什麼

這將涉及將 Ubuntu 分割區的開機記錄複製到 Windows,並使用 BCDEdit 在 BCD 儲存體中建立指向該檔案的新條目。這樣,Windows 會在啟動時顯示一個選單,讓您在 Windows 和 Ubuntu 之間進行選擇。


假設磁碟機分割為(根據您的情況進行相應修改

/dev/sda1 - 100 MB - Win 保留

/dev/sda2 - 252 GB - Win(c:驅動器)

/dev/sda3 - 31000 MB - Ubuntu {掛載點 - /}

/dev/sda5 - 1000 MB - 交換{邏輯}

/dev/sda6 -(可選)建立將產生的 .bin 檔案從 Linux 移至 Windows- FAT32 檔案系統 - {掛載點 - /media/share}


跳過先前的安裝部分,selecting drives因為它是基於偏好的。


{安裝期間}的關鍵步驟是:我們需要告訴 Ubuntu 安裝程式在哪裡安裝系統引導程式 (GRUB 2)。我們不想將開機載入程式安裝在 /dev/sda 上,因為這會覆寫我們磁碟的主開機記錄,我們也不想將其安裝在 /dev/sda1 或 /dev/sda2 上,因為這會覆寫 Windows bootmanager 文件和啟動配置數據,或作業系統本身。相反,讓 Ubuntu 將其引導程式安裝在包含 Ubuntu 作業系統的分割區上 - 在我們的範例中為 /dev/sda3。為此,請點擊下面的下拉列表

“用於引導程式安裝的裝置”

並選擇

/dev/sda3

顯示 ubuntu 引導程式安裝的正確分割區的螢幕截圖


選擇“立即安裝”,Ubuntu 將開始安裝。完成後,系統會詢問您是否要重新啟動或「繼續測試」。您應該選擇繼續測試,因為以下步驟需要存取終端。 Note : it is important not to reboot now otherwise this methods will not work

配置 Ubuntu 雙啟動

現在我們已經對磁碟進行了分割區並安裝了 Ubuntu,讓我們設定係統來啟動 Windows 或 Ubuntu。


我們需要一種方法將產生的引導記錄檔移到Windows。在 win 中使用 ntfs 磁碟機/USB 或 EXT4 驅動程式可以透過多種方式實現。由於我在 fat32 分區創建,因此我將在這裡使用它!如果您願意,可以使用任何其他方式!


首先,讓我們為我們創建的 FAT32 分割區建立一個掛載點(正如已經指出的那樣,它是可選的。打開終端機並輸入以下內容:

sudo su

mkdir /mnt/share 

接下來,讓我們將正確的裝置安裝到該目錄。回想上面的分割步驟,FAT32 分割區位於裝置 /dev/sda6:

mount /dev/sda6 /mnt/share 

產生開機記錄.bin 文件

將 Ubuntu 分割區的前 512 位元組寫入文件,然後將該文件複製到 FAT32 分割區:

dd if=/dev/sda3 of=/mnt/share/ubuntu.bin bs=512 count=1

注意:上述步驟中是否使用 FAT32 分割區是可選的。您可以選擇使用其他裝置(例如 USB 隨身碟)將 *.bin 檔案複製到其中。

退出 Ubuntu live 系統並重新啟動到 Windows。在此過程中,您可能會看到 Windows 執行磁碟檢查(不用擔心,這是正常現象,而且這些過程只會發生一次)。登入 Windows 並開啟您建立的 FAT32 卷,您應該會看到 ubuntu.bin 檔案。將該檔案複製到 Windows 磁碟區的根目錄(例如 C:)。

配置 Windows 雙啟動

現在我們將使用 BCDEdit 為 Windows 的 BCD 儲存空間新增一個項目。使用 BCDEdit 需要管理權限,因此使用 Win+r,鍵入 cmd,然後按

CTRL+SHIFT+ENTER

。讓我們先為 Linux 發行版建立一個條目。請注意,如果需要,您可以自由選擇其他條目名稱:

bcdedit /create /d “Ubuntu” /application bootsector

BCDEdit 將傳回該條目的字母數字標識符,我將在其餘步驟中稱為 {ID}。您需要將 {ID} 替換為實際傳回的識別碼。 {ID} 的範例為 {d7294d4e-9837-11de-99ac-f3f3a79e3e93}。接下來,讓我們指定哪個分割區託管 linux.bin 檔案的副本:

bcdedit /set {ID} device partition=c:

我們的 ubuntu.bin 檔案的路徑:

bcdedit /set {ID}  path \ubuntu.bin

啟動時顯示的選單項目:

bcdedit /displayorder {ID} /addlast

最後,讓我們指定選單選項的顯示時間:

bcdedit /timeout 30

就是這樣!現在重新啟動,您將看到選單,您可以在其中選擇啟動到 Windows 或 Ubuntu。當您選擇 Ubuntu 時,您將進入 it 開機載入程式選單,您可以在其中選擇繼續引導 Ubuntu。

最後一點,如果您在任何時候想要消除 Ubuntu 選單選項,只需刪除您使用以下命令建立的 BCD 儲存項目即可:

bcdedit /delete {ID}

相關內容