各位親愛的讀者,今天我們要繼續討論當開機經過初始階段(Initial Phase)後,它接下來的動作是什麼?不過在進入開機載入階段(Boot Loader Phase)之前,我們先來看看有那一些是在 W2K 開機時必須要存在的檔案及其擺放的地方(如下表所列),這些檔案若是不存在或是擺的路徑不對,都將會導致開機不成功的情況發生。
* 註:開機分割區(Boot Partition)指的是存放 W2K 作業系統程式的硬碟分割區,即 \WINNT 所在的那個分割區,此分割區可為主要分割區(Primary Partition)或邏輯分割區(Logical Partition),但系統分割區(System Partition)則必須是主要分割區且為啟動分割區(Active Partition)。若你的電腦只裝了一個 W2K 作業系統時,則系統分割區和開機分割區會位於同一個分割區,反之,若你有多個作業系統時,則系統分割區還是只有一個,即開機硬碟上的啟動分割區,而開機分 割區則會有多個。
以上所示之重要檔案若是遺失或損毀了,
該採取什麼樣的行動, 以讓 W2K 作業系統可以開機成功呢?
接下來我們就來看看以上這些檔案是在下面開機階段中何時出現及扮演著什麼樣的角色。
開機載入階段(Boot Loader Phase)
* 開機載入初始化(Initial Boot Loader)
* 選擇作業系統(Selecting the Operating System)
* 檢測硬體(Detecting Hardware)
* 選擇設定檔(Selecting a Configuration)
開機載入初始化(Initial Boot Loader)
當NTLDR 掌握控制權後,其會先將處理器(Processor)從真實模式(Real Mode)轉換到 32 位元平滑記憶體模式(32-bit Flat Memory Mode),因為 Intel x86 系統的電腦一啟動時,處理器為了能與某些專門是為 8 位元和 16 位元處理器所寫的軟體相容而將某些特性關掉而不啟動,因此這時候處理器模式是處於真實模式(類似 8088 或 8086 的 CPU),但為了讓 W2K 作業系統可以使用到所有可用的記憶體,而不像在傳統的 DOS 環境下,只能控制到所謂640 KB 的記憶體空間,其他部份則稱為延伸記憶體(Extended Memory),同時也不能建立虛擬記憶體(Virtual Memory)。因此在啟動其他功能及載入 W2K 作業系統之前,必須先將處理器轉換成 32 位元平滑記憶體模式才行。
接 下來再啟動內建在 NTLDR 中的迷你檔案系統驅動程式(Built-in mini-file system driver),以便辨識系統分割區和開機分割區的檔案系統(FAT、FAT32、NTFS)為何及如何存取該分割區中的檔案。這個內建在 NTLDR 中陽春版的迷你檔案系統驅動程式所具備的功能,剛好足以滿足在開機這段時間存取檔案的目的,至於完整版的檔案系統驅動程式將會在稍後的階段中載入。
選擇作業系統(Selecting the Operating System)
如 果你的系統是屬於多重開機設定(Multiple-Boot Configuration)時,則當開機載入初始化工作完成後,NTLDR 會顯示開機載入作業系統選單(Boot Loader Operating System Selection Menu)畫面,讓使用者可以選擇其想進入的作業系統(如下圖所示),至於這個選單的資料來源,則是定義在系統分割區根目錄的 Boot.ini 檔案中。
如 果你在倒數時間變成 0 之前沒有做任何的選擇,則 NTLDR 將會載入在 Boot.ini 檔案中所定義的預設作業系統,通常預設的作業系統是使用者最後安裝的作業系統,當然使用者可以根據實際需要去修改 Boot.ini 檔案中的設定,但因 Boot.ini 是一個隱藏唯讀系統檔案,所以在修改內容之前,必須將其唯讀屬性關掉。
如果你的系統是屬於單一開機設定 (single-boot configuration)時,即 Boot.ini 檔案中所定義的選單項目只有一個,另一個含意是你只有安裝一個作業系統且是 W2K 時,如此一來則不會顯示上面這個開機載入選單畫面,而是直接進入下一開機程式,接下來我們就來瞭解一下 Boot.ini 的內容(可與上圖互相對照比較):
當你想對 Boot.ini 內容從事修改的動作之前,你必須對其內容的每個部份做個瞭解,以免修改錯誤而導致開機失敗。接下來我們就對 Boot.ini 中的每個部份為各位讀者作個介紹:
基 本上 Boot.ini 檔案是由 [boot loader] 和 [operating system] 兩部份(Section)所構成,[boot loader] 這部份在定義選單倒數時間及預設要載入的作業系統為何,而 [operating system] 這部份則是在定義安裝在電腦系統上的作業系統有那些及其所在的開機分割區(Boot Partition)路徑。在 Boot.ini 檔案中是以 ARC 路徑(Advanced RISC Computing paths)來展現 W2K 作業系統所在的開機分割區位置是位於那一個硬碟控制器(Disk Controller)下的那一個硬碟中的那一個分割區,至於其他如 DOS/95/98/Me 作業系統則以大家所熟悉的方式來表示其所在路徑,例如 C:\,所以不在此多做介紹。
一般來說 ARC 路徑的表示法有下列二種:
下面我們就來研究一下上述二種 ARC 路徑的語法所表示之意為何:
multi(w)disk(x)rdisk(y)partition(z)\WINNT 語法介紹
SCSI(w)disk(x)rdisk(y)partition(z)\WINNT語法介紹
如 果在系統分割區的根目錄中沒有 Boot.ini 縱跡,則系統預設會去找第一個硬碟控制器(Disk Controller)下的第一個硬碟中的第一個分割區,即 multi(0)disk(0)rdisk(0)partition(1) 這個分割區。如果 W2K 作業系統沒有安裝在這個分割區,則會顯示如下的錯誤訊息,即使 Boot.ini 檔案存在,但其 ARC 路徑所指定的開機分割區中若沒有安裝 W2K 作業系統時,也會顯示如下的錯誤訊息:
若碰到上述所顯示之錯誤訊息,你該如何以最快的方法去檢查是因為 Boot.ini 檔案遺失或其 ARC 路徑指定錯誤而造成的問題?還是因為 Ntoskrnl.exe 檔案毀損或遺失所造成的問題?
如果你在開機載入作業系統選單(Boot Loader Operating System Selection Menu)畫面中,按下 F8 鍵,則會進入 Windows 2000 進階選項功能表,如下圖所示:
Windows 2000 進階選項功能表中的各個選項是代表什麼意思啊!當發生什麼樣的問題該選那一種選項呢?
檢測硬體(Detecting Hardware)
當 使用者選擇的作業系統是 W2K 作業系統時,則 NTLDR 會將 Ntdetect.com 這支程式載入到記憶體執行,此時會顯示如下的畫面。Ntdetect.com 主要的工作是偵測目前電腦安裝了那些硬體元件及其相關的設定資訊,並將其所收集到的資料建立成硬體清單(Hardware List)傳遞給 NTLDR,以備核心初始化階段(Kernel Initiation Phase)建立 HARDWARE 註冊機碼時使用。一般來說,Ntdetect.com 會偵測下列硬體元件:匯流排/介面卡類型、顯示卡、鍵盤、通訊埠(Communication Ports)、平行連接埠(Parallel Ports)、軟碟、滑鼠等裝置,同時還會收集系統韌體資訊,例如系統的日期和時間。
如果 Ntdetect.com 檔案毀損或遺失了,該如何修復以利開機正常進行?
如 果使用者選擇的作業系統是 DOS 或 Windows 95/98 時,則 NTLDR 將 Bootsect.dos 載入至記憶體,並將控制權移交給 Bootsect.dos 以正常啟動上述其他非 W2K 作業系統,例 DOS、Windows 95/98 或 Windows Me。
* 註:當你安裝 W2K 作業系統在 Inter x86 電腦時,W2K 安裝程式會將主要啟動磁區(PBS, Primary Boot Sector,即系統分割區的第一個磁區)的內容備份到一個名叫 Bootsect.dos 檔案,然後 W2K 再將 PBS 的內容置換成自己要用的 PBS 內容。W2K 的 PBS 中的程式碼主要的工作就是找到 NTLDR 所在位置並載入至記憶體。
如果 Bootsect.dos 檔案毀損或遺失了,該如何修復以讓 DOS、Windows 95/98 或 Windows Me開機成功呢?
選擇設定檔(Selecting a Configuration)
當 Ntdetect.com 收集完硬體資訊後,它會接著去尋找有關硬體設定檔的資料,接著你將會看到如下的「硬體設定檔/設定復原」功能表選單畫面,讓使用者選擇欲載入的硬體設定檔 (Hardware Profile),如果只有一個預設的硬體設定檔(Hardware Profile)- Profile 1時,則不會出現下面這個畫面。
當 W2K 在啟動電腦時,到底要啟動哪些裝置或這些裝置到底要使用什麼樣的設定,還有那些服務要啟動、那些服務不啟動,這些都是定義在硬體設定檔中。當 W2K 作業系統在安裝時,會建立一個名為 Profile 1 的硬體設定檔,在 Profile 1 硬體設定檔中,預設會啟用在安裝 W2K 作業系統時所安裝在電腦上的每個裝置。若為手提式電腦(Notebook),該硬體設定檔的名稱會是 Undocked Profile 或 Docked Profile,一般來說,硬體設定檔對手提式電腦比較有用,因手提式電腦的配備造價比較貴,例如一樣是 256 MB 的 RAM,用在桌上型電腦和手提式電腦上的價錢就差到 2 ~ 4 倍之譜,就算不理會價錢,以目前來說,桌上型電腦最多可支援到 2 ~ 4 GB 的 RAM,而手提式電腦最多只能支援到 1 GB 的 RAM,因此相較之下,我們可說手提式電腦的資源是有限的,所以為了善用資源的理由下,某些不需啟動的裝置或服務就將其關掉,以免浪費 CPU 和 RAM 的資源使用。例如現在你的手提式電腦是連上公司網路上 Internet 時,你就可以不要啟動數據機(Modem)裝置,如果你是在家連上 Internet 時,你就可以不要啟動網路卡。所以使用者可以根據使用狀況來選擇不同的硬體設定檔,只啟動必要的裝置及服務即可。如果你在倒數時間變成 0 之前沒有做任何的選擇,則預設會選擇第一個硬體設定檔,此時 Ntdetect.com 也就完成了它的工作使命而把控制權交還給 NTLDR。
至於硬體設體檔的建立及其內容的設定,我們則不在此專業名詞領域討論,若有與趣可至 W2K Server 的說明去得到你的解答哦,操作上非常簡單,不用害怕,你們一定可以自立更生的,我們下禮拜見囉!
----------------
吳北北
- Sep 09 Mon 2013 17:30
"開機" 萬言書- PART II(本篇有版權, 不宜公開)
close
"開機" 萬言書 - PART II(本篇有版權, 不宜公開)
全站熱搜
留言列表
發表留言