windows 7 引導過程概述

 

windows 7 引導過程概述

 原文地址:http://blog.csdn.net/richion/article/details/4414189

Window 7 的核心版本號是 NT6.1 ,和 vista NT6.0 還是屬於一個系列的,因此採用了一樣的啓動管理機制。對於雙系統來說,正如 98 和 xp 共存的雙系統一樣, xp 和 7 共存的算系統安裝也是要有先後順序的。因爲windows 的啓動管理屬於向下兼容, 7 的可以兼容 xp ,而 xp 不可以兼容 7. 所以要先裝 xp 再裝 7 纔不會出問題。

 

先解釋一下一些 windows 7 中跟引導有關係的文件和關鍵位置

 

  • Mbr&dpt : 硬盤主引導記錄和分區表(分區表中包括四部分用來記載四個主分區的物理位置),位於硬盤的第一個扇區,不屬於任何系統分區。
  • Bootmgr windows nt6 系列的引導管理器,位於主激活分區內,屬於系統隱藏文件
  • Boot.bak : boot.ini 的備份,雙系統的時候會存在。
  • Bootsect.bak: bootsect.bak 是該活動分區的前 16 個扇區的備份文件,所以它的大小是 8KB, 就是 pbr 的備份。
  • PBR 分區引導代碼
  • /boot/[ 語言 ]/bootmgr.exe.mui: 在主分區 boot 目錄下包括 24 個語言的 BOOTMGR.EXE.MUI ,用來和bootmgr 組合形成啓動菜單
  • /boot/bcd: 相當於 xp 時代的 boot.ini ,不過 bcd 是基於數據庫的,不是基於文本的,也是爲了安全性考慮吧。微軟專門提供了一個修改 bcd 的程序 bcdeit 來修改相應的參數
  • /boot/bcd.log&bcd.log1&bcd.log2 : log 文件,具體幹嘛的未知。
  • /boot/bootstat.dat : 引導時候用來記錄引導狀態的數據文件
  • /boot/ memtest.exe :內存測試工具

 

 

下面來解釋一下 window 7 的啓動原理。(正常流程 , 因爲還有很多非正常的情況啓動過程有些區別,就不再這裏贅述了)

 

首先加電之後是 bios 程序啓動, bios 自檢完成之後,將 mbr 的代碼讀入內存,管理權交給 mbr , mbr 再讀取dpt ,從 dpt 找出硬盤的所有分區哪一個是激活的主分區。到這裏爲止,所以系統都是一樣的。下面就有區別了。 Dpt 讀完找到主分區之後然後找到這個主分區的 pbr , pbr 位於激活主分區的第一個扇區。安裝不同操作系統的時候 pbr 是會被改變的, xp 的 pbr 寫死的代碼是去找 ntldr 。而 vista 和 7 的 pbr 裏寫進的就是去找bootmgr 。

這個時候顯示器上還沒有顯示引導管理器的界面。 Bootmgr 被找到之後管理權就交到了 bootmgr 。 Boot Manager 首先從 BCD 中讀取 Boot Manager 菜單的語言版本信息,然後再調用 BOOTMGR 與相應語言的BOOTMGR.EXE.MUI 組成相應語言的啓動菜單,之後纔會在顯示器上顯示引導管理器,也就是選擇多操作系統的那個文字界面。最後,當你選擇了相應的操作系統,這裏當然是 7 (如果選擇 xp, 會轉入 xp 的啓動流程,找到 xp 的 ntldr 然後啓動), bootmgr 就去尋找系統分區(系統分區和主分區的概念不是一樣的哦)windows/system32 下的 winload.exe 加載操作系統內核。剩下的事就是啓動 windows7 了。


 

 

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