一、基本概念
1、BIOS的概念
BIOS(Basic Input/Output System,基本輸入輸出系統)全稱是ROM-BIOS,是隻讀存儲器基本輸入/輸出系統的簡寫,它實際是一組被固化到電腦中,為電腦提供最低級最直接 的硬體控制的程式,它是連通軟體程式和硬體裝置之間的樞紐,通俗地說,BIOS是硬體與軟體程式之間的一個“轉換器”或者說是接口(雖然它本身也隻是一個 程式),負責解決硬體的即時要求,并按軟體對硬體的操作要求具體執行。
BIOS,它在計算機系統中起着非常重要的作用。一塊主機闆性能優越與否,很大程度上取決于主機闆上的BIOS管理功能是否先進。
BIOS晶片,在主機闆上表現為一塊長方型或正方型晶片,BIOS中主要存放:
1、自診斷程式:通過讀取CMOS RAM中的内容識别硬體配置,并對其進行自檢和初始化;
2、CMOS設定程式:引導過程中,用特殊熱鍵啟動,進行設定後,存入CMOS RAM中;
3、系統自舉裝載程式:在自檢成功後将磁盤相對0道0扇區上的引導程式裝入記憶體,讓其運作以裝入DOS系統; 主要I/O裝置的驅動程式和中斷服務;
由于BIOS直接和系統硬體資源打交道,是以總是針對某一類型的硬體系統,而各種硬體系統又各有不同,是以存在各種不同種類的BIOS,随着硬體技術的發展,同一種BIOS也先後出現了不同的版本,新版本的BIOS比起老版本來說,功能更強。
2、MBR的概念
主引導扇區位于硬碟的0磁道0柱面1扇區,共512bytes,由三大部分組成:
硬碟主引導記錄MBR(Master Boot Record)占446bytes
分區表DPT(Disk Partition Table)占64bytes
硬碟有效标志(Magic Number)占2bytes。AA和55被稱為幻數(Magic Number),BOIS讀取MBR的時候總是檢查最後是不是有這兩個幻數,如果沒有就被認為是一個沒有被分區的硬碟
主引導扇區包含的MBR、DPT、MN,這3個區域是作業系統無關的,在每塊硬碟上都存在;MBR是一段可執行程式,由各個作業系統寫入不同的代碼。 MBR的存儲空間限制為446位元組,MBR所做的唯一的事情就是裝載第二引導裝載程式。Windows産生的MBR裝載運作PBR;GRUB産生的MBR 裝載運作grldr。
3、作業系統引導過程
主引導記錄(MasterBootRecord,MBR):512位元組,位于硬碟的第一個扇區;可存放一小段程式及主分區表。MBR的boot code占用其中的前446個位元組,随後的64個位元組為DPT(Disk Partition Table,硬碟分區表)。
XP系統引導過程是,BIOS自檢後,DPT把系統控制權交給硬碟第一個分區的PBR(Partition Boot Record),XP的PBR會去找這個分區的ntldr,之後是boot.ini,選擇啟動的系統後load系統資料庫,交控制權給ntoskrnl,然後 加載驅動,系統配置等等。
Vista的PBR不再找ntldr,而是找bootmgr,這個檔案也是儲存在硬碟第一個分區的根目錄下.之後,bootmgr去找同路徑下 的\boot\BCD. BCD這個檔案實際是一個系統資料庫檔案,裡面的資料儲存了系統的引導資訊,如果是多系統引導,會提供引導的界面内容. 如果是單Vista系統,控制權會交給winload.exe,之後再去找ntoskrnl.exe.
擴充引導記錄(ExtendedBootRecord,EBR):512位元組,位于擴充分區的第一個扇區,存放邏輯分區資訊。
分區引導區(PartitionBootRecord,PBR):512位元組,位于每個非擴充主分區及每個邏輯分區的第一個扇區;可存放小段程式。
活動分區(ActivePartition):可将所有主分區和邏輯分區中的一個辨別為Active,表示系統啟動時即加載運作其PBR程式的分區。
DBR : DOS引導記錄(DOS Boot Record)應稱為OBR(OS Boot Record),意思是活動分區的PBR,即作業系統引導記錄。
二、分區概念
一個硬碟的分區有Primary(主分區)、Extended(擴充分區)、Logical(邏輯分區)三種。
1、主分區
如果你隻有一個硬碟,那麼這個硬碟肯定應該有一個主分區,以前DOS必須在主分區才能啟動。建立主分區的最大用途便是安裝作業系統,另外如果你有多個主分 區,那麼隻有一個可以設定為活動分區(Active),作業系統就是從這個分區啟動的,當然了,隻允許有一個活動分區,所謂的“激活分區”就是将某個主分 區設定為活動分區。
2、擴充分區
因為主分區有先天的限制(最多隻能有4個),擴充分區就是為了解決這種限制應運而生的,但是需要記住的是:它可是不能直接用來儲存資料的,擴充分區的主要功能就是讓你在其中建立邏輯分區,而且事實上隻能建立20多個。
3、邏輯分區(邏輯驅動器)
從上面的介紹你可以了解到,邏輯分區并不是獨立的分區,它是建立在擴充分區中的二級分區,而且在DOS/WINDOWS下,這樣的一個邏輯分區對應于一個 邏輯驅動器(Logical Driver),我們平時說的D: E:........一般指的就是這種邏輯驅動器。
4、分區的限制
一個硬碟最多隻能劃分為4個主分區,或者是3個主分區加上一個擴充分區,這是因為在硬碟的開頭,也就是主引導扇區總共512位元組存放着MBR占 446bytes,DPT分區表占64bytes以及硬碟有效标志占2bytes,由于記錄空間隻有那麼大,是以也隻能記錄這4個分區的資訊。
三、一般單作業系統啟動過程
1.BIOS加載并啟動儲存在硬碟MBR中的引導程式,該引導程式一般在作業系統安裝時寫入
2.MBR引導程式掃描所有分區表,找出活動分區(WindowsMBR程式隻會在MBR中的分區表中查找活動分區,即Windows隻能安裝在主分區;Linux無此限制)
3.MBR引導程式加載并啟動儲存在活動分區PBR中的引導程式
4.活動分區PBR中的引導程式加載并啟動安裝在其上的作業系統(例如對Win98,定位并執行io.sys;對WinXP,定位并執行 ntoskrnl.exe;對于Linux,定位并執行vmlinuz-xxx核心映像)。顯然PBR引導程式與作業系統密切相關,一般在作業系統安裝時 寫入。
總結為:BIOS–>MBR—>;PBR–>OS files
四、修改标準過程實作按需啟動指定作業系統
使用BootLoader等軟體置換MBR中的引導程式或PBR中的引導程式,如 Windows的NTBoot Loader,Linux下的Lilo、Grub等。Windows NTBoot Loader一般用于在一台機器上安裝多個Windows系統;Lilo或Grub用于在一台機器上安裝多個Linux系統或同時安裝Linux和 Windows系統。
五、MBR損壞及修複
mbr的損壞不會危及資料,複也很簡單,重寫mbr就是,dos下面的fdisk/mbr即可修改DOS引導,像DISKGEN等工具修改MBR更是随手拈來。
六、從U盤或移動硬碟啟動作業系統的步驟
1、U盤格式化後(FAT32或NTFS都可以),把U盤激活成活動分區(可使用DiskGenius硬碟分區軟體)
2、寫入U盤活動分區的PBR,以達到PBR讀取bootmgr檔案的目的(可使用Vista或windows7自帶的 bootsect.exe 進行操作)
3、複制相應啟動檔案到U盤根目錄
4、修改bios啟動順序從U盤啟動即可
移動硬碟:開機識别成 USB-HDD
在XP中格式化成FAT32、NTFS格式的U盤:開機出現在BIOS的Removable Device中,識别成USB-ZIP,預設為主分區非活動分區。可以用DiskGenius激活為活動分區,再開機識别為USB-HDD。
量産成HDD的U盤:開機出現在BIOS的Hard Disk中,識别成USB-HDD,預設自動設定為活動分區。
本文轉自 ye小灰灰 51CTO部落格,原文連結:http://blog.51cto.com/10704527/1878739,如需轉載請自行聯系原作者