BIOS boot

一、基本概念
    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,默認自動設置爲活動分區。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章