當前位置: 首頁>>技術教程>>正文


grub2 – 如何將 Ubuntu 的條目添加到 Windows 7 啟動菜單?

, ,

問題描述

我有以下設置:

第一個分區是 windows 7 分區\n第二個分區 – ubuntu 12.04 分區

在安裝 ubuntu 時,我將 grub2 bootloader 安裝到 ubuntu 分區

mbr 包含 Windows 引導程序

我嘗試使用 EasyBCD 將條目添加到 Windows 啟動菜單,但沒有成功 – 這個條目隻是啟動到 grub4dos 命令提示符

如何將 Ubuntu 添加到 Windows 啟動菜單?

請不要建議將 grub2 安裝到 mbr 或 wubi ..


更新:

我按照說明安裝 EasyBCD 並在 Windows 啟動菜單中添加一個條目以逐步啟動 Ubuntu。當我重新啟動 NeoGrub Bootloader 和 Ubuntu 菜單項時,我會進入下麵的屏幕。

最佳答案

下麵概述了對我有用的程序。

您是否在步驟 (3) 中執行了 NeoGrub 引導加載程序的安裝?如果安裝了 NeoGrub,那麽您的 C: 驅動器上將會有一個 \\NST 文件夾。

我認為設置 EasyBCD 的指南有時會忽略此步驟。

使用 EasyBCD 從 Windows 啟動菜單啟動到 GRUB

  1. 啟動 Windows 並安裝 EasyBCD 的免費版本。

  2. 打開 EasyBCD 程序並從左側邊欄中選擇添加新條目。

  3. 選擇 “Operating Systems” 下最右側的選項卡 NeoGrub,然後單擊 Install 按鈕。\n\n注意:這會將 NeoGrub 引導加載程序代碼添加到 C:\\ 文件夾中。如果安裝正常,您將看到文件 C:\\NeoGrub 和文件夾 C:\\NST

  4. 選擇 Linux/BSD 選項卡。選擇 GRUB2 作為條目的類型,並且可以選擇編輯您將要添加到 Windows 啟動菜單的\n條目的名稱。\n\n單擊 Add Entry 按鈕添加一個條目以啟動 Linux(GRUB 菜單)到Windows 啟動菜單。

  5. 從側邊欄中選擇 Edit Boot Menu 以查看您的更改。\n\n注意:如果您願意,您可以刪除 NeoGrub Bootloader 的條目。\n您需要 bootloader,但不需要啟動菜單條目,除非您正在使用它以其他方式。

  6. 保存更改並重新啟動。當 Windows 啟動菜單出現時,選擇您添加的用於啟動 Linux 的 EasyBCD 條目。您應該會看到類似於以下文本的內容。\n\n然後應該會出現 GNU GRUB 引導菜單。

次佳答案

這個周末我剛剛作為一個 Linux 新手經曆了這個,並且剛剛(!)讓它工作了。我在筆記本電腦上安裝了 Windows 7 出廠設置,並試圖讓 Ubuntu 進行雙啟動。我使用 Windows 分區管理器來釋放一些硬盤空間,然後使用 live CD 和 GParted 創建 /、/home 和交換邏輯分區。然後我將 Ubuntu 安裝到這些分區中。然後我回到 Windows,運行 EasyBCD 和我嘗試的每一種方式(見上麵的線程建議),總是以 grub> 結束。命令提示符,有時什麽都沒有。

首先要做的是檢查你是否可以使用 grub>命令提示符實際啟動到您的 ubuntu 安裝。這將使您確信安裝工作正常,並會告訴您以後要使用哪些設置。

“ls” 將為您提供您所在位置的列表。對我來說,這似乎是我的 Windows 7 C 驅動器,它來自它帶來的一些目錄名稱。因此,您需要將根目錄更改為包含 Ubuntu 的 /boot 文件的分區。為此,您使用 grub “root” 命令。

Grub 不將 sda/b/c/d 用於 sata 硬盤,而是將 hd0 用於 sda,將 hd1 用於 sdb 等。’tab_key’ 在 grub 中用於自動完成選項。我隻有一個硬盤,所以輸入“root (hd0,’tab_key’”給了我所有可用的 hd0 分區選項。如果你知道你已經將 /boot 安裝到哪個分區,這將有所幫助,但即便如此,它也不是太直觀。我使用 GParted 創建我的安裝分區,所以知道我已經將 /boot 安裝到分區 sda9 中,因此能夠相對容易地識別它。有點混亂,因為 grub 從 4 開始計算擴展分區。獲得 grub 的方法獲取我的 /boot 分區是通過鍵入“root (hd0,8)”,即比 sda9 數字小一。執行 “ls” 果然,我可以在根目錄中看到 /boot 目錄一個 vmlinuz 文件和一個 initrd.img 文件.

接下來要做的是加載內核和 initrd 文件。內核是讓我感到震驚的一個,因為您需要在正常的 linux 術語中指定根作為命令的一部分。雖然實際的內核和 .img 文件在 /boot 中,但它們的名稱很長。在根目錄中有指向它們的指針,可以節省準確的輸入。這是我輸入的所有內容,包括上麵的 root 命令:

root (hd0,8)

kernel /vmlinuz root=/dev/sda9

initrd /initrd.img

boot

這樣做使我的 Ubuntu 啟動並讓我確信它已安裝好。現在我隻需要弄清楚如何自動化它。這讓我回到了 Win7 上的 EasyBCD。單擊以添加一個新條目(我留下了帶我去 grub 的原始條目),然後選擇了 NeoGrub 選項卡並單擊了安裝。之後,我單擊了配置,這帶來了一個 menu.lst 文件。我在 grub 命令行上添加了上麵使用的所有行,以使其啟動,僅此而已。下次我重新啟動時,我選擇了 NeoGrub,我從 ubuntu 中輸入了這一切,與 Win7 的持續延遲圈相比,它看起來很棒而且速度很快。

我整個周末都在使用的鏈接….

http://www.linuxbsdos.com/2012/05/17/how-to-dual-boot-ubuntu-12-04-and-windows-7/2/

http://www.dedoimedo.com/computers/dual-boot-windows-7-ubuntu.html

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/13167.html,未經允許,請勿轉載。