rufus中gpt和mrb磁盘_UEFI/BIOS/MBR/GPT启动过程详解与常见系统启动问题
做系統一大頭疼事情就是UEFI/BIOS/MBR/GPT等等的選擇。系統平臺和硬件日新月異,基本上中文站的解釋正確性參差不齊,出了問題也查不到正確解決方案,我也遇到過很多次系統啟動的問題(這就是為什么我喜歡用英文系統,不用自己翻譯直接就能谷歌一下到正確答案)。因此寫一篇詳解,正確解決一下在系統啟動上的疑問。
順便:b站的專欄編輯器真的是弱智。
目錄MBR/GPT和BIOS/UEFI區別與選擇四者的區別與關系
如何查看自己的配置
UEFI/BIOS和GPT/MBR的選擇
BIOS啟動詳解
UEFI啟動詳解EFI分區與文件
UEFI boot manager與多系統
BIOS設置與CSM兼容模式
啟動常見問題
MBR/GPT和BIOS/UEFI區別與選擇
MBR/GPT是每個硬盤的分區格式。MBR是舊的格式,最多4個主分區,不支持2TB的分區。GPT是新的格式,沒有上述限制(不過老的分區工具會有2TB分區的限制)。
在引導系統上,BIOS/UEFI是如何從主板固件載入系統的兩種方式。傳統BIOS是老式的啟動方式,啟動上沒有任何功能。UEFI是新式啟動方式,支持許多功能,更加靈活,也可以兼容BIOS啟動方式。新的主板都支持UEFI,但是每家主板廠商每代主板支持的程度很可能不同。多系統的話用UEFI會方便很多。
UEFI/BIOS與MBR/GPT之間沒有任何關系。UEFI可以支持MBR,BIOS也可以支持GPT。和HDD/SSD與SATA/M2關系差不多,SSD有SATA和M2兩種接口,HDD有SATA接口,當然也可以做成M2的,不過這搭配實在蠢得沒人做這種東西而已。但是主板不一定支持UEFI啟動MBR分區的硬盤。如果存在MBR的硬盤,主板固件實現有可能會降到BIOS兼容模式啟動,導致UEFI系統無法啟動。
如何查看自己的配置
中文網上一個常說的說法是UEFI的主板有華麗的圖形界面。這個說法是有問題的。現在主板復雜的圖形界面的確是UEFI的主板才能支持,但是部分OEM的主板設置界面也很原始,但其實是UEFI的。UEFI的一個特性是啟動時可以只有部分屏幕動畫(?我沒去查這個功能叫啥)。例如下圖,主板logo還在,Windows啟動的轉圈圈可以顯示。如果是傳統BIOS啟動的話則只有黑屏上一個轉圈圈,因為顯示主板logo的屏幕已經被刷掉了。
因此Windows一個簡便的方法區分UEFI還是傳統BIOS啟動的方法就是看主板logo還在不在。
當然非Windows的系統啟動時不一定還會顯示主板logo。并且UEFI啟動的系統的啟動畫面并不一定華麗。例如Arch的安裝盤,BIOS啟動畫面比UEFI華麗的多:這是傳統BIOS啟動(網圖,沒找到更好的)
這才是UEFI啟動
區分MBR/GPT,查看硬盤分區格式,可以Win+X,磁盤管理,右鍵自己的系統所在硬盤,然后如圖查看
要查看自己的系統啟動方式是什么,可以Win+R,輸入msinfo32回車,如圖。傳統就是傳統BIOS啟動。
UEFI/BIOS和GPT/MBR的選擇
在選擇上,若是老系統沒有需要,不需要在意,區別不大。如果Win 10想從MBR+BIOS遷移至GPT+UEFI,設置——更新和安全——恢復——高級啟動——立即重啟。重啟后疑難解答——高級選項——命令行模式進入Windows PE。命令行執行mbr2gpt /validate,如果沒有報錯,執行mbr2gpt /convert,然后重啟即可。
裝新系統若自己不是很懂也不想折騰也沒有功能上的需求,裝Win 10就不需要在意。如果要裝單個非Windows系統可以選擇BIOS+MBR,因為主板廠商和其他操作系統的實現參差不齊,目前UEFI坑還是太多了。有能力的話盡量還是用新的UEFI。要裝多系統需要選擇UEFI,否則更麻煩。
要新裝UEFI啟動的Win的話,推薦在主板把CSM兼容模式關閉,不然可能會裝成傳統BIOS模式。下載原版系統鏡像,推薦使用Rufus(https://rufus.ie/)燒寫。選擇鏡像和u盤后,分區模式選擇GPT,啟動模式選擇UEFI,然后燒寫啟動u盤。然后按流程安裝。新硬盤的話直接點擊空硬盤即可,不需要手動分區。
BIOS啟動詳解
BIOS的啟動會按照你所設置的順序依次嘗試讀取每個硬盤開始部分的一個特定區域。如果讀取到boot loader就把相關代碼載入內存,接下來就交給CPU開始處理和啟動系統。如果沒讀到boot loader則按順序讀取下一個硬盤,若都沒讀到就是常見的:
因此BIOS的設計是過時的:boot loader空間有限無法實現更多功能;boot loader空間位置固定靈活性差;BIOS中無法讀取啟動系統信息,只能按硬盤啟動,硬盤中多系統無法直接選擇。
UEFI啟動詳解
EFI分區
相比BIOS固定的位置,UEFI啟動會查找硬盤中的EFI分區。EFI分區一般為FAT32格式,被標記為ESP。不需要為第一個分區。例如下圖中兩塊硬盤,第一塊第一個分區為EFI分區,第二塊硬盤第三個分區為EFI分區。
Windows默認設置的EFI分區為100M,單系統是足夠的,但要多系統的話可能會出問題,見下面常見問題。多系統的話建議EFI分區設200-500M。(順便一提,分區表和raid格式數據記得備份保存,最近剛因為分區表損壞丟了數據)
EFI分區中除了資源文件,最主要用于啟動的是一些*.efi文件。如圖。這些efi文件會由UEFI boot manager讀取啟動。
UEFI boot manager
UEFI啟動會使用UEFI boot manager,是主板固件中的程序。可以通過EFI shell修改;如果系統是通過UEFI啟動的,則也可以通過程序修改。UEFI boot manager會默認讀取\EFI\Bottt\boot{架構}.efi,在64位系統上就是bootx64.efi,以下默認說bootx64.efi。
本來寫完了4k字,不小心關了。垃圾b站寫著已保存但沒有自動保存就只剩到這了,前面的修訂也沒了。反正沒人看剩下懶得仔細重寫了,就隨便寫寫了。
單Windows系統若未設置主板啟動項,會引導bootx64然后引導\EFI\Microsoft\Boot\bootmgfw.efi,即Windows boot manager啟動。
多Windows也只有一個bootmgfw.efi,然后由Windows boot manager統一管理,在windows里可由msconfig設置。
除了默認讀取的bootx64.efi,如果安裝盤的系統是UEFI啟動的話,可以設置主板UEFI啟動項,即將多個系統的.efi文件路徑設置進主板boot manager中,如下圖。
多其他系統就如上圖,每個系統一個efi,這個是系統安裝時加入主板設置的,如果安裝過程正確會加入到UEFI啟動項中,就可以在啟動項中直接看到每個系統,而不是BIOS一樣只能看到硬盤。
不過如果安裝盤的系統是傳統BIOS啟動的話,則無法修改主板EFI啟動項。
另外進入主板的EFI shell也是可以手動加啟動項的。
這個啟動項也不是很智能,像圖上的Ubuntu已經不存在了,但因為這個啟動項還在主板設置中,所以還是能看到這個啟動項,但當然是沒法正常啟動的。
BIOS設置與CSM兼容模式
主板設置中的CSM兼容模式是UEFI用于兼容傳統BIOS啟動等功能用的。
CSM關閉時僅能看到存在EFI分區的硬盤和設置的EFI啟動項。如果(硬盤不存在EFI分區)或者(不存在bootx64.efi 且 未設置啟動項)就不顯示。
CSM開啟時顯示所有硬盤和EFI啟動項,但由于各家主板廠商實現問題可能會有很多坑(尤其是老主板),如果僅用EFI啟動的話最好關閉。見常見問題。
常見問題
Windows更新提示無法更新系統保留的分區
EFI分區不夠大,中文解決方法教程寫的都是垃圾。見https://www.thewindowsclub.com/we-couldnt-update-system-reserved-partition,懶得重寫翻譯了。
無法啟動UEFI系統
有的主板在存在BIOS啟動的硬盤時,可能會降級到傳統BIOS啟動。拔掉MBR的硬盤,關閉CSM再測試。
有的系統安裝方式是只添加自己路徑下的.efi文件,然后添加主板啟動項來啟動,而不會添加bootx64.efi。這樣的話將硬盤放到其他電腦上則會因為既沒有默認efi文件也沒有啟動項而導致看不到啟動項,無法啟動。
如果手動啟動了啟動項又回到主板設置界面,可能efi文件不存在或該efi引導的系統不存在。檢查默認路徑bootx64.efi和\EFI\Microsoft\Boot\bootmgfw.efi(如果是Win,不是的話自行檢查路徑)是否正確存在。
部分主板可能只默認載入windows的boot manager路徑而不是bootx64,非Windows系統可能需要手動添加。見https://wiki.archlinux.org/index.php/GRUB/EFI_examples
其他問題
https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Troubleshooting自己參考吧。b站編輯器太垃圾懶得重寫了。還是該先用VSC寫的。
總結
以上是生活随笔為你收集整理的rufus中gpt和mrb磁盘_UEFI/BIOS/MBR/GPT启动过程详解与常见系统启动问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么判断手机在抖动_集合来了!激光头切割
- 下一篇: 和鸿蒙系统合作品牌,华为:明年将有超40