miss bootmgr的問題

bootmgr

  bootmgr:啓動管理器。Bootmgr是Boot Manager的縮寫,是在Windows Vista和Windows 7中使用的新的啓動管理器,以代替Windows xp中的啓動管理器—NTLDR。在微軟的Windows Vista,Windows Server 2008和Windows 7操作系統中,其啓動過程與從前的以NT爲內核的Windows版本略有不同。bootmgr就相當於Win NT/Win 2000/Win XP時代的NTLDR。
  電腦加電後,首先是啓動BIOS程序,BIOS自檢完畢後,找到硬盤上的主引導記錄MBR,MBR讀取DPT(分區表),從中找出活動的主分區,然後讀取活動主分區的PBR(分區引導記錄,也叫pbr),PBR再搜尋分區內的啓動管理器文件bootmgr,在bootmgr被找到後,控制權就交給了bootmgr。bootmgr讀取\boot\bcd文件(BCD=Boot Configuration Data ,也就是“啓動配置數據”,簡單地說,windows7下的bcd文件就相當於xp下的boot.ini文件),如果存在着多個操作系統並且選擇操作系 統的等待時間不爲0的話,這時就會在顯示器上顯示操作系統的選擇界面。在我們選擇啓動Windows 7後,bootmgr就會去啓動盤尋找 WINDOWS\system32\winload.exe,然後通過winload.exe加載windows7內核,從而啓動整個windows7系 統。可以把這個過程簡單地概括爲:BIOS-->MBR-->DPT-->pbr--> Bootmgr-->bcd-->Winload.exe-->內核加載 -->整個windows7系統
  可以說,bootmgr就相當於Win NT/Win 2000/Win XP時代的NTLDR。NTLDR是win nt/win2000/WinXP中的引導文件,是一個隱藏的,只讀的系統文件,位置在系統盤的根目錄,它的主要職責是解析Boot.ini文件,用來裝載操作系統。一個值得注意的變化是,Windows 7啓動管理器是按空格鍵而不是按F8功能鍵調用。 但F8鍵依然具有調取高級啓動選項菜單的功能。 爲了保持一個可擴展固件接口系統,也爲了使版本最高的啓動管理器負責管理所有的操作系統,使啓動管理器具備向下兼容性、而不是向上兼容,Windows啓動管理器對已安裝的所有操作系統統一列爲一個可供選擇的菜單,在配置 Windows Vista與Windows 2000/XP的多系統共存時,bootmgr 將全面負責計算機的啓動管理工作,NTLDR 將淪爲 bootmgr 的替補。舉個例子,假設我們配置了Windows Vista、Windows XP兩個操作系統的共存,bootmgr 啓動菜單並不會把 Windows XP也列在啓動菜單裏,而是將它顯示爲“早期版本的 Windows”。
  啓動配置數據(BCD)是一種用於啓動時的配置數據固件獨立數據庫。它取代了NTLDR中的boot.ini,是由微軟的新Windows啓動管理器使用。啓動配置數據 (BCD) 存儲包含啓動配置參數,並在Windows Vista 和 Windows Server 2008 操作系統中控制操作系統的啓動方式。這些參數以前位於Boot.ini 文件中(在基於 BIOS 的操作系統中)或穩定 RAM (NVRAM) 項中(在基於可擴展固件接口的操作系統中)。通過在 BCD 存儲中添加、刪除、編輯和附加項,可以使用 Bcdedit.exe 命令行工具來影響在預操作系統環境中運行的 Windows(R) 代碼。Bcdedit.exe 位於 Windows Vista 分區的 \Windows\System32 目錄中。創建 BCD 旨在爲描述啓動配置數據提供一種改進的機制。隨着新固件模型 [例如,可擴展固件接口 (EFI)] 的發展,用戶需要一個可擴展且可互操作的接口以提取底層固件。這一全新的設計爲 Windows Vista 中的多種新功能(例如,啓動修復工具和多用戶安裝快捷方式)提供了支持。
  微軟新一代操作系統Windows 7,然而,這個7 並不是代表 Windows 7 的核心版本已經從 Windows Vista 的 NT 6 升級至 NT 7,而只是代表 Windows 7 是微軟正式發行的桌面 Windows 第七代產品而已。Windows 7 真正的核心版本號僅僅是 NT 6.1,Windows 7 與 Windows Vista 的關係好比是 Windows XP(NT 5.1)與 Windows 2000(NT 5.0)。時隔多年,Windows 又一次與我們玩起了文字遊戲,以至於有人將 Windows 7 戲稱爲“NT 6.1 = Windows 非常 6+1 = Windows 7”。 爲了更爲直觀地理解 Windows 7 = NT 6+1,不妨從 Windows 啓動管理器的層面看待這個問題。與容易混淆的 Windows 正式產品名稱相比,啓動管理器一直是嚴格按照 Windows 系統的核心版本加以區分的。這是由於在配置多重操作系統共存時,必須由版本最高的啓動管理器負責管理所有的操作系統,啓動管理器只具備向下兼容性、不具備向上兼容性。因此,啓動管理器的版本必須嚴格按照高低先後的順序正確排列,而不能像 Windows 的正式名稱一樣胡亂設置,否則便有可能無法正確配置多重操作系統共存。
  例如,Windows 2000/XP/Server 2003 之所以都叫做 NT 5.X,是因爲它們的啓動管理器全部都是 NTLDR 與 BOOT.ini。在配置 Windows 2000/XP/Server 2003 彼此之間的多系統共存時,每一個操作系統都是由 NTLDR 與 BOOT.INI 統一管理的,大家是平起平坐的關係。而做爲 NT 6.X 的 Windows Vista/Server 2008 則採用了 BOOTMGR 與 BCD 的新式啓動管理器,在配置 Windows Vista/Server 2008 與 Windows 2000/XP/Server 2003 的多系統共存時,BOOTMGR 將全面負責計算機的啓動管理工作,NTLDR 將淪爲 BOOTMGR 的替補。舉個例子,假設我們配置了 Windows Vista、Windows XP、Windows Server 2008、Windows Server 2003 四個操作系統的共存,BOOTMGR 啓動菜單並不會把 Windows XP 與 Windows Server 2003 分別列在啓動菜單裏,而是將它們統一顯示爲“早期版本的 Windows”。只有做爲 NT 6.X 的 Windows Vista 與 Windows Server 2008 纔有資格在 BOOTMGR 啓動菜單中以獨立選項的姿態出現。我們只有選擇了“早期版本的 Windows”選項,由 BOOTMGR 將啓動控制權移交給 NTLDR 並自動切換爲 NTLDR 菜單,這時纔可以繼續選擇需要啓動 Windows XP 還是 Windows Server 2003。換言之,NTLDR 啓動菜單就像是 BOOTMGR 啓動菜單的子菜單一樣。
  現在我們再來看一下 Windows 7,當我們在安裝有 Windows Vista/Server 2008 的計算機中安裝了 Windows 7 後,Windows 7 會將自己添加在 BCD 裏,與原有的 Windows Vista/Server 2008 實現共存,BOOTMGR 啓動菜單將顯示 Windows 7、Windows Vista/Server 2008 及早期版本的 Windows(如果有的話)三個選項。換言之,Windows 7 採用的啓動管理器依然是 BOOTMGR 與 BCD,它與 Windows Vista/Server 2008 是一個平起平坐的關係。
  假如 Windows 7 的核心版本叫做 NT 7 的話,那麼它應該拿出一個版本比 BOOTMGR 與 BCD 更高的新啓動管理器纔對,由這個新的啓動管理器接管 BOOTMGR 與 BCD 的工作。當然,目前在現實中是不存在這樣一個啓動管理器的,我們不妨將其假設爲 Loader v7。那麼,當我們安裝了 Windows NT 7 系統後,Loader v7 將自動取代 BOOTMGR 與 BCD 負責計算機的啓動管理,到時候只有符合 NT 7.X 版本的 Windows 系統纔有資格以獨立選項的姿態出現在 Loader v7 菜單中,Windows Vista/Server 2008 將被統一顯示爲“早期版本的 Windows”、Windows XP/Server 2003 則將被顯示爲“更早期版本的 Windows”(當然,如果幾年以後真的有 Loader v7,到時它究竟還能否向下兼容 Windows XP/Server 2003 恐怕很難說了)。
  現在,Windows 7 雖然正式名稱叫做 7,但是它卻並沒有拿出這樣一款更高級的 Loader v7 啓動管理器,依然只能依靠 BOOTMGR 與 BCD、同 Windows Vista/Server 2008 平起平坐,因此 Windows 7 的核心版本號還沒有資格提升到 NT 7 的高度,最多隻能叫做 NT 6.1 了。雖然現在 Windows 7 僅僅放出了一個預覽版,在正式發行前會有什麼變化還不好說,但從目前核心版本號已經確定爲 NT 6.1 的情況來看,筆者認爲 Windows 7 的啓動管理器不會有什麼大變了。可以預見在今後的三五年內,我們的計算機都將長期使用 BOOTMGR 與 BCD。就像 Windows 2000/XP/Server 2003 可以並列在一起成爲 NT 5.X 系列一樣、Windows Vista/Server 2008(包括將來的 R2)/Windows 7 也可以並列在一起組成一個相對完整的 NT 6.X 家族了。
  其實,在 Windows 7 核心版本號確定之前,筆者個人還是非常希望 Windows 7 能夠設計新的啓動管理器取代 BOOTMGR 與 BCD,真正成爲 NT 7 的。現有的 BOOTMGR 與 BCD 雖然已經很好用,但有一個最大的缺陷就是它始終還是基於純字符界面的、不是一個支持鼠標操作的 GUI 界面,叫做 Windows 未免有些名不副實。其它操作系統可是早就實現圖形方式的啓動管理器了,這不得不說是一個遺憾。試想如果開機自檢後可以出現一個圖形化的啓動界面,通過鼠標點擊按鈕選擇操作系統以及安全模式等選項該有多好,期待 NT 7 將來可以實現。目前只有使用 ERD Commander 等第三方啓動管理器軟件纔可以實現這個目的了

bootmgr出現以下兩個問題之後的解決辦法

  bootmgr出現以下兩個問題之後的解決辦法:
  1,出現“Bootmgr is missing,please press Ctrl+Alt+Del to restart”錯誤提示時的解決辦法
  bootmgr丟失,按Ctrl + Alt + DEL 重新啓動。錯誤往往在以下情況:您意外或者故意刪除了一些重要Vista系統文件,或者文件被病毒或惡意軟件損壞或摧毀,還可能您採取了不適當的BIOS模擬等Vista激活方式,讓你不能訪問Vista的桌面環境。所以這是系統的問題, 想要修復bootmgr丟失的錯誤,而您又不想重新安裝Windows Vista時,大部分人選擇了使用Vista的DVD安裝光盤來開機,這兒有個永久性的根除這個錯誤的辦法,很簡單,只要按照中概述的步驟指南來操作就可以了。
  一、插入Windows Vista的DVD安裝光盤,用它來啓動電腦,如果沒有正常啓動,請確定在BIOS裏面設置下開機啓動順序,先由DVD驅動器啓動電腦。
  二、在安裝Winows那個窗口,選擇適合您的系統語言、時區、鍵盤模式,然後點擊下一步按鈕。
  三、在下一步驟的屏幕左下角,點擊“修復您的電腦”鏈接。
  四、如果您有很多Windows硬盤分區的話,請先選擇您要修復的那個分區, 如果您只有一個Windows安裝,那麼選擇就是顯而易見的。
  五、在“系統恢復選項”窗口,點擊“啓動修復”,這樣,就可以防止Windows無法啓動,也解決丟失bootmgr錯誤提示的問題。我的本本也是那樣,後來我發現VISTA系統就都是那樣,後來我就不用了,我現在還用的是XP SP3的,這穩定
  2,出現“BOOTMGR is compressed Press Ctrl+Alt+Del to restart”錯誤提示時的解決辦法
  方法一,最簡單的方法是:找一張winpe光盤,用它引導進入Win PE系統,打開我的電腦,右擊C盤,選擇屬性,把那個“壓縮此驅動器以節約磁盤空間”的勾去掉,然後確定,會出現bootmgr是只讀文件,是否忽略,全部忽略即可,好了,大功告成,重啓後一切正常
  方法二,windows7對C盤進行了壓縮後,惡夢開始了。重啓後顯示:“BOOTMGR is compressed Press Ctrl+Alt+Del to restart”。我使用的方法是:
  1、用vista啓動,選擇修復;
  2、運行“Bootrec.exe /fixmbr、Bootrec /fixboot"然後重啓。。然後華麗又出現在了面前,原來
  成功就是這麼簡單。
  當然在運行這個命令之前,網上的兩種方法我都試過了,C盤也解壓縮了。網上通用的方法如下:1、Boot the vista dvd to get to the command line.
  expand bootmgr temp
  attrib bootmgr -s -r -h
  del bootmgr
  ren temp bootmgr
  attrib bootmgr -a +s +r +h

  2、Vista安裝盤啓動,打開命令提示符,轉到你Vista的system32(如c:\windows\system32),之後“compact /u c:\bootmgr“最好運行"compact /u /a /f /s:C:\",把c:整個分區解壓縮。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章