一、基本概念
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,默認自動設置為活動分區。
完全安裝是XP以前的操作系統的構架,主要是把系統所需要的文件壓縮成為xx.xx_之類的文件,這樣你在Windows安裝盤內的I386文件夾就會看到很多這樣的文件。鏡像安裝主要是指利用Windows的一個syspack.exe的工具將電腦的設置狀態更改至最初狀態,這個工具主要是微軟用於某些操作系統的疑難解決而開發的,但是由於這個過程中基本上去掉了主機的基本硬件信息,所以很快成為系統克隆的必備工具。
一般來說,我們在安裝XP的時候基本都是采用的克隆安裝的方法,一是因為省時間,二是因為可以集成很多實用軟件,方便用戶。出於這樣的背景之下,諾頓的Ghost鏡像備份還原工具就派上了用用途,因為其能實現極限壓縮,所以Ghost版本的鏡像安裝方法很快流行起來。我們一般的鏡像安裝的實質都是在目標機上先復制文件,再重新啟動計算機更新注冊表。之前呂思君提出為什么把鏡像文件提取到其他地方,然后復制到活動分區也能啟動答案就在這里。其實如果我們,把一台syspack.exe后的主機中的系統文件直接復制到目標機上然后重啟更新也是能實現重裝的。
后來的Windows longhorn也是采取這種鏡像安裝的方法來實現的,其鏡像格式為wim,Wim較Ghost的優勢體現在其使用了文件連接技術(easyboot中也使用了此技術),能將接近8G的文件壓縮成為一個2G左右的文件,而且其還能實現多版本之間的文件連接。之前有人在網上提出Wim的出現就意味着Ghost的死期即將到來,雖然這有點誇張,但是卻真實的說明了Wim文件的優勢。
至於說到完全安裝的過程,其實與鏡像安裝的最主要差異是在於微軟在XP中是將每個文件都壓縮然后解壓,這在安裝過程中是非常浪費時間的。但是無論如何,微軟的之所以沒有在XP中提出鏡像安裝的技術,並不是微軟沒有這項技術(微軟開發出syspack.exe就是明證)。在一個還沒有完全成熟而且具有壟斷潛力的技術(比如Wim基於文件的安裝格式)出來之前,微軟是不願意把這項鏡像安裝的技術主動透露出來的。Windows longhorn以后的Windows系統都讓世人已經明顯有着對於操作系統和Wim有着深刻的簡介,試想一下,微軟如果當年開發Windows XP也采用一個鏡像安裝的方式,那XP的安裝方式明顯會搶掉XP系統功能方面的風頭。更何況微軟自身的syspack.exe本身帶着很大缺點。