如果你打算在電腦上安裝雙系統,三系統或更多系統(Windows/Linux/macOS),那麼你可能會遇到許多以前從未聽說過的術語。
這篇文章的目的就是幫你掃清這個障礙, 在安裝雙系統時就不會那麼慌了。
01、分區和硬盤
大多數計算機都自帶一個或多個分區的磁盤
把電腦上存數據的地方想象成一個巨大的披薩。整個披薩就是一個"磁盤",一小塊就是一個"分區"。如果披薩沒有被切開,它就隻有一個"分區"。大多數情況下,此分區通常就是"Windows"味的。。
如果披薩足夠大,你可以将此分成若幹塊以上,并賦予其他部分自己的風味(如 Linux)。你可以用多種方式切披薩。可以根據需要調整大小。
将磁盤比喻成披薩,感覺怪怪的?那麼怎麼在系統查看分區情況呢?
在Windows系統的電腦上,打開磁盤管理器,就可以看到磁盤以及其分區情況。
在Linux系統中, 使用命令 fdisk -l 查看磁盤分區情況。
使用Gparted等第三方工具也可以在Linux下查看磁盤分區情況。
在macOS中,通過命令 diskutil 以及“磁盤工具” 同樣能看到磁盤的情況。
為什麼需要多個分區?
有很多原因。當然要想安裝雙系統,同時使用Windows和Linux, 或者像是PS的素材需要存放在一個非系統分區上,或者像是傲梅輕松備份傻瓜版一樣的一鍵式還原系統的軟件,需要另外一個分區來存放備份鏡像。
同樣,對于雙系統來說,創建一個多個操作系統兼容的exFAT文件系統格式的分區,也會免去一些不必要的麻煩。
02、主分區、擴展分區和邏輯分區
主分區是硬盤上的"主要"分區。由于 BIOS/MBR 系統框架設計上的缺陷,
引入了擴展分區和邏輯分區的概念, BIOS/MBR 磁盤僅允許創建 4 個主分區。如果需要 4 個以上分區,則必須将一個主分區轉換為"擴展分區"。在"擴展分區"中,就可以創建許多較小的分區,這些分區就是"邏輯分區"。在Windows磁盤管理器中,可以通過分區的顔色來判斷分區類型。邏輯分區在使用中和主分區沒區别,但是如果想要在邏輯分區中單獨安裝Windows的話,是沒法引導的,需要在主分區中有一個引導分區(System Reserved),用來引導邏輯分區裡的系統。
與BIOS/MBR對應的 UEFI/GPT的,在設計上就彌補了早起的設計的缺陷,就沒有了4個主分區的限制(能達到128個分區大小)。
基本上來說,擴展分區以及邏輯分區在GPT磁盤上就沒有存在的必要了,而且磁盤也沒有2TB容量的限制。
近年來的主闆(2012年後),基本都是UEFI兼容的主闆。
03、磁盤分區 VS 挂載點
才接觸Linux的話,可能對Linux系統是怎麼訪問分區感到迷惑,在Windows系統下,訪問一個分區很簡單,每個盤符對應的就是一個分區,直接訪問盤符(比如,C,D,E,F)就行。而在Linux的世界,處理分區的方式就是完全的不同了。主要的區别在于, 分區是通過“挂載”到一個“目錄”來實現的,而一個目錄的子目錄又可以挂載其他的分區。
也就是說:如果将分區 /dev/sda2 挂載到/home/,通過Linux文件管理器訪問/home/目錄下的文件,就是訪問物理存放在/dev/sda2這個分區的數據。
将/dev/sda3挂載到/home/bruce, 訪問/bruce下的文件就是訪問/dev/sda3裡存放的數據。而Linux系統分區默認是挂載到根目錄 “/” 下的。
04、交換分區(Swap分區)
交換分區是 Linux 在系統需要的内存超過實際可用内存時使用的硬盤區域。Linux 内核将能夠交換使用較少的頁面,并将它們移動到"交換空間",以便當前運行的程序可以使用釋放的内存。
系統将這些頁面移動到交換空間,以便電腦可以将更多資源用于處理當前任務,而不是占用 RAM 中的所有内存。
但是,交換分區中移動信息的速度和内存RAM相比還是會慢很多。
如果你的電腦内存RAM充足,有個16GB,32GB, 那麼其實交換空間不是必需的,但是如果沒有它,當内存已滿時,系統将開始終止"低優先級進程"。(您正在使用的程序,這意味着未保存的工作崩潰和内容。您可以配置系統,以便根據需要優先選擇要終止的程序。否則,您可能應該有一個小的交換空間來提供幫助)。
在Windows系統中,也有類似和交換分區差不多的概念,在Windows中,是通過虛拟内存這個功能實現的, 區别在于,Windows是默認開啟,而Linux在安裝的時候需要指定是否創建交換分區。
05、文件系統
創建好了分區,如果沒有文件系統,那麼可能就無法存儲文件,視頻等,因為系統需要按照一種定義好了的方式在這個分區。來存儲和查找數據。
下面是常見的文件系統:
對于有些不同文件系統之間,可能是沒法直接傳數據,像是在Linux系統中,默認是不能直接往NTFS系統寫入數據,隻能通過工具像是ntfs-3g才能正常寫入。
同樣Windows系統不能直接識别蘋果的APFS系統,蘋果系統也不能直接向NTFS中寫入數據,要通過第三方軟件解決。
06、BIOS和MBR
BIOS (Basic Input and Output System)"基本輸入-輸出系統",簡單來說就是是一小段嵌入到主闆芯片ROM上的代碼,他也是一個系統。當電腦插上電,首先運行的第一個系統就是BIOS。
BIOS的運行過程大概如下:
運行POST(系統自檢),找基本顯卡,找磁盤,将BIOS信息顯示到顯示器上,内存計數檢查,找啟動盤,将啟動權交給Bootloader,執行磁盤上的系統。
在這個過程中,每個環節出錯,都可能會影響系統的正常運行。
抛開硬件上導緻的問題,MBR以及Bootloader在引導磁盤上系統過程中及其重要的兩個部分。
MBR:主引導記錄(Master Boot Record),又叫主引導扇區,一種特殊的引導扇區(boot sector),存在磁盤上的第一個扇區,是開機BIOS訪問硬盤所必需的扇區。
扇區: 在磁盤中,一個扇區(sector)是其上面的一個磁道的分區。每個扇區存儲固定數量用戶可訪問的數據,目前其大小主要分為512字節,以及4096字節,後者就是所謂的高級格式(AF)磁盤,操作系統最小的存儲單位是簇,由多個磁道扇區組成。
MBR有啥作用?
所以,MBR損壞的後果,就可能導緻沒法進入第二階段引導加載Bootloader。
開機可能遇到這樣的報錯:
或者這樣:
分區表損壞,可能是這樣的報錯:
除了以上常見的錯誤提示,損壞的MBR,可能還有其他表現。
由于MBR是存放在磁盤的第一扇區,并不是嵌入到ROM中的,所以修複起來相對容易一些。
關于如何備份,在Linux下可以使用dd命令備份 磁盤前512個字節就行。比如:
dd if=/dev/sdb of=/mbr-backup bs=512 count=1
修複MBR, 可以在Windows下(PE)下使用bootrec.exe 或者使用傲梅分區助手及其他第三方軟件。
當然,啟動引導的失敗,除了在第一階段MBR除了問題外,第二階段bootloader加載失敗,同樣也會導緻啟動失敗。
MBR的缺點在磁盤與分區小結中也說過,分區表的結構導緻隻能有4 個主分區而且最多使用2TB。如果硬盤較大,2TB的空間便沒法使用。
随着大容量磁盤的出現,MBR已經不再适應, 新的框架UEFI GPT正在逐漸幹掉BIOS MBR。
07、UEFI和GPT
GPT:"GUID分區表",它是 MBR 的替代品,和MBR相比沒有 2Tb 磁盤大小限制,也沒有4個主分區的限制。
UEFI代表"統一擴展固件接口",它取代了有缺陷的"BIOS"框架。在UEFI設計中,有一個用于存儲所有重要引導數據的FAT文件類型的分區,稱為"EFI 系統分區"(ESP),所有引導加載程序和一大堆其他重要的引導相關内容都應該放在 EFI 分區上。
與傳統的BIOS不同,UEFI不依賴于引導扇區,而是将引導管理器(Boot Manager)定義為UEFI規範的一部分。當計算機通電時,引導管理器會檢查啟動配置,并根據其設置加載到内存中,然後執行指定操作系統。
這就是為什麼在UEFI設置中,啟動選項中會出現 Windows Boot Manager這一項,和磁盤是獨立的選項。
在Windows系統中,可以通過工具,像是Bootice,查看引導管理器中有多少個啟動項。
同時,UEFI支持在某路徑下自動查找是否有引導程序,路徑會因計算機體系結構而異。例如,在x86-64系統上的引導加載程序的文件路徑為/efi/BOOT/BOOTX64.efi。 這就是為什麼支持UEFI啟動的USB設備,不需要手動向啟動管理器中添加路徑。啟動Windows時,你不選擇Windows Boot Manager, 選擇磁盤為第一啟動項,它也能引導啟動。
在GPT上安裝雙系統時,引導加載程序建議就安裝在同一個EFI 分區上,并且應将"引導條目"添加到指向與系統對應的引導加載程序的"啟動管理器"中。
這樣啟動GPT 系統時,計算機就可以根據引導條目的順序加載第一順序的引導加載程序以實現引導系統。
08、引導加載程序Bootloader
Bootloader是用來實際啟動磁盤上的操作系統的一個程序,是整個啟動過程的第二階段。Windows有自己的引導加載程序,Linux 和其他系統也有自己的引導加載程序,要達到雙系統的啟動,有時就需要"鍊式加載"(Chainloader),這意味着一個引導加載程序加載另一個引導加載程序。
目前來說,PC端常見的Booloader有以下幾種:
NTLDR: Windows XP 和Windows Server 2003 等Windows NT系統使用的Bootloader。
Winloader.exe/Winloader.efi : Windows Vista 系統使用的引導加載程序, BIOS模式中使用的Winloader.exe, UEFI模式中使用Winloader.efi。
Grub2:大多數Linux系統使用的引導加載程序。
Clover: 第三方引導加載程序,主要用來在非蘋果系統上實現蘋果系統的引導。
當你在計算機上啟動時有兩個或多個系統可供選擇時,你可以選擇使用不同的引導加載程序啟動哪個系統。
從GRUB2(Linux 引導加載程序)啟動,選擇 Linux 發行版,它将選擇 Linux 内核,然後啟動該過程以啟動 Linux。如果選擇 Windows,GRUB2 引導加載程序将加載 Windows 引導加載程序,該加載程序将繼續執行其所有 Windows 内容以啟動 Windows。(因此稱為"鍊加載")
有時引導加載程序将安裝在自己的分區上(通常/啟動)。其他時候,它們将隻駐留在分區與相應的操作系統。
長話短說。。。引導加載程序就是用來加載你選擇的操作系統。
09、UEFI Secure Boot
安全啟動(Secure Boot)是一種技術,它是用來在UEFI固件中檢查系統引導加載程序是否使用固件中包含的數據庫授權的加密密鑰進行簽名。在下一階段引導加載程序、内核以及潛在的用戶空間中,通過适當的簽名驗證,可以阻止未簽名代碼的執行。也就是說,安全啟動功能的作用就是确保系統的引導文件是沒有被修改過的,而且在開啟了Secure boot的主闆上啟動一個系統,那麼該系統的引導就必須是簽名了的。如果是使用第三方PE工具制作的PE,引導文件是修改過,或者沒有簽名,那麼在開啟了Secure boot的電腦上,就是沒法啟的動,這時需要在主闆中關閉Secure boot才能正常從U盤啟動。
10、fstab
fstab(File System Tab)是Unix和類Unix系統(Linux)中的一個文件系統配置文件,可用于定義磁盤分區,各種其他塊設備或遠程文件系統應如何裝入文件系統,通常位于/dev/fstab
fstab是Windows系統中沒有的概念,在Windows系統中,通常情況下磁盤上的分區是默認挂載的,但是在Linux系統,啟動的時候分區不會自動挂載, 需要查找fstab文件中定義的挂載點,以便決定是否挂載某個分區,所以如果在Linux啟動出現問題,有可能就是是Linux的系統分區沒有被挂載,這時就可以考慮去查看fstab。
關注安徽思恒信息科技有限公司,了解更多技術内容……
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!