如何在Windows Vista中添加XP故障恢復控制臺
眾所周知,Windows Vista 及以上版本的系統(Windows Server 2008、Windows 7)是不提供故障恢復控制臺的。可是,在 Windows Vista 的組策略編輯器中展開“計算機配置”-“Windows 設置”-“安全設置”-“本地策略”-“安全選項”,針對故障恢復控制臺而設置的兩個選項“故障恢復控制臺:允許對所有驅動器和文件夾進行軟盤復制和訪問”、“故障恢復控制臺:允許自動系統管理級登錄”卻依然存在。
什么是故障恢復控制臺?故障恢復控制臺(Recovery Console)是 Windows 2000/XP/Server 2003 專用的一個基于命令行的修復平臺,它相當于 Windows Vista 安裝程序提供的“修復計算機”-“系統恢復選項”-“命令提示符”,用于在 Windows 遇到故障無法啟動時,以命令行的方式手動修復系統。故障恢復控制臺不僅可以通過 Windows 2000/XP/Server 2003 安裝光盤直接啟動;也可以通過 WINNT32 /CMDCONS 命令將其安裝到硬盤中、與現有的 Windows 2000/XP/Server 2003 組成多重啟動。
但是既然 Windows Vista 已經不提供故障恢復控制臺了,那么組策略依然保留著這兩個選項“故障恢復控制臺:允許對所有驅動器和文件夾進行軟盤復制和訪問”、“故障恢復控制臺:允許自動系統管理級登錄”有什么意義呢?
最近,作者無意中發現一臺 Windows XP 計算機曾經通過 WINNT32 /CMDCONS 將故障恢復控制臺安裝于硬盤,后來這臺計算機在沒有卸載故障恢復控制臺的情況下將 Windows XP 升級安裝為了 Windows Vista。Windows Vista 的 BOOTMGR 啟動菜單保留了之前 Windows XP 的 NTLDR 啟動菜單選項,故障恢復控制臺依然存在、并自動與升級之后的 Windows Vista 組成了多重啟動,而且可以正常運行。
看來,故障恢復控制臺并不是完全沒可能與 Windows Vista 共存的。組策略之所以還保留那兩個選項,也許就是為了這種特殊的情況而設的吧。
當然,這只是個人的猜測,也許說得不對。而且作者也沒有進行深入測試,用故障恢復控制臺手動修復 Windows Vista 是否會遇到異常問題。如果哪位朋友知道這個問題的準確答案,即 Windows Vista 組策略為什么保留那兩個選項,還請賜教。
下面,作者總結一下在 Windows Vista 計算機中手動添加 Windows XP 故障恢復控制臺的方法,畢竟在 Windows Vista 中是不能直接執行 WINNT32 /CMDCONS 安裝故障恢復控制臺的,只能手動添加。
手動添加故障恢復控制臺一共分為下列四種情況:
***種情況就是上面所舉的例子,即:
1.1.首先安裝 Windows XP;
1.2 安裝故障恢復控制臺、與 Windows XP 組成多重啟動;
1.3.將 Windows XP 升級安裝為 Windows Vista。
這是最復雜的一種做法,僅適用于正打算將 Windows XP 升級為 Windows Vista 的用戶。
第二種情況是計算機已安裝 Windows Vista ***一個操作系統,希望添加 Windows XP 故障恢復控制臺。
可以遵循下列步驟:1.找到另外一臺安裝有故障恢復控制臺的 Windows XP 計算機,將位于活動分區的 CMDCONS 文件夾(隱含)、CMLDR、NTLDR、NTDETECT.COM、BOOT.INI 文件復制到 Windows Vista 的活動分區;2.修改 BOOT.INI 為下列內容:
- [boot loader]
- timeout=0
- default=C:“CMDCONS“BOOTSECT.DAT
- [operating systems]
- C:“CMDCONS“BOOTSECT.DAT="Recovery Console for Windows XP" /CMDCONS3.在 Windows Vista 中以管理員權限打開命令提示符,依次執行:
- BCDEDIT -CREATE {NTLDR} -D "Recovery Console"
- BCDEDIT -SET {NTLDR} DEVICE PARTITION=C:
- BCDEDIT -SET {NTLDR} PATH “NTLDR
- BCDEDIT -DISPLAYORDER {NTLDR} -ADDLAST
這樣當啟動計算機后,BOOTMGR 啟動菜單便會出現,詢問啟動 Windows Vista 還是 Recovery Console。
第三種情況是計算機已安裝 Windows Vista 與 Windows XP 的多重啟動,但 Windows XP 此前未安裝過故障恢復控制臺,現在希望添加 Windows XP 故障恢復控制臺,并且添加在 Windows XP 的 NTLDR 啟動菜單里。
可以遵循下列步驟:1 復制故障恢復控制臺文件,步驟同 2.1,其中 NTLDR、NTDETECT.COM、BOOT.INI 原本已有,可以省略;2 修改 BOOT.INI 為下列內容(注:此 BOOT.INI 僅供參考):
- [boot loader]
- timeout=30
- multi(0)disk(0)rdisk(0)partition(1)“Windows
- [operating systems]
- multi(0)disk(0)rdisk(0)partition(1)“Windows="Microsoft Windows XP with SP3" /FASTDETECT
- C:“CMDCONS“BOOTSECT.DAT="Recovery Console for Windows XP" /CMDCONS
這樣當啟動計算機后,首先還是出現 BOOTMGR 啟動菜單,詢問啟動 Windows Vista 還是 Windows XP。如果選擇 Windows XP,將切換至 NTLDR 啟動菜單,進一步詢問啟動 Windows XP 還是 Recovery Console for Windows XP。
第四種情況是計算機已安裝 Windows Vista 與 Windows XP 的多重啟動,但 Windows XP 此前未安裝過故障恢復控制臺,現在希望添加 Windows XP 故障恢復控制臺,并且添加在 Windows Vista 的 BOOTMGR 啟動菜單里。
可以遵循下列步驟:1 復制故障恢復控制臺文件,步驟同 2.1,其中 NTLDR、NTDETECT.COM、BOOT.INI 原本已有,可以省略;2 修改 BOOT.INI 為下列內容(注:此 BOOT.INI 僅供參考):
- [boot loader]
- timeout=0
- multi(0)disk(0)rdisk(0)partition(1)“Windows
- [operating systems]
multi(0)disk(0)rdisk(0)partition(1)“Windows="Microsoft Windows XP with SP3" /FASTDETECT3 將 NTLDR 與 BOOT.INI 復制一份副本,并改名為 XPRC.BIN 與 XPRC.INI(名稱可隨意),依然放在活動分區根目錄;4 使用十六進制編輯器修改 XPRC.BIN,搜索所有 BOOT.INI 字符并替換為 XPRC.INI,然后保存;5 修改 XPRC.INI 為下列內容:
- [boot loader]
- timeout=0
- default=C:“CMDCONS“BOOTSECT.DAT
- [operating systems]
- C:“CMDCONS“BOOTSECT.DAT="Recovery Console for Windows XP" /CMDCONS6.在 Windows Vista 中以管理員權限打開命令提示符,依次執行:
- BCDEDIT -COPY {NTLDR} -D "Recovery Console"
- BCDEDIT -SET {GUID} PATH “XPRC.BIN
(其中 GUID 是 BCDEDIT 分配給新啟動項的 GUID,可以通過 BCDEDIT /ENUM ALL 查看)
這樣,BOOTMGR 啟動菜單里實際就存在兩個“早期版本的 Windows”了,一個是 NTLDR、指向 Windows XP;另外一個是 XPRC.BIN、指向故障恢復控制臺。啟動計算機后只需直接從 BOOTMGR 啟動菜單中選擇希望啟動 Windows Vista、Windows XP 還是 Recovery Console 即可。
在Windows Vista中添加XP故障恢復控制臺目前只有手動方法,希望讀者能在底下研究出自動執行的方法出來。
【編輯推薦】