使用Bootmgr引導Ubuntu實例
ubuntu系統實用的界面和完全免費的優點吸引了越來越多的用戶,而ubuntu系統的技巧都是在用戶的摸索中總結出來的,下面就是用戶使用Bootmgr引導Ubuntu的一個實例。
現在沒事就喜歡玩玩Ubuntu,今天早上一打開電腦,登上百度,就看到有人問關于Windows和Ubuntu雙系統的問題。我玩Ubuntu的時間其實也不長,有一年多一點的時間了吧。去年11月,筆記本的系統壞了一次,F11還原的時候崩潰了,每次開機就進入還原,而且還原不成功,很快就重啟……沒辦法,拿去惠普金牌給重裝了系統,當時硬盤的分區表壞掉了,把整個硬盤都格式化了,我有很多東西在里面的,全丟了……
那個時候,對重裝系統一無所知,沒想過那些問題的,不知道一個操作系統的引導有那么麻煩,對引導程序寫在MBR和DBR(PBR)里面,而不是以文件形式存在,在操作系統里面看不到,感到很困惑。從那以后,意識到弄懂操作系統的安裝非常重要,于是在網上下載了很多操作系統光盤來自己聯系安裝,微軟原版的、修改版的以及Ghost版本的都用過不少。一次無意中在網上看到了Ubuntu,說這個系統蠻好,還可以安裝在U盤上,這算是初步接觸Ubuntu了。后來一次同寢室的同學,F11還原的時候點了取消,結果可想而知,和我一樣,出現了分區表損壞,使用PE光盤,都找不到硬盤了,想要使用Ghost來安裝系統,結果行不通。后來我用我的UbuntuU盤竟然成功地啟動了他的計算機,可以識別他的硬盤,于是通過U盤在Ubuntu中將Ghost拷貝到他的硬盤,再安裝了一個含Ghost的Dos工具箱,在DOS里面啟動Ghost,給他安裝了一個Ghost版本的WindowsXP。那次事件讓我覺得Ubuntu這家伙還真是很牛啊!對Ubuntu愈加喜愛,后來了解了一些Ubuntu的知識,它每6個月都會發布一個新版本,新版本一出來,我就趕忙下載了下來,從Ubuntu9.10一直到現在的Ubuntu10.10。
玩Ubuntu,把我的好多U盤都做成了引導盤了,我的U盤不少,但是可以用的卻一個都沒有了……
好多U盤里面都是多重引導,覺得在一個U盤里面只做一個系統太浪費。用了這么多引導程序,還是覺得Bootmgr是***用的,所以習慣用Bootmgr去引導所有的系統。Bootmgr本來是用來引導Vista和Windows7,在硬盤和光盤上都可以引導,而且使用非常方便,微軟提供的bcdedit命令非常好用!想要用它來引導WindowsXP和Ubuntu卻不成功。WindowsXP在硬盤和光盤上使用的引導不同,直接將光盤拷貝到U盤是用不了的,想把光盤放在U盤里面用,不過沒有成功過,只有修改版的才可以,原版根本不行。我向來是希望以最小的改動來達到目的的,不喜歡使用被別人修改過的,而自己不了解的東西,太不透明了,而且每個人的習慣差異很大,別人改動的,對我來說不一定好用,可能有太多冗余,累贅!干脆不用別人的,自己動手!Bootmgr引導WindowsXP光盤看來是不行了,引導已經安裝好的WindowsXP倒是可以,但是要把微軟的系統安裝在USB可移動存儲設備上,實在是太困難了,只能用PE,加載Wim鏡像到內存。
Bootmgr引導Ubuntu,試驗了很久,先是從UbuntuLiveUSB開始的。以前版本的Ubuntu都很容易就成功了,Ubuntu10.10不知怎么回事,剛開始試了幾次都不行,后來又好了,其實采用的方法都是一樣的。大概是一種***的辦法,但是成功確實是要講概率的。先制作一個UbuntuLiveUSB,引導程序是syslinux,(LiveCD用的是isolinux),使用bootice提取U盤分區的DBR(PBR),命名為syslinux.pbr,存放在U盤根目錄,www.6688.cc然后把Windows7的PE光盤解壓到U盤根目錄,將Bootmgr引導程序寫入MBR,使用,命令"Bootsect/nt60X:/force/mbr",然后使用bcdedit命令:
- bcdedit/storeX:\boot\bcd/create{45c374b2-8460-11df-8950-0024814b7667}/d"Ubuntu"/applicationbootsector
- bcdedit/storeX:\boot\bcd/set{45c374b2-8460-11df-8950-0024814b7667}deviceboot
- bcdedit/storeX:\boot\bcd/set{45c374b2-8460-11df-8950-0024814b7667}path\syslinux.pbr
- bcdedit/storeX:\boot\bcd/displayorder{45c374b2-8460-11df-8950-0024814b7667}/addfirst
這樣Ubuntu的引導項就添加進去了,顯示在選擇菜單的最上面。
這樣還是UbuntuLiveUSB,啟動太慢,每次都要選擇使用,跟安裝好的Ubuntu相比,處于劣勢,而且一般不會講casper-rw文件設置太大,這就對安裝軟件產生了限制,所以希望安裝一個Ubuntu系統。習慣把Windows7的PE和Ubuntu放在一個U盤上。在硬盤上,使用wubi安裝使用過Ubuntu,也完全安裝過,虛擬機里面也用過,在虛擬機里面用得最多,因為要解決銳捷比較麻煩,Ubuntu無法識別我的網卡,還要安裝網卡驅動……真要崩潰,我沒辦法聯網,也不知道需要什么樣的網卡驅動,惠普根本就沒有提供Linux的驅動……自鎖了!沒辦法,只好在虛擬機里面玩玩。
做Ubuntu和Windows的雙系統,還是很簡單,但是大多都是先安裝Windows,www.linuxidc.com再安裝Ubuntu,***MBR里的引導程序是Grub或者Grub2,這樣會自動添加Windows的引導項,以供選擇。但是我們平常使用Windows還是比Ubuntu要頻繁得多的,每次都要這樣一次一次的選擇,太麻煩了,希望能夠用Bootmgr來引導Ubuntu。這種想法很早就有了,一直都沒能成功,在網絡上搜索,都沒有找到解決方案。今天看到有人跟我有同樣的想法,于是我想再試試看,爭取把它解決。想到了使用wubi,在使用wubi安裝的Ubuntu中就是由Bootmgr來引導Ubuntu的,但是拷貝了wubi的兩個關鍵文件-wubildr和wubildr.mbr,還是不行。覺得問題用該是出在另外一個文件-wubildr.cfg,這個是配置文件,這個文件里面寫的是wubi安裝使用的虛擬磁盤root.disk和swap.disk,現在我的Ubuntu是完全安裝的,直接使用這個文件肯定不行,必須要進行修改。經過多次修改最終終于獲得了成功,活動的主分區的根目錄里面有4個啟動Ubuntu的關鍵文件,以上3個和grub.cfg,grub.cfg是Ubuntu分區的grub目錄拷貝過來的,不需要修改。
wubildr.cfg文件修改后如下:
- setshow_panic_message=true
- setroot=(hd0,2)
- if[-e/boot/grub/grub.cfg];then
- ifconfigfile/boot/grub/grub.cfg;then
- setshow_panic_message=false
- fi
- else
- if[-e/grub/grub.cfg];then
- ifconfigfile/grub/grub.cfg;then
- setshow_panic_message=false
- fi
- fi
- fi
- if[${show_panic_message}=true];then
- echo"ItisnotpossibletobootfromtheUbuntuimage."
- echo"PleaseverifythattheUbuntuinstallationwasnotremoved."
- echo"Ifthatisnotthecase,pleasecheckthattheWindowsfilesystem"
- echo"isnotcorrupted:rebootintoWindowsandrun:chkdsk/r"
- echo"Thentryagain."
- fi
- 修改BCD文件的命令:
- bcdedit/storeX:\boot\bcd/set{bootmgr}locale"zh-CN"
- bcdedit/storeX:\boot\bcd/set{bootmgr}description"Windows啟動管理器"
- bcdedit/storeX:\boot\bcd/timeout10
- bcdedit/storeX:\boot\bcd/set{default}description"Windows7PE"
- bcdedit/storeX:\boot\bcd/set{default}locale"zh-CN"
- bcdedit/storeX:\boot\bcd/set{memdiag}locale"zh-CN"
- bcdedit/storeX:\boot\bcd/set{memdiag}description"內存檢測工具"
- bcdedit/storeX:\boot\bcd/create{45c374b2-8460-11df-8950-0024814b7667}/d"Ubuntu10.10"/applicationbootsector
- bcdedit/storeX:\boot\bcd/set{45c374b2-8460-11df-8950-0024814b7667}deviceboot
- bcdedit/storeX:\boot\bcd/set{45c374b2-8460-11df-8950-0024814b7667}path\wubildr.mbr
- bcdedit/storeX:\boot\bcd/displayorder{45c374b2-8460-11df-8950-0024814b7667}/addfirst
- bcdedit/storeX:\boot\bcd/enumall/v
向磁盤寫入主引導:
bootsect/nt60X:/force/mbr
寫入這些之后,一切OK!終于成功了,不容易啊,花了好久才解決!
還有其他方法,可以使用bootice提取Ubuntu分區,保存為ubuntu.pbr,在將它寫入引導文件BCD的,一種***的方法,但是,并不一定能成功。也可以使用EasyBCD,這種方法簡單,但是不透明,對軟件的依耐性太高,也不太好。還是自己動手解決是***的。
總結:
希望本文介紹的使用Bootmgr引導Ubuntu實例能夠對讀者有所幫助,更多有關linux系統的知識還有待于讀者去探索和學習。
【編輯推薦】