如果你打算在電腦上安裝雙系統(tǒng),三系統(tǒng)或更多系統(tǒng)(windows/linux/macOS),那么你可能會遇到許多以前從未聽說過的術語。
這篇文章的目的就是幫你掃清這個障礙, 在安裝雙系統(tǒng)時就不會那么慌了。
- 分區(qū)和硬盤
- 主分區(qū)、擴展分區(qū)和邏輯分區(qū)
- 磁盤分區(qū)VS掛載點
- 交換分區(qū)(swap分區(qū))
- 文件系統(tǒng)
- BIOS 和 MBR
- UEFI 和 GPT
- 引導加載程序 Bootloader
- UEFI Secure Boot
- fstab
01、分區(qū)和硬盤
大多數(shù)計算機都自帶一個或多個分區(qū)的磁盤
把電腦上存數(shù)據(jù)的地方想象成一個巨大的披薩。整個披薩就是一個"磁盤",一小塊就是一個"分區(qū)"。如果披薩沒有被切開,它就只有一個"分區(qū)"。大多數(shù)情況下,此分區(qū)通常就是"Windows"味的。。
如果披薩足夠大,你可以將此分成若干塊以上,并賦予其他部分自己的風味(如 Linux)。你可以用多種方式切披薩。可以根據(jù)需要調(diào)整大小。

將磁盤比喻成披薩,感覺怪怪的?那么怎么在系統(tǒng)查看分區(qū)情況呢?
在Windows系統(tǒng)的電腦上,打開磁盤管理器,就可以看到磁盤以及其分區(qū)情況。

在Linux系統(tǒng)中, 使用命令 fdisk -l 查看磁盤分區(qū)情況。

使用Gparted等第三方工具也可以在Linux下查看磁盤分區(qū)情況。

在macOS中,通過命令 diskutil 以及“磁盤工具” 同樣能看到磁盤的情況。

為什么需要多個分區(qū)?
有很多原因。當然要想安裝雙系統(tǒng),同時使用Windows和Linux, 或者像是PS的素材需要存放在一個非系統(tǒng)分區(qū)上,或者像是傲梅輕松備份傻瓜版一樣的一鍵式還原系統(tǒng)的軟件,需要另外一個分區(qū)來存放備份鏡像。
同樣,對于雙系統(tǒng)來說,創(chuàng)建一個多個操作系統(tǒng)兼容的exFAT文件系統(tǒng)格式的分區(qū),也會免去一些不必要的麻煩。
02、主分區(qū)、擴展分區(qū)和邏輯分區(qū)
主分區(qū)是硬盤上的"主要"分區(qū)。由于 BIOS/MBR 系統(tǒng)框架設計上的缺陷,
引入了擴展分區(qū)和邏輯分區(qū)的概念, BIOS/MBR 磁盤僅允許創(chuàng)建 4 個主分區(qū)。如果需要 4 個以上分區(qū),則必須將一個主分區(qū)轉換為"擴展分區(qū)"。在"擴展分區(qū)"中,就可以創(chuàng)建許多較小的分區(qū),這些分區(qū)就是"邏輯分區(qū)"。在Windows磁盤管理器中,可以通過分區(qū)的顏色來判斷分區(qū)類型。邏輯分區(qū)在使用中和主分區(qū)沒區(qū)別,但是如果想要在邏輯分區(qū)中單獨安裝Windows的話,是沒法引導的,需要在主分區(qū)中有一個引導分區(qū)(System Reserved),用來引導邏輯分區(qū)里的系統(tǒng)。

與BIOS/MBR對應的 UEFI/GPT的,在設計上就彌補了早起的設計的缺陷,就沒有了4個主分區(qū)的限制(能達到128個分區(qū)大小)。
基本上來說,擴展分區(qū)以及邏輯分區(qū)在GPT磁盤上就沒有存在的必要了,而且磁盤也沒有2TB容量的限制。
近年來的主板(2012年后),基本都是UEFI兼容的主板。

03、磁盤分區(qū) VS 掛載點
才接觸Linux的話,可能對Linux系統(tǒng)是怎么訪問分區(qū)感到迷惑,在Windows系統(tǒng)下,訪問一個分區(qū)很簡單,每個盤符對應的就是一個分區(qū),直接訪問盤符(比如,C,D,E,F)就行。
而在Linux的世界,處理分區(qū)的方式就是完全的不同了。主要的區(qū)別在于, 分區(qū)是通過“掛載”到一個“目錄”來實現(xiàn)的,而一個目錄的子目錄又可以掛載其他的分區(qū)。
也就是說:如果將分區(qū) /dev/sda2 掛載到/home/,通過Linux文件管理器訪問/home/目錄下的文件,就是訪問物理存放在/dev/sda2這個分區(qū)的數(shù)據(jù)。
將/dev/sda3掛載到/home/bruce, 訪問/bruce下的文件就是訪問/dev/sda3里存放的數(shù)據(jù)。而Linux系統(tǒng)分區(qū)默認是掛載到根目錄 “/” 下的。
04、交換分區(qū)(Swap分區(qū))
交換分區(qū)是 Linux 在系統(tǒng)需要的內(nèi)存超過實際可用內(nèi)存時使用的硬盤區(qū)域。Linux 內(nèi)核將能夠交換使用較少的頁面,并將它們移動到"交換空間",以便當前運行的程序可以使用釋放的內(nèi)存。
系統(tǒng)將這些頁面移動到交換空間,以便電腦可以將更多資源用于處理當前任務,而不是占用 RAM 中的所有內(nèi)存。
但是,交換分區(qū)中移動信息的速度和內(nèi)存RAM相比還是會慢很多。
如果你的電腦內(nèi)存RAM充足,有個16GB,32GB, 那么其實交換空間不是必需的,但是如果沒有它,當內(nèi)存已滿時,系統(tǒng)將開始終止"低優(yōu)先級進程"。(您正在使用的程序,這意味著未保存的工作崩潰和內(nèi)容。您可以配置系統(tǒng),以便根據(jù)需要優(yōu)先選擇要終止的程序。否則,您可能應該有一個小的交換空間來提供幫助)。
在Windows系統(tǒng)中,也有類似和交換分區(qū)差不多的概念,在Windows中,是通過虛擬內(nèi)存這個功能實現(xiàn)的, 區(qū)別在于,Windows是默認開啟,而Linux在安裝的時候需要指定是否創(chuàng)建交換分區(qū)。
05、文件系統(tǒng)

創(chuàng)建好了分區(qū),如果沒有文件系統(tǒng),那么可能就無法存儲文件,視頻等,因為系統(tǒng)需要按照一種定義好了的方式在這個分區(qū)。來存儲和查找數(shù)據(jù)。
下面是常見的文件系統(tǒng):
- NTFS = (新技術文件系統(tǒng)) 用于基于微軟 Windows Windows NT 的操作系統(tǒng)
- Ext4 Linux默認的文件系統(tǒng)格式。
- HFS+ – 早期蘋果系統(tǒng)的默認文件系統(tǒng)。
- APFS - 蘋果系統(tǒng)從10.13時期開始出現(xiàn)的一種新的文件系統(tǒng)。
- FAT32 – 常見于U盤中
- exFAT – FAT32的升級版,macOS,linux和Windows都能實現(xiàn)讀寫操作。
- 其他
對于有些不同文件系統(tǒng)之間,可能是沒法直接傳數(shù)據(jù),像是在Linux系統(tǒng)中,默認是不能直接往NTFS系統(tǒng)寫入數(shù)據(jù),只能通過工具像是ntfs-3g才能正常寫入。
同樣Windows系統(tǒng)不能直接識別蘋果的APFS系統(tǒng),蘋果系統(tǒng)也不能直接向NTFS中寫入數(shù)據(jù),要通過第三方軟件解決。
06、BIOS和MBR
BIOS (Basic Input and Output System)"基本輸入-輸出系統(tǒng)",簡單來說就是是一小段嵌入到主板芯片ROM上的代碼,他也是一個系統(tǒng)。
當電腦插上電,首先運行的第一個系統(tǒng)就是BIOS。
BIOS的運行過程大概如下:
運行POST(系統(tǒng)自檢),找基本顯卡,找磁盤,將BIOS信息顯示到顯示器上,內(nèi)存計數(shù)檢查,找啟動盤,將啟動權交給Bootloader,執(zhí)行磁盤上的系統(tǒng)。
在這個過程中,每個環(huán)節(jié)出錯,都可能會影響系統(tǒng)的正常運行。
拋開硬件上導致的問題,MBR以及Bootloader在引導磁盤上系統(tǒng)過程中及其重要的兩個部分。
MBR:主引導記錄(Master Boot Record),又叫主引導扇區(qū),一種特殊的引導扇區(qū)(boot sector),存在磁盤上的第一個扇區(qū),是開機BIOS訪問硬盤所必需的扇區(qū)。
扇區(qū): 在磁盤中,一個扇區(qū)(sector)是其上面的一個磁道的分區(qū)。每個扇區(qū)存儲固定數(shù)量用戶可訪問的數(shù)據(jù),目前其大小主要分為512字節(jié),以及4096字節(jié),后者就是所謂的高級格式(AF)磁盤,操作系統(tǒng)最小的存儲單位是簇,由多個磁道扇區(qū)組成。

MBR有啥作用?
- MBR中含有第一階段引導代碼,主要作用是檢查分區(qū)表是否正確,然后將控制權交給硬盤(活動分區(qū))上的引導加載程序Bootloader,實現(xiàn)系統(tǒng)引導啟動。
- MBR有磁盤分區(qū)表,記錄每個磁盤的基本信息,分區(qū)大小,分區(qū)的位置。
所以,MBR損壞的后果,就可能導致沒法進入第二階段引導加載Bootloader。
開機可能遇到這樣的報錯:

或者這樣:

分區(qū)表損壞,可能是這樣的報錯:

除了以上常見的錯誤提示,損壞的MBR,可能還有其他表現(xiàn)。
由于MBR是存放在磁盤的第一扇區(qū),并不是嵌入到ROM中的,所以修復起來相對容易一些。
關于如何備份,在Linux下可以使用dd命令備份 磁盤前512個字節(jié)就行。比如:
dd if=/dev/sdb of=/mbr-backup bs=512 count=1
修復MBR, 可以在Windows下(PE)下使用bootrec.exe 或者使用傲梅分區(qū)助手及其他第三方軟件。
當然,啟動引導的失敗,除了在第一階段MBR除了問題外,第二階段bootloader加載失敗,同樣也會導致啟動失敗。
MBR的缺點在磁盤與分區(qū)小結中也說過,分區(qū)表的結構導致只能有4 個主分區(qū)而且最多使用2TB。如果硬盤較大,2TB的空間便沒法使用。
隨著大容量磁盤的出現(xiàn),MBR已經(jīng)不再適應, 新的框架UEFI+GPT正在逐漸干掉BIOS+MBR。
07、UEFI和GPT
GPT:"GUID分區(qū)表",它是 MBR 的替代品,和MBR相比沒有 2Tb 磁盤大小限制,也沒有4個主分區(qū)的限制。
UEFI代表"統(tǒng)一擴展固件接口",它取代了有缺陷的"BIOS"框架。在UEFI設計中,有一個用于存儲所有重要引導數(shù)據(jù)的FAT文件類型的分區(qū),稱為"EFI 系統(tǒng)分區(qū)"(ESP),所有引導加載程序和一大堆其他重要的引導相關內(nèi)容都應該放在 EFI 分區(qū)上。
與傳統(tǒng)的BIOS不同,UEFI不依賴于引導扇區(qū),而是將引導管理器(Boot Manager)定義為UEFI規(guī)范的一部分。當計算機通電時,引導管理器會檢查啟動配置,并根據(jù)其設置加載到內(nèi)存中,然后執(zhí)行指定操作系統(tǒng)。
這就是為什么在UEFI設置中,啟動選項中會出現(xiàn) Windows Boot Manager這一項,和磁盤是獨立的選項。
在Windows系統(tǒng)中,可以通過工具,像是Bootice,查看引導管理器中有多少個啟動項。

同時,UEFI支持在某路徑下自動查找是否有引導程序,路徑會因計算機體系結構而異。例如,在x86-64系統(tǒng)上的引導加載程序的文件路徑為/efi/BOOT/BOOTX64.efi。 這就是為什么支持UEFI啟動的USB設備,不需要手動向啟動管理器中添加路徑。啟動Windows時,你不選擇Windows Boot Manager, 選擇磁盤為第一啟動項,它也能引導啟動。
在GPT上安裝雙系統(tǒng)時,引導加載程序建議就安裝在同一個EFI 分區(qū)上,并且應將"引導條目"添加到指向與系統(tǒng)對應的引導加載程序的"啟動管理器"中。
這樣啟動GPT 系統(tǒng)時,計算機就可以根據(jù)引導條目的順序加載第一順序的引導加載程序以實現(xiàn)引導系統(tǒng)。
08、引導加載程序Bootloader
Bootloader是用來實際啟動磁盤上的操作系統(tǒng)的一個程序,是整個啟動過程的第二階段。
Windows有自己的引導加載程序,Linux 和其他系統(tǒng)也有自己的引導加載程序,要達到雙系統(tǒng)的啟動,有時就需要"鏈式加載"(Chainloader),這意味著一個引導加載程序加載另一個引導加載程序。
目前來說,PC端常見的Booloader有以下幾種:
NTLDR: Windows XP 和Windows Server 2003 等Windows NT系統(tǒng)使用的Bootloader。
Winloader.exe/Winloader.efi : Windows Vista+ 系統(tǒng)使用的引導加載程序, BIOS模式中使用的Winloader.exe, UEFI模式中使用Winloader.efi。
Grub2:大多數(shù)Linux系統(tǒng)使用的引導加載程序。
Clover: 第三方引導加載程序,主要用來在非蘋果系統(tǒng)上實現(xiàn)蘋果系統(tǒng)的引導。
當你在計算機上啟動時有兩個或多個系統(tǒng)可供選擇時,你可以選擇使用不同的引導加載程序啟動哪個系統(tǒng)。
從GRUB2(Linux 引導加載程序)啟動,選擇 Linux 發(fā)行版,它將選擇 Linux 內(nèi)核,然后啟動該過程以啟動 Linux。如果選擇 Windows,GRUB2 引導加載程序將加載 Windows 引導加載程序,該加載程序將繼續(xù)執(zhí)行其所有 Windows 內(nèi)容以啟動 Windows。(因此稱為"鏈加載")
有時引導加載程序將安裝在自己的分區(qū)上(通常/啟動)。其他時候,它們將只駐留在分區(qū)與相應的操作系統(tǒng)。
長話短說。。。引導加載程序就是用來加載你選擇的操作系統(tǒng)。
09、UEFI Secure Boot
安全啟動(Secure Boot)是一種技術,它是用來在UEFI固件中檢查系統(tǒng)引導加載程序是否使用固件中包含的數(shù)據(jù)庫授權的加密密鑰進行簽名。在下一階段引導加載程序、內(nèi)核以及潛在的用戶空間中,通過適當?shù)暮灻炞C,可以阻止未簽名代碼的執(zhí)行。也就是說,安全啟動功能的作用就是確保系統(tǒng)的引導文件是沒有被修改過的,而且在開啟了Secure boot的主板上啟動一個系統(tǒng),那么該系統(tǒng)的引導就必須是簽名了的。如果是使用第三方PE工具制作的PE,引導文件是修改過,或者沒有簽名,那么在開啟了Secure boot的電腦上,就是沒法啟的動,這時需要在主板中關閉Secure boot才能正常從U盤啟動。


10、fstab
fstab(File System Tab)是Unix和類Unix系統(tǒng)(Linux)中的一個文件系統(tǒng)配置文件,可用于定義磁盤分區(qū),各種其他塊設備或遠程文件系統(tǒng)應如何裝入文件系統(tǒng),通常位于/dev/fstab
fstab是Windows系統(tǒng)中沒有的概念,在Windows系統(tǒng)中,通常情況下磁盤上的分區(qū)是默認掛載的,但是在Linux系統(tǒng),啟動的時候分區(qū)不會自動掛載, 需要查找fstab文件中定義的掛載點,以便決定是否掛載某個分區(qū),所以如果在Linux啟動出現(xiàn)問題,有可能就是是Linux的系統(tǒng)分區(qū)沒有被掛載,這時就可以考慮去查看fstab。

關注微信公眾號:安徽思恒信息科技有限公司,了解更多技術內(nèi)容……