Window 7 的核心版本號是 NT6.1 ,和 vista NT6.0 還是屬于一個系列的,因此采用了一樣的啟動管理機制。對于雙系統(tǒng)來說,正如 98 和 xp 共存的雙系統(tǒng)一樣, xp 和 7 共存的算系統(tǒng)安裝也是要有先后順序的。因為 windows 的啟動管理屬于向下兼容, 7 的可以兼容 xp ,而 xp 不可以兼容 7. 所以要先裝 xp 再裝 7 才不會出問題。
先解釋一下一些 windows 7 中跟引導有關系的文件和關鍵位置
Mbr&dpt : 硬盤主引導記錄和分區(qū)表(分區(qū)表中包括四部分用來記載四個主分區(qū)的物理位置),位于硬盤的第一個扇區(qū),不屬于任何系統(tǒng)分區(qū)。
Bootmgr : windows nt6 系列的引導管理器,位于主激活分區(qū)內,屬于系統(tǒng)隱藏文件
Boot.bak : boot.ini 的備份,雙系統(tǒng)的時候會存在。
Bootsect.bak: bootsect.bak 是該活動分區(qū)的前 16 個扇區(qū)的備份文件,所以它的大小是 8KB, 就是 pbr 的備份。
PBR : 分區(qū)引導代碼
/boot/[ 語言 ]/bootmgr.exe.mui: 在主分區(qū) 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 : 引導時候用來記錄引導狀態(tài)的數據文件
/boot/ memtest.exe :內存測試工具
下面來解釋一下 window 7 的啟動原理。(正常流程 , 因為還有很多非正常的情況啟動過程有些區(qū)別,就不再這里贅述了)
首先加電之后是 bios 程序啟動, bios 自檢完成之后,將 mbr 的代碼讀入內存,管理權交給 mbr , mbr 再讀取 dpt ,從 dpt 找出硬盤的所有分區(qū)哪一個是激活的主分區(qū)。到這里為止,所以系統(tǒng)都是一樣的。下面就有區(qū)別了。 Dpt 讀完找到主分區(qū)之后然后找到這個主分區(qū)的 pbr , pbr 位于激活主分區(qū)的第一個扇區(qū)。安裝不同操作系統(tǒng)的時候 pbr 是會被改變的, xp 的 pbr 寫死的代碼是去找 ntldr 。而 vista 和 7 的 pbr 里寫進的就是去找 bootmgr 。
這個時候顯示器上還沒有顯示引導管理器的界面。 Bootmgr 被找到之后管理權就交到了 bootmgr 。 Boot Manager 首先從 BCD 中讀取 Boot Manager 菜單的語言版本信息,然后再調用 BOOTMGR 與相應語言的 BOOTMGR.EXE.MUI 組成相應語言的啟動菜單,之后才會在顯示器上顯示引導管理器,也就是選擇多操作系統(tǒng)的那個文字界面。最后,當你選擇了相應的操作系統(tǒng),這里當然是 7 (如果選擇 xp, 會轉入 xp 的啟動流程,找到 xp 的 ntldr 然后啟動), bootmgr 就去尋找系統(tǒng)分區(qū)(系統(tǒng)分區(qū)和主分區(qū)的概念不是一樣的哦) windows/system32 下的 winload.exe 加載操作系統(tǒng)內核。剩下的事就是啟動 windows7 了。
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請
點擊舉報。