2008年8月16日
一、如果是XP(vista)與UBUNTU之間,先裝XP,后裝ubuntu,ubuntu會(huì)在grub中加入XP啟動(dòng)項(xiàng)。可以手動(dòng)添加。
對應(yīng)XP,vista,2003的
title Microsoft Windows XP Professional
root (hd0,n) # n視XP所在分區(qū)而定,第一分區(qū)就是0
default
makeactive
chainloader +1
對應(yīng)2003,下面也可以。
title Earlier Version of Windows
#查找WINDOWS XP/2003 ,有些grub版本還不支持find命令
find --set-root /ntldr
chainloader /ntldr
對應(yīng)vista,在grub的menu.lst添加也可以,不指定分區(qū)
title Windows Vista(default)
#查找 Vista bootmgr ,有些grub版本還不支持find命令
fallback 4
find --set-root /bootmgr
chainloader /bootmgr
二、如果先裝的UBUNTU,或者先裝的XP后來重裝XP,也可以在XP啟動(dòng)項(xiàng)中加入U(xiǎn)BUNTU啟動(dòng)內(nèi)容。
這個(gè)就需要在boot.ini中添加grldr,grldr如果放在C盤根目錄下面的話,加c:\grldr=" Ubuntu"。還需要C盤下有BOOT文件夾,文件夾里是GRUB文件夾,內(nèi)含MENU.LST文件。包括上面的grldr都是grub for dos里面包含的內(nèi)容。MENU.LST的內(nèi)容需要根據(jù)你的UBUTNU BOOT所在位置,及內(nèi)核而定.grldr,arldr,ntldr分別是grub,dos工具箱,xp引導(dǎo)所用的三個(gè)文件。menu.lst內(nèi)容類似下:
title Ubuntu 7.10, kernel 2.6.22-14-generic
root (hd0,*) #### *根據(jù)你的UBUNTU安裝盤而定
kernel /vmlinuz-2.6.22-14-generic root=/dev/hda(n) ro quiet splash
initrd /initrd.img-2.6.22-14-generic
quiet
如此啟動(dòng)XP里,在啟動(dòng)項(xiàng)里先ubuntu,就可以進(jìn)入LINUX系統(tǒng)。
先從ubuntu的grub選項(xiàng)中選擇XP,再從XP選項(xiàng)中先ubuntu,一樣能啟動(dòng)ubuntu,這與ubuntu啟動(dòng)菜單中直接選擇啟動(dòng)不矛盾。
三、XP與VISTA,先XP,后VISTA沒問題的了。
先VISTA后XP,在XP系統(tǒng)中使用VistaBootPRO 3.1設(shè)置也可以,有的會(huì)啟動(dòng)的時(shí)候會(huì)出現(xiàn)問題?據(jù)說需要dotnetfx.exe和langpack.exe兩個(gè)文件。最后安裝vistabootpro3.1.看這里:http://bbs.zol.com.cn/index20070812/index_308_6904.html
用VISTA光盤也可以修復(fù)吧。看來還是修復(fù)到vista啟動(dòng)xp?vista是加入不到xp的boot.ini中了吧。具體:放入光盤。CMD中#X: #cd boot #bootsect /nt60 sys 行了,bootsect /nt52 sys 這個(gè)命令是刪除VISTA啟動(dòng)的。(CMD一定要在系統(tǒng)文件夾sysem32中的CMD,??什么意思)重啟進(jìn)入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
由此看來,個(gè)人感覺grub是啟動(dòng)工具里面最好的東東。通吃。三系統(tǒng)有問題,裝grub for dos 或者用ubuntu livecd啟動(dòng),命令行下執(zhí)行g(shù)rub命令,寫入MBR中g(shù)rub,也行。grub麻煩的地方需要根據(jù)自己系統(tǒng)情況手動(dòng)修改menu.lst項(xiàng)。建議用之。
四、先ubuntu,后vista又是什么情況。
下載grub4dos軟件包
提取文件grldr 和grldr.mbr拷貝到C盤(文件系統(tǒng)要ntfs的)根目錄
運(yùn)行cmd,執(zhí)行命令:
bcdedit /create /d "GRUB MENU" /application bootsector#
建立一個(gè)名稱為“GRUB MENU”,通過加載類型為“引導(dǎo)扇區(qū)文件”的啟動(dòng)項(xiàng)
生成{ID}復(fù)制下來
bcdedit /set {ID} device partition=c: #設(shè)置引導(dǎo)扇區(qū)文件所在的分區(qū),grldr.mbr所在分區(qū)
bcdedit /set {ID} path \grldr.mbr #指定引導(dǎo)扇區(qū)文件的路徑和文件名
bcdedit /displayorder {ID} /addlast #增加這個(gè)Ubuntu的菜單項(xiàng)到末尾。
下面修改menu.lst,就行了。吼吼,xp用boot.ini. vista的bcdedit看這命令也是設(shè)置grldr的位置,這個(gè)命令添加到哪個(gè)文件去了呢?為什么不能用文本修改?
五、如果在ubuntu中終端下執(zhí)行:
#dd if=/dev/sda3 of=/dev/sda6/linuxloader/ubuntu.lnx bs=512 count=1
/dev/sda3試你的ubuntu boot所在分區(qū)而定。生成ubuntu.lnx,用此文件取代上面grldr.mbr的話。
在vista下,用管理員權(quán)限運(yùn)行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
總結(jié):由以上內(nèi)容可知先裝誰都沒問題了,也是都可以修復(fù)的。xp-vista-ubuntu xp-ubuntu-vista vista-xp-ubuntu vista-ubuntu-xp ubuntu-vista-xp(嘿,這個(gè)真豺)ubuntu-xp-vista
如果續(xù)個(gè)MAC,還是不用MAC啟動(dòng)菜單好,在xp中加tboot。
Bcdedit 位于X:\Windows\system32\ "X:"為安裝vista的盤符。
儲存操作指令
====================
/createstore 創(chuàng)建一個(gè)新的空白啟動(dòng)配置數(shù)據(jù)文件。
bcdedit /createstore C:\Data\BCD 創(chuàng)建BCD啟動(dòng)配置數(shù)據(jù)文件儲存到“C:\DATA\”文件夾。
/export 備份啟動(dòng)配置數(shù)據(jù)文件。
bcdedit /export "C:\Data\BCD Backup" 備份BCD啟動(dòng)配置文件到“C:\Data\”文件夾,并以“BCD Backup”命名。
/import 還原啟動(dòng)配置數(shù)據(jù)文件。
bcdedit /import "C:\Data\BCD Backup" 從“C:\Data\”文件夾恢復(fù)BCD啟動(dòng)配置文件。
儲存項(xiàng)目操作指令
====================
/copy 項(xiàng)目拷貝
操作系統(tǒng)啟動(dòng)項(xiàng)目的拷貝:
bcdedit /copy {cbd971bf-b7b8-4885-951a-fa03044f5d71} /d "Copy of entry"
/create 新建項(xiàng)目
創(chuàng)建操作系統(tǒng)載入程序項(xiàng)目的 NTLDR(Ntldr):
bcdedit /create {ntldr} /d "Earlier Windows OS Loader"
創(chuàng)建存儲器磁碟另外的選擇項(xiàng)項(xiàng)目:
bcdedit /create {ramdiskoptions} /d "Ramdisk options"
創(chuàng)建一個(gè)新的操作系統(tǒng)啟動(dòng)項(xiàng)目:
bcdedit /create /d "Windows Vista" /application osloader
創(chuàng)建一個(gè)新的調(diào)試器:
bcdedit /create {dbgsettings} /d "Debugger Settings"
/delete 刪除項(xiàng)目
刪除指定的操作系統(tǒng)項(xiàng)目:
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71}
刪除指定的操作系統(tǒng)項(xiàng)目但啟動(dòng)時(shí)不顯示項(xiàng)目(徹底刪除):
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71} /cleanup
刪除指定的操作系統(tǒng)項(xiàng)目但啟動(dòng)時(shí)顯示項(xiàng)目:
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71} /nocleanup
刪除操作系統(tǒng)載入程序項(xiàng)目的 NTLDR:
bcdedit /delete {ntldr} /f
項(xiàng)目選擇操作指令
====================
/deletevalue 刪除項(xiàng)目選擇項(xiàng)。
刪除啟動(dòng)管理的bootmgr選擇項(xiàng)項(xiàng)目:
bcdedit /deletevalue {bootmgr} bootsequence
刪除(WinPE)操作系統(tǒng)的數(shù)值開機(jī)項(xiàng)目:
bcdedit /deletevalue winpe
刪除來自指定的操作的 Windows PE 數(shù)值系統(tǒng)開機(jī)項(xiàng)目:
bcdedit /deletevalue {cbd971bf-b7b8-4885-951a-fa03044f5d71} winpe
/set 設(shè)定項(xiàng)目選擇項(xiàng)數(shù)值。
設(shè)定操作系統(tǒng)“cbd971bf-b7b8-4885-951a-fa03044f5d71”引導(dǎo)分區(qū)“C”:
bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} device partition=C:
指定的操作系統(tǒng)引導(dǎo)文件“ windows\ system 32\ winload.exe”:
bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} path \windows\system32\winload.exe
設(shè)定“NX”為“OptIn”:
bcdedit /set nx optin
更改系統(tǒng)名稱
默認(rèn)XP系統(tǒng)名稱在Vista啟動(dòng)管理器中是"earlier version of Windows",更改:
bcdedit /set {ntldr} Deion "Windows XP Professional SP2"
默認(rèn)Vista系統(tǒng)名稱在Vista啟動(dòng)管理器中是"Microsoft Windows",更改:
bcdedit /set {current} Deion "Windows Vista 5456"
輸出控制指令
====================
/enum 在儲存中的列表項(xiàng)目。
列出所有的操作系統(tǒng)載入程序啟動(dòng)項(xiàng)目:
bcdedit /enum OSLOADER
列出所有的啟動(dòng)管理項(xiàng)目:
bcdedit /enum BOOTMGR
列出默認(rèn)的啟動(dòng)項(xiàng)目:
bcdedit /enum {default}
列出指定的操作系統(tǒng)啟動(dòng)項(xiàng)目:
bcdedit /enum {b38a9fc1-5690-11da-b795-e9ad3c5e0e3a}
/v 列出所有活動(dòng)的項(xiàng)目
bcdedit /enum ACTIVE /v
啟動(dòng)管理控制指令
====================
/bootsequence 設(shè)定啟動(dòng)列表順序。
設(shè)定二個(gè)操作系統(tǒng)項(xiàng)目和啟動(dòng)順序:
bcdedit /bootsequence {802d5e32-0784-11da-bd33-000476eba25f} {cbd971bf-b7b8-4885-951a- fa03044f5d71} {ntldr}
加入操作系統(tǒng)項(xiàng)目為啟動(dòng)列表最后項(xiàng):
bcdedit /bootsequence {802d5e32-0784-11da-bd33-000476eba25f} /addlast
/default 設(shè)定默認(rèn)啟動(dòng)項(xiàng)目。
設(shè)定默認(rèn)啟動(dòng)項(xiàng)目:
bcdedit /default {cbd971bf-b7b8-4885-951a-fa03044f5d71}
設(shè)定默認(rèn)啟動(dòng)操作系統(tǒng)程序?yàn)?NTLDR:
bcdedit /default {ntldr}
/displayorder 設(shè)定哪一個(gè)系統(tǒng)啟動(dòng)顯示多啟動(dòng)畫面。
設(shè)定二個(gè)操作系統(tǒng)項(xiàng)目和在啟動(dòng)管理顯示命令中被建立操作系統(tǒng)載入的程序 NTLDR:
bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f}
{cbd971bf-b7b8-4885-951a-fa03044f5d71} {ntldr}
把指定的操作系統(tǒng)項(xiàng)目加入啟動(dòng)管理顯示命令結(jié)束:
bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f} /addlast
/timeout 設(shè)定啟動(dòng)暫停數(shù)值。
/toolsdisplayorder 設(shè)定命令在哪一個(gè)啟動(dòng)管理顯示工具畫面。
設(shè)定二個(gè)工具項(xiàng)目和內(nèi)存診斷在那啟動(dòng)管理工具顯示命令:
bcdedit /toolsdisplayorder {802d5e32-0784-11da-bd33-000476eba25f}
{cbd971bf-b7b8-4885-951a-fa03044f5d71} {memdiag}
把指定的工具項(xiàng)目加入啟動(dòng)的結(jié)束管理工具顯示命令:
bcdedit /toolsdisplayorder {802d5e32-0784-11da-bd33-000476eba25f} /addlast
為一個(gè)啟動(dòng)應(yīng)用程序控制緊急處理服務(wù)的指令
====================
/bootems
開啟啟動(dòng)管理緊急處理服務(wù):
bcdedit /bootems {bootmgr} ON
/ems
為目前的操作系統(tǒng)啟動(dòng)項(xiàng)目 EMS 開啟:
bcdedit /ems ON
/emssettings 設(shè)定緊急處理服務(wù)參數(shù)。
設(shè)定 EMS 參數(shù)使用基本輸出入系統(tǒng)設(shè)定:
bcdedit /emssettings BIOS
本貼來自中關(guān)村在線產(chǎn)品論壇:<a >http://group.zol.com.cn/</a>,本帖地址:<a target='_blank'>http://nbbbs.zol.com.cn/1/9_64.html</a>
在之前基于NT的Windows系統(tǒng)中,Windows使用Ntldr作為Boot Loader來啟動(dòng)系統(tǒng),——所謂boot loader,在指在操作系統(tǒng)內(nèi)核運(yùn)行之前執(zhí)行的一段小程序,系統(tǒng)通過它來初始化硬件設(shè)備、建立內(nèi)存空間的映射圖等,將系統(tǒng)的軟硬件環(huán)境設(shè)置成一個(gè)合適的狀態(tài),為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。——在啟動(dòng)過程中,Ntldr 使用Boot.ini 文件來確定在啟動(dòng)/引導(dǎo)過程中要顯示哪些操作系統(tǒng)選項(xiàng),我們對啟動(dòng)選項(xiàng)的設(shè)置可以通過修改boot.ini文件中相應(yīng)內(nèi)容實(shí)現(xiàn)。
在Windows Vista中,微軟引入了一種全新的boot loader架構(gòu), Windows Boot Manager (Bootmgr.exe)。與Ntldr嚴(yán)重地依賴于硬件不同的是,Windows Vista中的新架構(gòu)可以實(shí)現(xiàn)完整的硬件獨(dú)立性,且能夠與多種操作系統(tǒng)無縫結(jié)合,讓W(xué)indows Vista的啟動(dòng)/引導(dǎo)過程更加快速與安全。同時(shí),將之前Windows 系統(tǒng)中由Boot.ini管理的內(nèi)容移交給新的Boot Configuration Data (BCD : 啟動(dòng)設(shè)置數(shù)據(jù)),當(dāng)然,也提供了新的啟動(dòng)選項(xiàng)編輯工具,BCDEdit (BCDEdit.exe),來管理啟動(dòng)設(shè)置。
BCDEdit : Windows Vista啟動(dòng)設(shè)置編輯工具
在傳統(tǒng)的基于BIOS的計(jì)算機(jī)中,如果只安裝Windows Vista,除了極早期的Windows Vista測試版本外,您將會(huì)發(fā)現(xiàn) Boot.ini 文件已經(jīng)徹底從系統(tǒng)中消失;如果系統(tǒng)中安裝了Windows Vista和之前的WIndows系統(tǒng)如Windows XP,雖然仍可找到 Boot.ini 文件,不過,這個(gè)文件只作用于那些系統(tǒng),而不會(huì)對 Windows Vista的啟動(dòng)有任何影響。
在基于EFI (Extensible Firmware Interface : 可擴(kuò)展固件接口,以后采用這種接口的PC會(huì)越來越多 )的計(jì)算機(jī)中,Boot.ini 文件則更不復(fù)存在,在基于EFI的系統(tǒng)中,啟動(dòng)選項(xiàng)被貯存在主板的存儲器中。此時(shí)要修改啟動(dòng)選項(xiàng),要么通過能夠讀寫NVRAM的工具如NvrBoot,要么使用上文提到的BCDEdit。
由此可見,在Windows Vista中,想要再像之前Windows XP中那樣通過一個(gè)簡單的文本編輯器來修改Boot.ini的方式來管理啟動(dòng)選項(xiàng)已經(jīng)不可能了,要對啟動(dòng)設(shè)置進(jìn)行修改,只能使用命令格式相對要復(fù)雜得多的BCDEdit。
此外,微軟也在Windows Vista 中提供了可通過WMI (Windows Management Instrumentation : Windows管理規(guī)范)調(diào)用的 BCD 類,通過它可以用編程的方式修改BCD數(shù)據(jù),不過,相信對絕大多數(shù)用戶而言,這更是不可能的任務(wù)。
啟動(dòng)BCDEdit
需要注意的是,BCDEdit不是一個(gè)運(yùn)行于圖形界面下的程序,而是一個(gè)命令行工具,該文件 (Bcdedit.exe) 位于 “\Windows\System32”目錄下。
要執(zhí)行BCDEdit,首先應(yīng)進(jìn)入命令行窗口,并要將操作用戶并提升至管理員權(quán)限。
在命令行窗口中,轉(zhuǎn)到系統(tǒng)目錄如 “C:/windows/system32”下,然后輸入“ bcdedit” 即可。
BCDEdit命令簡介
通過命令行工具Bcdedit,我們可以添加、刪除及修改BCD (Boot Configuration Data)中的對象。在BCD中,每個(gè)對象均具有唯一的 GUID (Globally Unique Identifier : 全局唯一標(biāo)識符),如系統(tǒng)中的每塊硬盤、每個(gè)分區(qū)的GUID (全局唯一標(biāo)識符)均不相同。
在BCD中,硬盤或分區(qū)的GUID可分為如下幾類:
{legacy} :指存在上一代Windows系統(tǒng)如Windows XP的硬盤或分區(qū);
{default} : 默認(rèn)操作系統(tǒng)所在硬盤或分區(qū);
{current} : 當(dāng)前硬盤或分區(qū);
{c34b751a-ff09-11d9-9e6e-0030482375e7} : 類似于這個(gè)格式的GUID指其他安裝了操作系統(tǒng)的硬盤或分區(qū)。
(注:這只是個(gè)例子,具體數(shù)字根據(jù)硬盤或分區(qū)參數(shù)會(huì)有相應(yīng)變化,但均會(huì)類似于{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}格式)。
BCDEDIT命令
bcdedit /? : 顯示命令幫助
bcdedit.exe /? CREATESTORE : 顯示命令參數(shù)“ CREATESTORE ”的詳細(xì)信息,——當(dāng)然,“ CREATESTORE ”也只是示例,使用中對其他任何可用參數(shù)也均可使用類似格式查看該參數(shù)的具體說明。
bcdedit 或 bcdedit /enum all : 顯示W(wǎng)indows Vista系統(tǒng)當(dāng)前的啟動(dòng)設(shè)置數(shù)據(jù),這時(shí)系統(tǒng)中所有安裝了操作系統(tǒng)的硬盤或分區(qū)均會(huì)顯示相應(yīng)的 GUID 標(biāo)識,如 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 。
使用BCDEdit備份與恢復(fù)啟動(dòng)選項(xiàng)
在對Windows Vista的啟動(dòng)選項(xiàng)修改之前,最好先對其備份,以防萬一操作失誤或其他故障導(dǎo)致系統(tǒng)無法啟動(dòng)。
bcdedit /export “D:\BCD Backup\Bcd Backup” : 將啟動(dòng)設(shè)置備份到D盤 “BCD Backup” 目錄下;
bcdedit /import “D:\BCD Backup\Bcd Backup” : 恢復(fù)之前備份在D盤 “BCD Backup”目錄下啟動(dòng)選項(xiàng)。
使用BCDEdit修改啟動(dòng)菜單選項(xiàng)
作為一種良好的操作習(xí)慣,在對Windows Vista的啟動(dòng)選項(xiàng)進(jìn)行任何修改前,首先要對BCD中的啟動(dòng)選項(xiàng)進(jìn)行備份,相應(yīng)的命令上頁我們已介紹過,在此不再贅述;其次,使用“bcdedit ”或“ bcdedit /enum all ”來查看系統(tǒng)中硬盤或分區(qū)的正確 GUID 標(biāo)識,并將其記錄下來。畢竟,BCDEdit只是一款命令行工具,我們操作時(shí)需手動(dòng)輸入類似“{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}”這樣的長字符串時(shí),很容易出錯(cuò),而這往往會(huì)導(dǎo)致Windows Vista啟動(dòng)失敗。
下面詳細(xì)介紹使用BCDEdit修改啟動(dòng)選項(xiàng)的常用命令格式:
bcdedit /set {legacy} Description “Windows XP Professional SP2” : 修改上一代操作系統(tǒng)在啟動(dòng)菜單中的顯示內(nèi)容,比如說我們也可將其修改為“Vista天地專用XP SP2”之類。注意,命令中的引號不可省略;
bcdedit /set {current} description “Windows Vista Build 5270 x86″ : 修改當(dāng)前啟動(dòng)硬盤或分區(qū)上的操作系統(tǒng)在啟動(dòng)菜單中的顯示內(nèi)容。注意,當(dāng)前分區(qū)上的操作系統(tǒng)可能為Windows Vista,也可以是其他系統(tǒng),當(dāng)然,命令中的引號也不可省略;
bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} description “Windows Vista Build 5270 x64” : 修改安裝于其他硬盤或分區(qū)的系統(tǒng)在啟動(dòng)菜單中的顯示內(nèi)容,使用這項(xiàng)命令時(shí)一定要注意該硬盤/分區(qū)的GUID輸入正確,相應(yīng)的GUID可通過“ bcdedit ”或“ bcdedit /enum all ”命令查看。
bcdedit /default {current} : 將當(dāng)前啟動(dòng)硬盤/分區(qū)中的操作系統(tǒng)設(shè)置為默認(rèn)啟動(dòng)的系統(tǒng);
bcdedit /default {5189b25c-5558-4bf2-bca4-289b11bd29e2} : 設(shè)置指定GUID上的操作系統(tǒng)為默認(rèn)啟動(dòng)的系統(tǒng);
bcdedit /default {legacy} : 設(shè)置上一代Windows 系統(tǒng)Windows XP為默認(rèn)啟動(dòng)的系統(tǒng);
bcdedit /displayorder : 設(shè)置啟用菜單中各項(xiàng)的顯示順序,如:
bcdedit.exe /displayorder {legacy} {current}
將首先顯示W(wǎng)indows XP,然后再顯示默認(rèn)啟動(dòng)的系統(tǒng)如Windows Vista;
bcdedit /timeout 15 : 將默認(rèn)的啟動(dòng)菜單顯示時(shí)間30秒更改為15秒,當(dāng)然,您可以將這個(gè)時(shí)間修改為任何您希望的數(shù)值。
使用BCDEdit修復(fù)硬盤/分區(qū)結(jié)構(gòu)錯(cuò)誤
在對啟動(dòng)選項(xiàng)的修改過程中,如添加或刪除某個(gè)硬盤/分區(qū)時(shí),可能會(huì)因操作中的不慎導(dǎo)致硬盤/分區(qū)結(jié)構(gòu)的混亂,除了采用恢復(fù)修改前的備份方法外,也可以首先使用BCDEdit來嘗試一下修復(fù)。
具體方法如下:
X:\>X:\boot\fixntfs.exe -lh -all : 這時(shí)的“ X: ”指引導(dǎo)目錄 “boot” 所在的硬盤/分區(qū);
bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} device partition=X: : 將指定GUID的分區(qū)設(shè)為啟動(dòng)分區(qū)。注意,這里的“ X: ”的GUID須與指定值不同,同時(shí),運(yùn)行該命令后,必須接著運(yùn)行下面的osdevice命令;
bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} osdevice partition=X: : 將指定GUID的分區(qū)設(shè)為啟動(dòng)分區(qū)。注意,這個(gè)命令必須與上面的device命令配對使用,同時(shí)“ X: ”的GUID須與指定值不同。
資料引用:http://www.knowsky.com/340968.html
http://www.chinaz.com/Server/Linux/02252341R008.html
Tomcat 5的數(shù)據(jù)源配置跟Tomcat 5.5的數(shù)據(jù)源配置有很多的差別,Tomcat 6的數(shù)據(jù)源配置跟Tomcat 5.5的配置基本上相同。
以前的Tomcat5的配置需要在server.xml文件當(dāng)中配置或者在conf/Catalina/localhost下面相應(yīng)的上下文配置文件做配置。這種配置方式不合理的地方在于,假如數(shù)據(jù)庫做了更改,程序員需要手工去修改這些文件,不利于團(tuán)隊(duì)開發(fā)。
Tomcat 5.5跟Tomcat 6的配置顯得更為簡單,我們只需要在我們的WebRoot目錄下,新建一個(gè)META-INF的目錄(假如不存在),在該目錄下創(chuàng)建一個(gè)context.xml文件,(或conf目錄下的全局context.xml),并且在context.xml文件當(dāng)添加以下的配置信息(要根據(jù)自己的情況稍加修改):
程序代碼
<Context>
<Resource name="jdbc/tfms" auth="Container" type="javax.sql.DataSource"
maxActive="50" maxIdle="30" maxWait="10000" logAbandoned="true"
username="sa" password="password" driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://localhost:1433/TransfusionMngDB;tds=8.0;lastupdatecount=true"/>
</Context>
其中:
name 表示指定的jndi名稱
auth 表示認(rèn)證方式,一般為Container
type 表示數(shù)據(jù)源床型,使用標(biāo)準(zhǔn)的javax.sql.DataSource
maxActive 表示連接池當(dāng)中最大的數(shù)據(jù)庫連接
maxIdle 表示最大的空閑連接數(shù)
maxWait 當(dāng)池的數(shù)據(jù)庫連接已經(jīng)被占用的時(shí)候,最大等待時(shí)間
logAbandoned 表示被丟棄的數(shù)據(jù)庫連接是否做記錄,以便跟蹤
username 表示數(shù)據(jù)庫用戶名
password 表示數(shù)據(jù)庫用戶的密碼
driverClassName 表示JDBC DRIVER
url 表示數(shù)據(jù)庫URL地址
在以往的tomcat當(dāng)中還需要在web.xml指定相應(yīng)的resource,在tomcat 5.5以后的版本不寫也可以,但建議還是配置。
程序代碼
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/tfms</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
配置完之后,還需要將JDBC DRIVER存放在%TOMCAT_HOME%/lib里面,這是必須的,不然,tomcat沒有辦法找到driver
之后重新啟動(dòng)tomcat
www.apache.com 發(fā)現(xiàn)新版本6.18 download core→zip
bin目錄下 startup.bat ctatlina.bat 中添加 JAVA_HOME/JRE_HOME CATALINA_HOME/TOMCAT_HOME
Windows Service Installer方式則安裝時(shí)自動(dòng)添加
現(xiàn)在喜歡在windows或linux中都不添加任何系統(tǒng)變量除java_home 因?yàn)槊看闻渲玫阶詈笕珌y成一團(tuán)
關(guān)于JVM和tomcat的內(nèi)存問題
tomcat6.0只須設(shè)置:JAVA_OPS tomcat6.0之前設(shè)置:CATALINA_OPTS/TOMCAT_OPTS
如 SET CATALINA_OPTS= -Xms64m -Xmx512m;
ms是JVM初始化堆的大小,mx是JVM堆的最大值,一般說來,你應(yīng)該使用物理內(nèi)存的80% 作為堆大小。.
引用:
有以下幾種方法可以選用:
第一種方法:
Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下設(shè)置:
JAVA_OPTS='-Xms【初始化內(nèi)存大小】 -Xmx【可以使用的最大內(nèi)存】'
需要把這個(gè)兩個(gè)參數(shù)值調(diào)大。例如:
JAVA_OPTS='-Xms256m -Xmx512m'
表示初始化內(nèi)存為256MB,可以使用的最大內(nèi)存為512MB。
第二種方法: 環(huán)境變量中設(shè) 變量名:JAVA_OPTS 變量值:-Xms512m -Xmx512m
第三種方法:前兩種方法針對的是bin目錄下有catalina.bat的情況(比如直接解壓的Tomcat等),但是有些安裝版的Tomcat下沒有catalina.bat,這個(gè)時(shí)候可以采用如下方法,當(dāng)然這個(gè)方法也是最通用的方法:打開tomcatHome/\bin/\tomcat5w.exe,點(diǎn)擊Java選項(xiàng)卡,然后將會(huì)發(fā)現(xiàn)其中有這么兩項(xiàng):Initial memory pool和Maximum memory pool.Initial memory pool這個(gè)就是初始化設(shè)置的內(nèi)存的大小。Maximum memory pool這個(gè)是最大內(nèi)存的大小
也可在【tomcat配置窗口】-【Java標(biāo)簽】-【Java Options】,輸入JVM優(yōu)化參數(shù):
-Xms512M
-Xmx512M
-Xverify:none
-XX:PermSize=128M
-XX:MaxPermSize=256m
-XX:MaxNewSize=256m
-XX:+UseAdaptiveSizePolicy
-XX:+UseParallelGC
-XX:+UseParallelOldGC
-XX:NewSize=200m
-Xmn200m
注意 一行一句配置 前后都不能有空格
連接器優(yōu)化 禁止和允許列目錄下的文件 禁止和允許主機(jī)或IP地址訪問
設(shè)置完了就按確定然后再重啟TOMCAT你就會(huì)發(fā)現(xiàn)tomcat中jvm可用的內(nèi)存改變了
當(dāng)struts2 theme為ajax時(shí) 使用UI標(biāo)簽總是自動(dòng)添加<tr> <td>
可以在根目錄,建立template文件夾,將struts2-core-xx.jar下的template文件夾解壓其中
在templaate文件夾下的 ajax 下建立 text.flt
內(nèi)容如下
<#--
this is controlheader-core.ftl
Only show message if errors are available.
This will be done if ActionSupport is used.
-->
<#assign hasFieldErrors = parameters.name?exists && fieldErrors?exists && fieldErrors[parameters.name]?exists/>
<#if hasFieldErrors>
<#list fieldErrors[parameters.name] as error>
<tr errorFor="${parameters.id}">
<#if parameters.labelposition?default("") == 'top'>
<td align="left" valign="top" colspan="2"><#rt/>
<#else>
<td align="center" valign="top" colspan="2"><#rt/>
</#if>
<span class="errorMessage">${error?html}</span><#t/>
</td><#lt/>
</tr>
</#list>
</#if>
<#--
if the label position is top,
then give the label it's own row in the table
<tr>
<#if parameters.labelposition?default("") == 'top'>
<td align="left" valign="top" colspan="2"><#rt/>
<#else>
<td class="tdLabel"><#rt/>
</#if>
<#if parameters.label?exists>
<label <#t/>
<#if parameters.id?exists>
for="${parameters.id?html}" <#t/>
</#if>
<#if hasFieldErrors>
class="errorLabel"<#t/>
<#else>
class="label"<#t/>
</#if>
><#t/>
<#if parameters.required?default(false) && parameters.requiredposition?default("right") != 'right'>
<span class="required">*</span><#t/>
</#if>
${parameters.label?html}<#t/>
<#if parameters.required?default(false) && parameters.requiredposition?default("right") == 'right'>
<span class="required">*</span><#t/>
</#if>
:<#t/>
<#include "/${parameters.templateDir}/xhtml/tooltip.ftl" />
</label><#t/>
</#if>
</td><#lt/>
add the extra row
<#if parameters.labelposition?default("") == 'top'>
</tr>
<tr>
</#if>
-->
<#if parameters.form?exists && parameters.form.validate?default(false) == true>
<#-- can't mutate the data model in freemarker -->
<#if parameters.onblur?exists>
${tag.addParameter('onblur', "validate(this);${parameters.onblur}")}
<#else>
${tag.addParameter('onblur', "validate(this);")}
</#if>
</#if>
<#--
<#include "/${parameters.templateDir}/${themeProperties.parent}/controlheader.ftl" />
-->
<#include "/${parameters.templateDir}/simple/text.ftl" />
<#--
<#include "/${parameters.templateDir}/xhtml/controlfooter.ftl" />
-->