主題: XP系統轉移
查看單個文章
舊 2010-08-08, 06:14 PM   #10 (permalink)
不知道
長老會員
榮譽勳章
UID - 548
在線等級: 級別:59 | 在線時長:3787小時 | 升級還需:53小時級別:59 | 在線時長:3787小時 | 升級還需:53小時級別:59 | 在線時長:3787小時 | 升級還需:53小時級別:59 | 在線時長:3787小時 | 升級還需:53小時級別:59 | 在線時長:3787小時 | 升級還需:53小時級別:59 | 在線時長:3787小時 | 升級還需:53小時級別:59 | 在線時長:3787小時 | 升級還需:53小時級別:59 | 在線時長:3787小時 | 升級還需:53小時級別:59 | 在線時長:3787小時 | 升級還需:53小時
註冊日期: 2002-12-06
住址: 桃園
文章: 8606
現金: 1491 金幣
資產: 1183995 金幣
預設

《資訊技術》

磁碟引導開機(上)

科工所 黃耀輝

前言

目前大部份作業系統的安裝步驟都儘量自動化,連開機引導程序
也一併處理了。或許大家似乎感覺不到開機程序的存在,但它仍掌
握著作業系統的命脈,當它真的不見了(如病毒破壞或安裝不當),
可會動彈不得。

再者,如果善用「系統開機程序」,不管是系統啟動或備份將更
容易。故筆者想藉本文與讀者切磋心得,一起討論Windows、DOS環
境下的開機問題。

開機步驟

大致上,硬體(韌體)部份的啟動步驟約略如下(如果發現其中
有錯誤,可參考使用手冊,針對該部份進行檢查):

當電源供應器啟動且“Microprocessor timer chip”接收到良好
訊號後,CPU開始執行“ROM BIOS”(Basic Input-Output System),
而後執行POST(Power On Self Test,含CMOS、CPU、RAM、KeyBoard、
Video、Disk...),完成後,ROM BIOS將按照CMOS設置中的啟動順
序搜尋軟、硬碟驅動器及CDROM、網路服務器等有效的啟動驅動器,
讀入MBR(Master Boot Record,主系統引導記錄),然後將系統控
制權交給引導記錄,由引導記錄完成系統的啟動。 由於MBR與引導
扇區(boot sector)比較小,通常它主要任務是讀入第二個啟動碼
(loader Code),第二個啟動碼再再讀入第三個啟動碼,直到啟動
操作系統核心程式。

對硬碟而言,如果MBR有正確的引導記錄,即依選項指向至各相對
分割(Partition);否則尋找PBR(Partition Bot Record)table,
指向設定為active之分割。如果被指定分割之引導扇區有正確之啟
動碼,即載入相對之啟動程式,例如引導扇區為NT之啟動碼,則會
載入根目錄之ntldr引導程式;如引導扇區為9x之啟動碼,則會載入
根目錄之io.sys核心程式。

分割規劃

目前的硬碟容量都很大,妥善規劃是有必要的。筆者常應用SPFDisk
(SPFDisk是一支綜合了『硬碟分割工具』以及『啟動管理程式』的
軟體,請詳見網址http://spfdisk.sourceforge.net/note.htm)來
管理分割。例如:建立、備份、隱藏、設定System ID等。主分割
(Primary)數量可達4個,而其中主分割之ㄧ可設為擴充分割
(Extended),建立一個新的邏輯分割(Logic)表;而邏輯分割又
可建立擴充分割,繼續循環延伸,使用者可視實際之需要作合適安
排。

當筆者安裝操作系統前,習慣先備份MBR,且每次只顯示一個主分
割,其餘同類分割都予以隱藏,避免系統互相干擾。等多系統全部
安裝完畢後再回存MBR,並使用多系統開機管理程序啟動作業系統。

(單)多系統開機程序

目前與開機管理(Boot Manager)有關的市售軟體甚多,大部份
必須安裝後才能執行,啟動碼安裝的地方有MBR、分割啟動磁區或分
割,也有些與作業系統混用。有些可能會因重寫MBR而造成某些備份
軟體無法辨識分割表。因需經安裝才能使用,那麼當系統當機後只
能藉該軟體所建立之急救片來應變了。

為避免有侵權嫌疑,故本文避開市售軟體部份,僅將介紹幾個使
用方便的軟體,如:SPFDisk、ntldr、” GRUB for DOS” 等。因
關係系統底層操作,具有相當危險性,若非熟悉,建議不要輕易嘗
試安裝於硬碟。讀者若有興趣,可參考後文之實際演練說明。

(一) SPFDisk

  使用SPFDisk所建立的多系統開機程序,可安裝在MBR或分割。
安裝在MBR最方便,但相容性較差,可能導致很多軟體無法辨
識分割表(Partition table),而無法做備份。而安裝在啟
動磁區,相容性較高,會佔用一個分割,則該分割之System
ID必須設定成SPF專用,且設為Active。DOS或Windows無法共
用該分割,故無法編輯該開機選單,要修改時仍必須透過
SPFDISK。

  開機程序為光棒式操作,選單選項可設置隱藏同類主分割。無
法載入『引導碼映像檔』或『可開機磁碟硬像檔』,但SPFDisk
為單一檔案,圖形介面操作,使用容易,可隨時執行備份或重
建,很是方便。

(二) ntldr

  ntldr是NT系統的開機管理程式,當開機程序被引導至某分割,
而該分割引導扇區為NT引導碼時,會載入根目錄下一個叫ntldr
的隱藏檔。ntldr會尋找並載入Boot.ini、Bootsect.dos、
Bootsect.w40、NTdetect.com、NTbootdd.sys等檔案。

  其中Bootsect.dos、Bootsect.w40為啟動IO.sys的引導碼映像
檔,需要啟動DOS或9X系統時才需要,檔名可配合Boot.ini更
改;如果有SCSI設備才需要NTbootdd.sys檔。Boot.ini為可編
輯的開機選單,Boot.ini語法請詳
http://support.microsoft.com/?kbid=289022。

  ntldr可重新導引至指定分割之引導扇區,或啟動『引導碼映
像檔』與『可開機磁碟硬像檔』,但不能隱藏分割。如果ntldr
是被其他多系統開機程序所引導時,會出現多重多系統開機畫
面,而ntldr也可再繼續引導其他多系統開機程序。

  由於ntldr、boot.ini、NTdetect.com等檔案容易備份,故重
建很容易。不過引導扇區則必須經由作業系統安裝,或利用修
復控制台【註A】相關指令或bootpart(請詳見網址
http://www.winimage.com/bootpart.htm)等類似軟體安裝引
導碼。

  至於Bootsect.dos、Bootsect.w40等『引導碼映像檔檔案』,
可使用sys.com、bootpart等類似軟體安裝引導碼於引導扇區
後,再用savepart、winmbr或debug.exe相關工具軟體製造該
檔案。由於它們跟分割配置有關,所以很難與其他電腦共享,
但在同台電腦裡是允許被其他多系統開機程序所啟動的。

  Ntldr若要啟動『可開機磁碟硬像檔』時,必須使用VFloppy
(請詳http://download.pchome.net/php/dl.php?sid=15880/)
等類似軟體製作『引導碼映像檔』,而且僅支援標準格式之映
像檔(Image)。

(三)“GRUB for DOS”

  由於DOS界面單純,容易利用軟碟開機或製成磁碟映像檔由光碟
開機後啟動,而且DOS環境下有甚多程式或指令可供運用,例如
驅動光碟、網路連線、驅動SCSI或USB等外部設備。解壓縮、編
輯、複製或移動檔案等。因此在DOS環境下再起動多系統開機程
序,甚具靈活性。而“GRUB for DOS”(GRand Unified Bootloader
is a GNU project for multi-OS boot loader。請詳見網址
http://newdos.yginfo.net/grubdos.htm)或LoadLin(請詳見
網址http://elserv.ffm.fgan.de/~lermen/,啟動Linux系統,
選單可用DOS批次檔)等多系統開機程序皆為此類上選,“GRUB
for DOS之可編輯式選單為menu.lst;但亦可進入命令列模式,
直接輸入指令。它允許分組配置分割之隱藏,可指向分割之引導
扇區,載入引導碼,或載入『引導碼映像檔』檔案(請見上面
ntldr相關描述),啟動系統。更可不需『引導碼映像檔』
(ntldr則需要),直接啟動『標準磁碟映像檔』。

  使用時可將一分割設為DOS開機(使用 Sys.com [drive],
format /s [drive]或bootpart等類似軟體),其餘各種需要的
DOS製成可開機磁碟映像檔(核心檔案即可),將它們與
“Windows 9X”同放在此分割,但要注意各『引導碼映像檔』
用途不同,請適當區分命名。

此帖於 2010-08-08 06:15 PM 被 不知道 編輯. 原因: MBR補述
__________________
地獄變現記
[人身得來不易,願大家能尊重生命--勿傷胎命][好淫者請好自為之吧--割鳥]
南泉禪師道:
道不屬知,不屬不知。知是妄覺,不知是無記。若真達不疑之道,猶如太虛,廓然蕩豁,豈可強是非邪?」
德山宣鑒禪師:
「如果明白無事,則勿妄求,妄求而得,亦非得也。汝但無事於心,無心於事,則虛而靈,空而妙。若毛端許,言之本末者,皆為自欺。何故?毫氂繫念,三塗業因。瞥爾情生,萬劫羈鎖。聖名凡號,盡是虛聲。殊相劣形,皆是幻色。汝欲求之,得無累乎?」
不知道 目前離線  
送花文章: 5469, 收花文章: 5341 篇, 收花: 24549 次
有 6 位會員向 不知道 送花:
a471 (2010-08-09),dule (2010-08-09),getter (2010-08-17),poss (2010-08-09),ppp0600 (2010-08-08),羅迪 (2010-08-08)
感謝您發表一篇好文章