歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 建立bootmgr對Ubuntu的引導

建立bootmgr對Ubuntu的引導

日期:2017/2/28 16:40:40   编辑:Linux教程

為了讓Windows 的重裝維護等工作不影響到Ubuntu的正常引導,我一般在安裝完成Ubuntu後都會想辦法將MBR信息寫回Windows兼容的代碼,而將Ubuntu的引導作為windows 啟動管理器 bootmgr的一個條目.

1. 在Ubuntu 9.10之前,使用grub4dos很容易就能滿足要求了,首先使用系統自帶的bcdedit工具添加一條bootsector的記錄

bcdedit /create /d "description" /application bootsector
bcdedit /set {id} device partition=c:
bcdedit /set {id} path \grldr.mbr
bcdedit /displayorder {id} /addlast
其中的 description 可以自己定義,,再將下載好的grub4dos中的grldr.mbr和grldr兩個文件都放到c盤下,重啟後就能選擇添加的這個bootsector來引導到Ubuntu叻,由於grub4dos能夠自動搜索各分區的menu.lst文件,因此如果僅僅為了引導到Ubuntu而沒有別的要求我們也不用自己額外地去寫一個menu.lst文件叻.最後再去PE下使用bootsect或者bootrec工具來修復MBR為windows 兼容的代碼即完成所有的操作.

PS:如果是存在隱藏的活動分區同時需要將grub4dos的引導文件也放入這裡,那麼需要使用 diskpart 來添加/移除 盤符,添加bootsector的第二句命令中指定的partiton也應該根據情況修改!

2. 在Ubuntu 9.10中改變了默認的啟動管理器為 Grub2 ,無疑 Grub2 帶來了更為先進的特性如模塊化的設計等,可惜卻沒法輕易的和前面一樣通過grub4dos來引導了,還好grub2的開發人員還是提供給了我們類似的方法

和前面一樣添加一個bootsector項,但是第三句 為 path \g2ldr.mbr ,然後將 g2ldr.mbr 和 g2ldr 兩個文件 (哪有?google一下就出來叻)放到活動分區下(一般C盤..恩,以後不重復了),由於grub2 不會搜索所有的分區尋找配置文件,所以還需要在Ubuntu下將相關的文件全拷過來, 默認 即/boot 目錄的所有文件, 在制作時沒有另外指定參數的g2ldr會讀取 /boot/grub2/grub.cfg 文件來引導系統,如果grub.cfg的信息都正確的話,理論上成功啟動也就沒問題叻,最後,還是修復MBR搞定~

3. 其實有種最簡單的方法通吃以上兩種情況的,就是直接將MBR內容做成一個引導文件,然後通過bootmgr來引導,方法如下:

在Ubuntu下終端敲入

sudo dd if=/dev/sda of=/media/win/grub2 bs=512 count=1
就是使用 dd 命令將硬盤前512字節的內容復制到為 grub2這個文件 , /media/win 為某個windows 盤符的掛載路徑,根據自己情況修改,grub2這個名字可以自定義,接下來還是去windows下建立bootsector條目, 修改第三條的為參數路徑為 path \grub2 再將dd命令生成的grub2文件拷入C盤,,修復MBR即可.這個算是最簡單也最通用的辦法叻,推薦!

Copyright © Linux教程網 All Rights Reserved