伊莉討論區

標題: Windows_多重啟動_多重開機_重要檔案講解 [打印本頁]

作者: kain0913    時間: 2009-8-2 02:30 AM     標題: Windows_多重啟動_多重開機_重要檔案講解

================================================
Windows_多重啟動_多重開機_重要檔案講解
by AYO 阿佑
================================================
前言:
原文出處:
作者: 我從山中來
http://tw.group.knowledge.yahoo.com/hacker-cracker/article/view?aid=1214
http://www.it.com.cn/f/edu/066/27/288702.htm
歡迎參觀 AYO 阿佑 個人的電腦技術園地
http://tw.myblog.yahoo.com/kain-0913/
Windows作業系統如果要做 多重開機 或者是 多重啟動的話,
意思是說同時擁有多個作業系統於硬碟裡面,想要開機的時候,
會有一個選單讓您選擇的話,就是這五個檔案最重要了,
它們分別是以下幾個:BOOT.INI、BOOTFONT.BIN、BOOTSECT.DOS、 NTDETECT.COM、NTLDR
而這五個當中,唯一可以程式化,意思是說 可以自行撰寫,或者是 看的懂的檔案,
就是 boot.ini 囉!!
AYO阿佑 在這邊寫一個範例給各位了解一下 boot.ini
<<這是單獨 Windows XP 開機的時候 boot.ini 的內容>>
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
<<這是雙系統 Windows XP & Windows 2003 開機的時候 選單 boot.ini 的內容>>
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows 2003 Server" /noexecute=optin /fastdetect
重點放在雙選單這邊,這邊意思是說,
partition 1 裡面放的是 WinXP,partition 2 裡面放的是 Win2003,
基本上來說 partition 1 預設的是 C:,partition 2 預設是 D:,
所謂的 C: D: 那都是 正常開機完成之後去做定義的,
所以還在開機階段的時候,所謂的 C: D: 那都是無意義的,
所以當然是用 multi(0)disk(0)rdisk(0)partition(1)\WINDOWS 來做指定
本篇教學文件,主要是教導,這五個檔案的運作與關係,而這五個檔當中,
唯一能手動去撰寫更改的只有 boot.ini,其他的四個 BOOTFONT.BIN、BOOTSECT.DOS、 NTDETECT.COM、NTLDR,
本文當中也有教導如何排除問題,與這些檔案是做什麼的
================================================
參考文獻如下 :
現在安裝多重啟動系統的朋友越來越多了,但是很少有人能夠完全知道,
在多重啟動系統中的幾個重要檔的作用是什麼。下面讓筆者簡單地予以介紹,
希望大家以後能關注這些檔,以備不時之需。
由於Windows 95/98/ME(以下簡稱Win9X)和 Windows NT/2000/XP/Server 2003(以下簡稱WinNT)
的引導方式完全不同,所以在多重啟動系統裏面,微軟採用了一種很巧妙的方式來解決這個問題。
Win9X採用的直接讀取引導磁區的方式來啟動系統,
而WinNT是通過NTLDR和NTDETECT.COM來啟動系統的。
這也是為什麼Win9X害怕引導區電腦病毒的原因之一。
需要說明的是,在WinNT架構的啟動進程中,有一個檔也是需要注意的,
這個檔就是經常被大家掛在嘴邊的BOOT.INI文件。由於這個檔的重要性被過度強化,
給大家造成了這個檔是無所不能的一種錯誤的印象,也就出現了一些“經典”的錯誤。
例如“備份雙系統啟動檔只需要備份C盤根目錄下得BOOT.INI檔就可以了”。
其實不然,在某些情況下,只備份這個檔是不能夠解決問題的。詳細的解釋請看後面的說明。
一、最重要的五個文件
本文將分析在多重啟動系統中起重要作用的檔,
它們分別是以下幾個:BOOT.INI、BOOTFONT.BIN、BOOTSECT.DOS、 NTDETECT.COM、NTLDR。
其中BOOT.INI是大家非常熟悉的一個配置檔。
從這個檔可以選擇啟動的作業系統是什麼?
而且還可以通過修改BOOT.INI檔控制啟動的方式,
如在作業系統說明符後面加上“/fastdetect”參數,可以使用快速自檢模式。
同樣,還有“ /nodetect”等參數可供使用。
但是,不是說沒有這個檔就不能夠啟動你的作業系統,
丟失這個檔的後果就是只能從C盤啟動。
同時,由於這個檔是完完全全的一個文本類型的檔,
我們可以使用任何文本編輯工具編輯這個檔。
換句話說,BOOT.INI在多重啟動系統中不是最重要的一個檔,
也就說不上“備份雙系統啟動檔只要備份C盤根目錄下的BOOT.INI檔就可以了”。
熟悉多重啟動系統啟動模式的朋友們都知道,作業系統的啟動流程從NTLDR開始。
NTLDR通過讀取BOOT.INI檔,確定作業系統啟動分區的位置。
對於只有一個作業系統的電腦,NTLDR啟動NTDETECT.COM開始下一步的啟動流程,
而對於含有多重啟動作業系統的電腦,NTLDR 將把BOOT.INI 的選擇功能表內容顯示
在螢幕上供使用者選擇。可見,NTLDR是決定多重啟動系統的關鍵性檔。
而常見的啟動出錯提示也是:“NTLDR is missing.”。那麼其他的檔又有什麼用處呢?
NTDETECT.COM是一個用於對硬體設備初始化的一個系統級別的檔,
然後把這些硬體資訊傳遞給下一個啟動步驟,最終完成作業系統的啟動。
需要說明的是,這個檔僅存於NT架構的作業系統裏面,
而在Win9X下的啟動流程又是另外的一種方式。
以上3個檔的重要性已經為不少讀者有所瞭解,
但是下面這個檔的重要性恐怕很少有人知道了。
這個檔就是在多重啟動中啟動Win9X作業系統的一個非常關鍵的檔:BOOTSECT.DOS。
從名字上是看不出這個檔有什麼特殊的用途的,
但是如果你的多重啟動作業系統組合裏面含有Win9X,
那麼你一定可以在C盤根目錄發現這個檔。這個檔不大,只有512位元組。
其實這個檔裏面存放的就是大家非常熟悉的啟動磁區裏面的全部資料。
那這個檔是如何產生的呢?當NTLDR被安裝的時候,
安裝程式自動地將原先的啟動磁區保存為BOOTSECT.DOS檔,
然後使用新的啟動資料覆蓋這個磁區。當這個檔丟失的時候,
你再選擇啟動Win9X時,你看到的不再是熟悉的藍天白雲的啟動畫面,
而是螢幕上的一串英文提示,翻譯過來的大意就是I/O錯誤,
系統無法啟動。為什麼會這樣?因為NTLDR從你的選擇中得知你將啟動Win9X系統,
然後去讀取BOOTSECT.DOS檔以開始Win9X啟動流程,但是由於BOOTSECT.DOS檔不存在,
所以啟動過程當然會失敗了。
================================================
篇後語:
相信經過這篇教學,您應該對 Windows 多重開機 多重啟動,都有一定程度的了解,
下次安裝了雙系統的時候,也應該知道哪邊可能會有問題,
也知道要如何排除困難了!
================================================
歡迎轉載,但請務必說明原出處
歡迎參觀 AYO 阿佑 個人的電腦技術園地
http://tw.myblog.yahoo.com/kain-0913/
作者: albayao    時間: 2009-8-3 01:18 PM

有深度的文章
都沒有人回應?
作者: kain0913    時間: 2009-8-4 03:36 PM

唉~~ 金害~~ 寫半天,只能孤芳自賞,
沒人鳥,
也許 BT、電影、遊戲、電動 比較受人歡迎吧!!

以上  AYO 阿佑




歡迎光臨 伊莉討論區 (http://wwww489.eyny.com/) Powered by Discuz!