多系統引導背后的知識:磁盤、分區、文件系統、GPT、UEFI


【Windows 7 + Windows 8 (PE) + Windows 10 + deepin-Linux + MacOS X】

<電腦修的好,備胎當到老>

前言:隨着軟硬件技術的發展UEFI引導逐漸取代傳統BIOS引導,最新的操作系統都適用於EFI引導,這讓各他們可以共存於一台機器。

工具:兩個8GB U盤(一個安裝PE,一個刻錄系統)、Disk Genius磁盤工具、微PE、EasyUEFI、EasyBCD、TransMac v12。

筆記本型號:戴爾靈越5557 

配置:i5-6200U + 8G RAM + SAMSUNG 860 EVO SSD(512GB)+  BCM94352Z(802.11ac 支持黑蘋果千兆網卡)

引導過程:

磁盤結構:

Clover Bootloader引導界面:

以下是我對這些系統的使用方式:

Windows 7:兼容老舊的開發工具、驅動程序,用於各種EDA和嵌入式開發。

Windows 10:微軟最新的操作系統,安裝VS2017學習UWP開發。

Deepin-Linux:用於學習Linux、Python等。

MacOS X:安裝Xcode學習Swift,IOS開發等。

Windows 8 PE:Win8內核版微PE,集成大量引導修復、磁盤工具,備份和修復其他系統。

 

1. 磁盤和文件系統

作為數據存儲的介質,現在市面上硬盤有機械硬盤(磁記錄旋轉介質)和固態硬盤(NAND-Flash)兩種,雖然所用技術和材料大不一樣,但都會被軟件抽象成同樣的設備所看待。

 

1.1 MBR和GPT

新的磁盤需要初始化,指定分區表為MBR(舊)或GPT(新):

 

MBR(Master Boot Record),即硬盤的主引導記錄。為了便於理解,一般將MBR分為廣義和狹義兩種:廣義的MBR包含整個扇區(引導程序、分區表及分隔標識),也就是上面所說的主引導記錄;而狹義的MBR僅指引導程序而言。

 

對於MBR磁盤上的分區類型:

1)主分區:也叫引導分區,最多可能創建4個,當創建四個主分區時候,就無法再創建擴展分區了,當然也就沒有邏輯分區了。主分區是獨立的,對應磁盤上的第一個分區,“一般”就是C盤。在Windows系統把所有的主分區和邏輯分區都叫做“盤”或者“驅動器”,並且把所有的可存儲介質都顯示為操作系統的“盤”。因此,從“盤”的概念上無法區分主分區和邏輯分區。並且盤符可以在操作系統中修改,這就是要加上“一般”二字的原因。

2)擴展分區:除了主分區外,剩余的磁盤空間就是擴展分區了,擴展分區是一個概念,實際上是看不到的。當整個硬盤分為一個主分區的時候,就沒有了擴展分區。

3)邏輯分區:在擴展分區上面,可以創建多個邏輯分區。邏輯分區相當於一塊存儲截止,和操作系統還有別的邏輯分區、主分區沒有什么關系,是“獨立的”。

4)活動分區:就是當前活動的、操作系統可以啟動的分區。

 

格式化是針對主分區和邏輯分區的。要格式化是因為這和操作系統管理文件系統有關系。沒有格式化的分區就像一張白紙,要寫入數據,必須對白紙打上“格子”,每格子里面寫一塊。而操作系統只認這些格子。

MBR磁盤圖解:

GPT(GUID Partition Table),即全局唯一標識分區列表,是一個物理硬盤的分區結構。它用來替代BIOS中的主引導記錄分區表(MBR)。它是可擴展固件接口(EFI)標准(被Intel用於替代個人計算機的BIOS)的一部分,被用於替代BIOS系統中的一32bits來存儲邏輯塊地址和大小

 

對於GPT磁盤上的分區類型:只有主分區,理論上支持128個主分區,每個主分區上都可以引導操作系統。

 

1.2文件系統

文件系統是操作系統用於明確磁盤或分區上的文件的方法和數據結構;即在磁盤上組織文件的方法。也指用於存儲文件的磁盤或分區,或文件系統種類。操作系統中負責管理和存儲文件信息的軟件機構稱為文件管理系統,簡稱文件系統。文件系統由三部分組成:與文件管理有關軟件、被管理文件以及實施文件管理所需數據結構。從系統角度來看,文件系統是對文件存儲器空間進行組織和分配,負責文件存儲並對存入的文件進行保護和檢索的系統。具體地說,它負責為用戶建立文件,存入、讀出、修改、轉儲文件,控制文件的存取,當用戶不再使用時撤銷文件等。

 

常見的操作系統所依賴的文件系統:

Windows :FAT16、FAT32、NTFS等

MacOS X: HFS、HFS+、APFS(MacOS 10.13+)

Linux:EXT系列、JFFS2、YAFFS、RAMFS等,由於底層虛擬文件系統(VFS)的支持,Linux可以兼容其他大多數操作系統的文件系統。

2. BIOS和UEFI

2.1 名詞解釋

BIOS(Basic Input Output System)全稱"基本輸入輸出系統"。它是一組固化到計算機內主板上一個ROM芯片上的程序,它保存着計算機最重要的基本輸入輸出的程序、開機后自檢程序和系統自啟動程序,它可從CMOS中讀寫系統設置的具體信息。 其主要功能是為計算機提供最底層的、最直接的硬件設置和控制。

UEFI(Unified Extensible Firmware Interface)全稱“統一的可擴展固件接口”, 是一種詳細描述全新類型接口的標准。這種接口用於操作系統自動從預啟動的操作環境,加載到一種操作系統上,從而使開機程序化繁為簡,節省時間。可擴展固件接口(Extensible Firmware Interface,EFI)是 Intel 為 PC 固件的體系結構、接口和服務提出的建議標准。其主要目的是為了提供一組在 OS 加載之前(啟動前)在所有平台上一致的、正確指定的啟動服務。傳統BIOS主要支持MBR引導,UEFI則是取代傳統BIOS,它加入了對新硬件的支持,其中就有2TB以上硬盤。

 

2.2 啟動過程(以Windows為例)

 

BIOS下的啟動過程:

加電自檢->按順序嘗試啟動項->主引導記錄(mbr)->分區引導記錄(pbr)->啟動管理器(bootmgr)->配置文件(bcd)->winload.exe->ntoskrnl.exe->注冊表

 

UEFI下的啟動過程:

加電初始化->efi shell->啟動管理器(*.efi)->配置文件(bcd)->winload.efi->ntoskrnl.exe->注冊表信息的主開機紀錄(MBR)分區表。

 

附圖:

 

3. Windows 部署篇

3.1 Windows 10安裝,

3.2 Windows 10 + Windows 7 雙系統安裝經驗分享(待更)

3.3 Win 8 PE 加入BCD引導菜單(待更)

4. Deepin-Linux篇

官網:https://www.deepin.org/

5. Mac OS X 篇

國內權威黑蘋果論壇 - DIY你的蘋果系統:

遠景論壇:http://bbs.pcbeta.com/forum.php?gid=86

Clover詳解:

https://blog.csdn.net/geekmubai/article/details/81608491

 

一些經驗(待更)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM