• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            依舊的博客

            技術(shù)學習

            C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
              17 Posts :: 1 Stories :: 2 Comments :: 0 Trackbacks

            我曾經(jīng)在有一個Windows XP的機器上另裝一個Windows 2000,結(jié)果2000裝完后XP不能啟動了。后來上網(wǎng)看了一些資料,又幾經(jīng)試驗,解決了這個問題。這里總結(jié)一下其中的原理,這個現(xiàn)象很容易在重裝低版本系統(tǒng)后出現(xiàn),而且弄清原理以后,我們可以更自由地處理多系統(tǒng)安裝的問題。

            單個操作系統(tǒng)的引導過程是這樣的:首先,主引導記錄(MBR)被加載到內(nèi)存運行,它讀取磁盤分區(qū)表(DPT),查找第一個活動分區(qū)(可引導分區(qū)),該分區(qū)的引導扇區(qū)存放著操作系統(tǒng)的引導記錄。然后,系統(tǒng)引導記錄被加載到內(nèi)存運行,它從系統(tǒng)安裝目錄讀取系統(tǒng)的啟動文件,將其加載執(zhí)行,控制隨后的啟動過程。

            這里面涉及到一些程序和數(shù)據(jù),它們存放在不同的地方,在不同階段運行。第一段程序MBR,它的數(shù)據(jù)是DPT,它們存放在磁盤的主引導扇區(qū)。第二段程序是系統(tǒng)引導記錄,存放在系統(tǒng)所在分區(qū)的引導扇區(qū)。第三段程序是系統(tǒng)啟動文件,存放在系統(tǒng)所在分區(qū)系統(tǒng)安裝目錄中。這三段程序像接力跑一樣,前一段程序的工作就是加載后一段程序,并把控制交給它。 引導記錄和啟動文件隨操作系統(tǒng)而不同, 是在安裝時形成的,每個系統(tǒng)的安裝程序都把其引導記錄寫入安裝分區(qū)的引導扇區(qū),而啟動文件是系統(tǒng)的一部分。

            上面的引導過程有一個基本缺陷,就是只能引導一個系統(tǒng),并且只能引導裝在第一活動分區(qū)的系統(tǒng)。

            如果一個操作系統(tǒng)不在活動分區(qū),那么該系統(tǒng)要被引導有三種辦法,改寫MBR,改寫第一活動分區(qū)引導記錄,或把所在分區(qū)設為第一活動分區(qū)。最后一種做法是不方便的,系統(tǒng)通常會改寫前兩段引導程序,那么它在解決自身引導問題的同時,也不能破壞其他系統(tǒng)的引導,這就引出了多系統(tǒng)地引導問題。常見的做法是系統(tǒng)提供一個啟動管理器接管引導過程。啟動管理器能夠獲得機器上多個系統(tǒng)的引導記錄,從而可以根據(jù)用戶選擇啟動不同的系統(tǒng)。系統(tǒng)在安裝時改寫磁盤第一活動分區(qū)的引導記錄,使啟動管理器被作為第三段程序加載。

            如果啟動管理器能夠知道機器上每個系統(tǒng)所在的分區(qū),就能獲得該系統(tǒng)的引導記錄,從而可以引導該系統(tǒng)。但實際上,啟動管理器所屬系統(tǒng)的引導記錄是不能再次被加載的,必須特殊對待。同一系列的系統(tǒng),也可能有類似的問題。所以啟動管理器可能要了解機器上每個系統(tǒng)具體如何啟動,相應進行引導。這樣只有讓高版本的系統(tǒng)提供啟動管理器,因為低版本的啟動管理器無法啟動高版本系統(tǒng)。
            2000/XP的啟動管理器是OS Loader。它對98和2000/XP的引導就是不同的,對98是加載98引導記錄的鏡像文件,對2000/XP是加載HAL.DLL等文件。OS Loader在引導多系統(tǒng)時,對于windows系列的引導有特殊性,必須向下兼容。

            OS Loader的載體是ntldr文件,它運行時還會讀取一個配置文件boot.ini,兩個文件都存放在磁盤第一活動分區(qū)根目錄。boot.ini記錄了每個系統(tǒng)所在的分區(qū),每個版本的windows在安裝時都會在boot.ini中填寫有關(guān)自身的一項。2000/XP在安裝時都會更新OS Loader和重寫第一活動分區(qū)的引導記錄,后安裝者的兩個程序才會被保留。如果后裝2000,由于前述的OS Loader版本問題,就可能無法引導XP。

            posted on 2006-05-18 16:27 依舊的博客 閱讀(920) 評論(0)  編輯 收藏 引用 所屬分類: 動手
            亚洲欧美久久久久9999| 久久人搡人人玩人妻精品首页| 久久久久无码中| 四虎国产精品成人免费久久| 亚洲国产精品婷婷久久| 久久婷婷国产麻豆91天堂| 久久综合综合久久97色| 国产高清美女一级a毛片久久w| 久久99精品国产99久久| 国产V亚洲V天堂无码久久久| 久久亚洲sm情趣捆绑调教 | 久久97久久97精品免视看| 99精品久久精品一区二区| 久久免费精品视频| 久久人人爽人人爽人人片AV不| 无码专区久久综合久中文字幕| 精品久久久久久亚洲精品| 丁香久久婷婷国产午夜视频| 99久久精品费精品国产| 超级97碰碰碰碰久久久久最新| 日日噜噜夜夜狠狠久久丁香五月| 99久久久精品| 久久水蜜桃亚洲av无码精品麻豆| 久久精品国产亚洲7777| 亚洲级αV无码毛片久久精品| 99久久精品国产高清一区二区| 国产免费久久精品丫丫| 国产色综合久久无码有码| 青青草原综合久久| 久久青草国产手机看片福利盒子| 伊人久久成人成综合网222| 精品一区二区久久| 久久精品人人槡人妻人人玩AV| 久久人人超碰精品CAOPOREN| 久久强奷乱码老熟女网站 | 午夜精品久久久久久中宇| 久久国产影院| 久久久久久久久久免免费精品| 久久噜噜电影你懂的| 69国产成人综合久久精品| 久久婷婷五月综合97色直播 |