Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows 7系統教程 >> win7系統基礎知識 >> Windows 7/Vista 系統中添加故障恢復控制台

Windows 7/Vista 系統中添加故障恢復控制台

日期:2017/1/24 15:29:07      編輯:win7系統基礎知識

故障恢復控制台(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 Server 2008、Windows 7)是不提供故障恢復控制台的。可是,在 Windows Vista 的組策略編輯器中展開“計算機配置”-“Windows 設置”-“安全設置”-“本地策略”-“安全選項”,針對故障恢復控制台而設置的兩個選項“故障恢復控制台:允許對所有驅動器和文件夾進行軟盤復制和訪問”、“故障恢復控制台:允許自動系統管理級登錄”卻依然存在。筆者一直不明白,既然 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 故障恢復控制台。可以遵循下列步驟:

2.1.找到另外一台安裝有故障恢復控制台的 Windows XP 計算機,將位於活動分區的 CMDCONS 文件夾(隱含)、CMLDR、NTLDR、NTDETECT.COM、BOOT.INI 文件復制到 Windows Vista 的活動分區;

2.2.修改 BOOT.INI 為下列內容:

[boot loader]

timeout=0

default=C:\CMDCONS\BOOTSECT.DAT

[Operating systems]

C:\CMDCONS\BOOTSECT.DAT="Recovery Console for Windows XP" /CMDCONS

2.3.在 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 啟動菜單裡。可以遵循下列步驟:

3.1 復制故障恢復控制台文件,步驟同 2.1,其中 NTLDR、NTDETECT.COM、BOOT.INI 原本已有,可以省略;

3.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 啟動菜單裡。可以遵循下列步驟:

4.1 復制故障恢復控制台文件,步驟同 2.1,其中 NTLDR、NTDETECT.COM、BOOT.INI 原本已有,可以省略;

4.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" /FASTDETECT

4.3 將 NTLDR 與 BOOT.INI 復制一份副本,並改名為 XPRC.BIN 與 XPRC.INI(名稱可隨意),依然放在活動分區根目錄;

4.4 使用十六進制編輯器修改 XPRC.BIN,搜索所有 BOOT.INI 字符並替換為 XPRC.INI,然後保存;

4.5 修改 XPRC.INI 為下列內容:

[boot loader]

timeout=0

default=C:\CMDCONS\BOOTSECT.DAT

[Operating systems]

C:\CMDCONS\BOOTSECT.DAT="Recovery Console for Windows XP" /CMDCONS

4.6.在 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 即可。

Copyright © Windows教程網 All Rights Reserved