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