一、如果是XP(vista)與UBUNTU之間,先裝XP,后裝ubuntu,ubuntu會在grub中加入XP啟動項。可以手動添加。
對應XP,vista,2003的
title Microsoft Windows XP Professional
root (hd0,n) # n視XP所在分區而定,第一分區就是0
default
makeactive
chainloader +1
對應2003,下面也可以。
title Earlier Version of Windows
#查找WINDOWS XP/2003 ,有些grub版本還不支持find命令
find --set-root /ntldr
chainloader /ntldr
對應vista,在grub的menu.lst添加也可以,不指定分區
title Windows Vista(default)
#查找 Vista bootmgr ,有些grub版本還不支持find命令
fallback 4
find --set-root /bootmgr
chainloader /bootmgr
二、如果先裝的UBUNTU,或者先裝的XP后來重裝XP,也可以在XP啟動項中加入UBUNTU啟動內容。
這個就需要在boot.ini中添加grldr,grldr如果放在C盤根目錄下面的話,加c:\grldr=" Ubuntu"。還需要C盤下有BOOT文件夾,文件夾里是GRUB文件夾,內含MENU.LST文件。包括上面的grldr都是grub for dos里面包含的內容。MENU.LST的內容需要根據你的UBUTNU BOOT所在位置,及內核而定.grldr,arldr,ntldr分別是grub,dos工具箱,xp引導所用的三個文件。menu.lst內容類似下:
title Ubuntu 7.10, kernel 2.6.22-14-generic
root (hd0,*) #### *根據你的UBUNTU安裝盤而定
kernel /vmlinuz-2.6.22-14-generic root=/dev/hda(n) ro quiet splash
initrd /initrd.img-2.6.22-14-generic
quiet
如此啟動XP里,在啟動項里先ubuntu,就可以進入LINUX系統。
先從ubuntu的grub選項中選擇XP,再從XP選項中先ubuntu,一樣能啟動ubuntu,這與ubuntu啟動菜單中直接選擇啟動不矛盾。
三、XP與VISTA,先XP,后VISTA沒問題的了。
先VISTA后XP,在XP系統中使用VistaBootPRO 3.1設置也可以,有的會啟動的時候會出現問題?據說需要dotnetfx.exe和langpack.exe兩個文件。最后安裝vistabootpro3.1.看這里:http://bbs.zol.com.cn/index20070812/index_308_6904.html
用VISTA光盤也可以修復吧。看來還是修復到vista啟動xp?vista是加入不到xp的boot.ini中了吧。具體:放入光盤。CMD中#X: #cd boot #bootsect /nt60 sys 行了,bootsect /nt52 sys 這個命令是刪除VISTA啟動的。(CMD一定要在系統文件夾sysem32中的CMD,??什么意思)重啟進入VISTA,http://www.zhaodll.net/dll/b/200701/2840.html這里有bootsect下載
bcdedit /create {ntldr} -d "!·#¥%……"
bcdedit /set {ntldr} device partition=d: #d vista盤符?
bcdedit /set {ntldr} path \ntldr
bcdedit /displayorder {ntldr} /addlast
由此看來,個人感覺grub是啟動工具里面最好的東東。通吃。三系統有問題,裝grub for dos 或者用ubuntu livecd啟動,命令行下執行grub命令,寫入MBR中grub,也行。grub麻煩的地方需要根據自己系統情況手動修改menu.lst項。建議用之。
四、先ubuntu,后vista又是什么情況。
下載grub4dos軟件包
提取文件grldr 和grldr.mbr拷貝到C盤(文件系統要ntfs的)根目錄
運行cmd,執行命令:
bcdedit /create /d "GRUB MENU" /application bootsector#
建立一個名稱為“GRUB MENU”,通過加載類型為“引導扇區文件”的啟動項
生成{ID}復制下來
bcdedit /set {ID} device partition=c: #設置引導扇區文件所在的分區,grldr.mbr所在分區
bcdedit /set {ID} path \grldr.mbr #指定引導扇區文件的路徑和文件名
bcdedit /displayorder {ID} /addlast #增加這個Ubuntu的菜單項到末尾。
下面修改menu.lst,就行了。吼吼,xp用boot.ini. vista的bcdedit看這命令也是設置grldr的位置,這個命令添加到哪個文件去了呢?為什么不能用文本修改?
五、如果在ubuntu中終端下執行:
#dd if=/dev/sda3 of=/dev/sda6/linuxloader/ubuntu.lnx bs=512 count=1
/dev/sda3試你的ubuntu boot所在分區而定。生成ubuntu.lnx,用此文件取代上面grldr.mbr的話。
在vista下,用管理員權限運行cmd,然后
bcdedit /create /d "Ubuntu 7.04" /application bootsector
bcdedit /set {GUID} device partition=C:
bcdedit /set {GUID} path \ubuntu.lnx
bcdedit /displayorder {GUID} /addlast
就行了,不需要menu.lst
總結:由以上內容可知先裝誰都沒問題了,也是都可以修復的。xp-vista-ubuntu xp-ubuntu-vista vista-xp-ubuntu vista-ubuntu-xp ubuntu-vista-xp(嘿,這個真豺)ubuntu-xp-vista
如果續個MAC,還是不用MAC啟動菜單好,在xp中加tboot。
Bcdedit 位于X:\Windows\system32\ "X:"為安裝vista的盤符。
儲存操作指令
====================
/createstore 創建一個新的空白啟動配置數據文件。
bcdedit /createstore C:\Data\BCD 創建BCD啟動配置數據文件儲存到“C:\DATA\”文件夾。
/export 備份啟動配置數據文件。
bcdedit /export "C:\Data\BCD Backup" 備份BCD啟動配置文件到“C:\Data\”文件夾,并以“BCD Backup”命名。
/import 還原啟動配置數據文件。
bcdedit /import "C:\Data\BCD Backup" 從“C:\Data\”文件夾恢復BCD啟動配置文件。
儲存項目操作指令
====================
/copy 項目拷貝
操作系統啟動項目的拷貝:
bcdedit /copy {cbd971bf-b7b8-4885-951a-fa03044f5d71} /d "Copy of entry"
/create 新建項目
創建操作系統載入程序項目的 NTLDR(Ntldr):
bcdedit /create {ntldr} /d "Earlier Windows OS Loader"
創建存儲器磁碟另外的選擇項項目:
bcdedit /create {ramdiskoptions} /d "Ramdisk options"
創建一個新的操作系統啟動項目:
bcdedit /create /d "Windows Vista" /application osloader
創建一個新的調試器:
bcdedit /create {dbgsettings} /d "Debugger Settings"
/delete 刪除項目
刪除指定的操作系統項目:
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71}
刪除指定的操作系統項目但啟動時不顯示項目(徹底刪除):
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71} /cleanup
刪除指定的操作系統項目但啟動時顯示項目:
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71} /nocleanup
刪除操作系統載入程序項目的 NTLDR:
bcdedit /delete {ntldr} /f
項目選擇操作指令
====================
/deletevalue 刪除項目選擇項。
刪除啟動管理的bootmgr選擇項項目:
bcdedit /deletevalue {bootmgr} bootsequence
刪除(WinPE)操作系統的數值開機項目:
bcdedit /deletevalue winpe
刪除來自指定的操作的 Windows PE 數值系統開機項目:
bcdedit /deletevalue {cbd971bf-b7b8-4885-951a-fa03044f5d71} winpe
/set 設定項目選擇項數值。
設定操作系統“cbd971bf-b7b8-4885-951a-fa03044f5d71”引導分區“C”:
bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} device partition=C:
指定的操作系統引導文件“ windows\ system 32\ winload.exe”:
bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} path \windows\system32\winload.exe
設定“NX”為“OptIn”:
bcdedit /set nx optin
更改系統名稱
默認XP系統名稱在Vista啟動管理器中是"earlier version of Windows",更改:
bcdedit /set {ntldr} Deion "Windows XP Professional SP2"
默認Vista系統名稱在Vista啟動管理器中是"Microsoft Windows",更改:
bcdedit /set {current} Deion "Windows Vista 5456"
輸出控制指令
====================
/enum 在儲存中的列表項目。
列出所有的操作系統載入程序啟動項目:
bcdedit /enum OSLOADER
列出所有的啟動管理項目:
bcdedit /enum BOOTMGR
列出默認的啟動項目:
bcdedit /enum {default}
列出指定的操作系統啟動項目:
bcdedit /enum {b38a9fc1-5690-11da-b795-e9ad3c5e0e3a}
/v 列出所有活動的項目
bcdedit /enum ACTIVE /v
啟動管理控制指令
====================
/bootsequence 設定啟動列表順序。
設定二個操作系統項目和啟動順序:
bcdedit /bootsequence {802d5e32-0784-11da-bd33-000476eba25f} {cbd971bf-b7b8-4885-951a- fa03044f5d71} {ntldr}
加入操作系統項目為啟動列表最后項:
bcdedit /bootsequence {802d5e32-0784-11da-bd33-000476eba25f} /addlast
/default 設定默認啟動項目。
設定默認啟動項目:
bcdedit /default {cbd971bf-b7b8-4885-951a-fa03044f5d71}
設定默認啟動操作系統程序為 NTLDR:
bcdedit /default {ntldr}
/displayorder 設定哪一個系統啟動顯示多啟動畫面。
設定二個操作系統項目和在啟動管理顯示命令中被建立操作系統載入的程序 NTLDR:
bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f}
{cbd971bf-b7b8-4885-951a-fa03044f5d71} {ntldr}
把指定的操作系統項目加入啟動管理顯示命令結束:
bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f} /addlast
/timeout 設定啟動暫停數值。
/toolsdisplayorder 設定命令在哪一個啟動管理顯示工具畫面。
設定二個工具項目和內存診斷在那啟動管理工具顯示命令:
bcdedit /toolsdisplayorder {802d5e32-0784-11da-bd33-000476eba25f}
{cbd971bf-b7b8-4885-951a-fa03044f5d71} {memdiag}
把指定的工具項目加入啟動的結束管理工具顯示命令:
bcdedit /toolsdisplayorder {802d5e32-0784-11da-bd33-000476eba25f} /addlast
為一個啟動應用程序控制緊急處理服務的指令
====================
/bootems
開啟啟動管理緊急處理服務:
bcdedit /bootems {bootmgr} ON
/ems
為目前的操作系統啟動項目 EMS 開啟:
bcdedit /ems ON
/emssettings 設定緊急處理服務參數。
設定 EMS 參數使用基本輸出入系統設定:
bcdedit /emssettings BIOS
本貼來自中關村在線產品論壇:<a >http://group.zol.com.cn/</a>,本帖地址:<a target='_blank'>http://nbbbs.zol.com.cn/1/9_64.html</a>
在之前基于NT的Windows系統中,Windows使用Ntldr作為Boot Loader來啟動系統,——所謂boot loader,在指在操作系統內核運行之前執行的一段小程序,系統通過它來初始化硬件設備、建立內存空間的映射圖等,將系統的軟硬件環境設置成一個合適的狀態,為最終調用操作系統內核準備好正確的環境。——在啟動過程中,Ntldr 使用Boot.ini 文件來確定在啟動/引導過程中要顯示哪些操作系統選項,我們對啟動選項的設置可以通過修改boot.ini文件中相應內容實現。
在Windows Vista中,微軟引入了一種全新的boot loader架構, Windows Boot Manager (Bootmgr.exe)。與Ntldr嚴重地依賴于硬件不同的是,Windows Vista中的新架構可以實現完整的硬件獨立性,且能夠與多種操作系統無縫結合,讓Windows Vista的啟動/引導過程更加快速與安全。同時,將之前Windows 系統中由Boot.ini管理的內容移交給新的Boot Configuration Data (BCD : 啟動設置數據),當然,也提供了新的啟動選項編輯工具,BCDEdit (BCDEdit.exe),來管理啟動設置。
BCDEdit : Windows Vista啟動設置編輯工具
在傳統的基于BIOS的計算機中,如果只安裝Windows Vista,除了極早期的Windows Vista測試版本外,您將會發現 Boot.ini 文件已經徹底從系統中消失;如果系統中安裝了Windows Vista和之前的WIndows系統如Windows XP,雖然仍可找到 Boot.ini 文件,不過,這個文件只作用于那些系統,而不會對 Windows Vista的啟動有任何影響。
在基于EFI (Extensible Firmware Interface : 可擴展固件接口,以后采用這種接口的PC會越來越多 )的計算機中,Boot.ini 文件則更不復存在,在基于EFI的系統中,啟動選項被貯存在主板的存儲器中。此時要修改啟動選項,要么通過能夠讀寫NVRAM的工具如NvrBoot,要么使用上文提到的BCDEdit。
由此可見,在Windows Vista中,想要再像之前Windows XP中那樣通過一個簡單的文本編輯器來修改Boot.ini的方式來管理啟動選項已經不可能了,要對啟動設置進行修改,只能使用命令格式相對要復雜得多的BCDEdit。
此外,微軟也在Windows Vista 中提供了可通過WMI (Windows Management Instrumentation : Windows管理規范)調用的 BCD 類,通過它可以用編程的方式修改BCD數據,不過,相信對絕大多數用戶而言,這更是不可能的任務。
啟動BCDEdit
需要注意的是,BCDEdit不是一個運行于圖形界面下的程序,而是一個命令行工具,該文件 (Bcdedit.exe) 位于 “\Windows\System32”目錄下。
要執行BCDEdit,首先應進入命令行窗口,并要將操作用戶并提升至管理員權限。
在命令行窗口中,轉到系統目錄如 “C:/windows/system32”下,然后輸入“ bcdedit” 即可。
BCDEdit命令簡介
通過命令行工具Bcdedit,我們可以添加、刪除及修改BCD (Boot Configuration Data)中的對象。在BCD中,每個對象均具有唯一的 GUID (Globally Unique Identifier : 全局唯一標識符),如系統中的每塊硬盤、每個分區的GUID (全局唯一標識符)均不相同。
在BCD中,硬盤或分區的GUID可分為如下幾類:
{legacy} :指存在上一代Windows系統如Windows XP的硬盤或分區;
{default} : 默認操作系統所在硬盤或分區;
{current} : 當前硬盤或分區;
{c34b751a-ff09-11d9-9e6e-0030482375e7} : 類似于這個格式的GUID指其他安裝了操作系統的硬盤或分區。
(注:這只是個例子,具體數字根據硬盤或分區參數會有相應變化,但均會類似于{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}格式)。
BCDEDIT命令
bcdedit /? : 顯示命令幫助
bcdedit.exe /? CREATESTORE : 顯示命令參數“ CREATESTORE ”的詳細信息,——當然,“ CREATESTORE ”也只是示例,使用中對其他任何可用參數也均可使用類似格式查看該參數的具體說明。
bcdedit 或 bcdedit /enum all : 顯示Windows Vista系統當前的啟動設置數據,這時系統中所有安裝了操作系統的硬盤或分區均會顯示相應的 GUID 標識,如 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 。
使用BCDEdit備份與恢復啟動選項
在對Windows Vista的啟動選項修改之前,最好先對其備份,以防萬一操作失誤或其他故障導致系統無法啟動。
bcdedit /export “D:\BCD Backup\Bcd Backup” : 將啟動設置備份到D盤 “BCD Backup” 目錄下;
bcdedit /import “D:\BCD Backup\Bcd Backup” : 恢復之前備份在D盤 “BCD Backup”目錄下啟動選項。
使用BCDEdit修改啟動菜單選項
作為一種良好的操作習慣,在對Windows Vista的啟動選項進行任何修改前,首先要對BCD中的啟動選項進行備份,相應的命令上頁我們已介紹過,在此不再贅述;其次,使用“bcdedit ”或“ bcdedit /enum all ”來查看系統中硬盤或分區的正確 GUID 標識,并將其記錄下來。畢竟,BCDEdit只是一款命令行工具,我們操作時需手動輸入類似“{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}”這樣的長字符串時,很容易出錯,而這往往會導致Windows Vista啟動失敗。
下面詳細介紹使用BCDEdit修改啟動選項的常用命令格式:
bcdedit /set {legacy} Description “Windows XP Professional SP2” : 修改上一代操作系統在啟動菜單中的顯示內容,比如說我們也可將其修改為“Vista天地專用XP SP2”之類。注意,命令中的引號不可省略;
bcdedit /set {current} description “Windows Vista Build 5270 x86″ : 修改當前啟動硬盤或分區上的操作系統在啟動菜單中的顯示內容。注意,當前分區上的操作系統可能為Windows Vista,也可以是其他系統,當然,命令中的引號也不可省略;
bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} description “Windows Vista Build 5270 x64” : 修改安裝于其他硬盤或分區的系統在啟動菜單中的顯示內容,使用這項命令時一定要注意該硬盤/分區的GUID輸入正確,相應的GUID可通過“ bcdedit ”或“ bcdedit /enum all ”命令查看。
bcdedit /default {current} : 將當前啟動硬盤/分區中的操作系統設置為默認啟動的系統;
bcdedit /default {5189b25c-5558-4bf2-bca4-289b11bd29e2} : 設置指定GUID上的操作系統為默認啟動的系統;
bcdedit /default {legacy} : 設置上一代Windows 系統Windows XP為默認啟動的系統;
bcdedit /displayorder : 設置啟用菜單中各項的顯示順序,如:
bcdedit.exe /displayorder {legacy} {current}
將首先顯示Windows XP,然后再顯示默認啟動的系統如Windows Vista;
bcdedit /timeout 15 : 將默認的啟動菜單顯示時間30秒更改為15秒,當然,您可以將這個時間修改為任何您希望的數值。
使用BCDEdit修復硬盤/分區結構錯誤
在對啟動選項的修改過程中,如添加或刪除某個硬盤/分區時,可能會因操作中的不慎導致硬盤/分區結構的混亂,除了采用恢復修改前的備份方法外,也可以首先使用BCDEdit來嘗試一下修復。
具體方法如下:
X:\>X:\boot\fixntfs.exe -lh -all : 這時的“ X: ”指引導目錄 “boot” 所在的硬盤/分區;
bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} device partition=X: : 將指定GUID的分區設為啟動分區。注意,這里的“ X: ”的GUID須與指定值不同,同時,運行該命令后,必須接著運行下面的osdevice命令;
bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} osdevice partition=X: : 將指定GUID的分區設為啟動分區。注意,這個命令必須與上面的device命令配對使用,同時“ X: ”的GUID須與指定值不同。
資料引用:http://www.knowsky.com/340968.html
http://www.chinaz.com/Server/Linux/02252341R008.html