裝系統,尤爲是雙系統,老是沒法繞過引導的坑。linux
linux的grub是很是複雜的引導系統,學習它很是累。而windows又不能引導linux。你可能會想,怎麼就沒有一種簡單的引導方式,就好像引導光盤,引導u盤那樣,插上去就能用呢?ios
由於傳統的mbr引導設計得很小氣,因此多個系統都拼命爭奪那個小小的引導區域,而本身卻又不懂得引導對方,因此就相互傷害,相互覆蓋引導。可是,uefi橫空出世,比較好的解決了這個問題。windows
可是若是你不熟悉uefi的原理,那麼你會以爲這個uefi更加坑爹。電腦的東西,必定要先熟悉其原理,而不是渾水摸魚,隨便瞎搞,這樣是沒結果的。安全
uefi引導有兩個條件:工具
1.有個引導區,叫ESP。佈局
2.每一個分區都是gpt分區格式的。這個分區格式是指用了新的分區表。學習
uefi能夠兼容mbr傳統格式,但不必!舊的東西就是要被淘汰的。因此如今uefi的複雜性是由於兼容mbr,若是不去兼容,才能體現uefi的便利。操作系統
首先要在bios裏面關閉兼容模式,csm 關了。安全啓動也關了。而後能選的都選uefi。設計
設好以後,纔是純粹的uefi環境。io
爲何uefi 引導會比較方便呢?由於之前是全部操做系統,都爭奪一塊小區域,如今uefi直接給你一個引導分區,每一個系統只要把引導文件按照規定放在各自的文件夾,就ok了,你們相互能夠不認識,也能夠不知道對方是誰,也能夠不知道怎麼引導對方。這豈不是很完美?
esp就是這麼一個地方,它其實是一個普通的fat16格式(或fat32)分區(win98以前的默認格式),這種格式,幾乎每一個操做系統都認識,都能操做,因此就很便利。可是爲了不受到破壞,進入系統以後,系統會對其進行隱藏,因此要用特定的工具來訪問它。
知道原理以後,就很容易設計引導方案了。
事實上,對windows來講,引導只須要兩個文件,一個是引導程序,一個是配置文件。其中引導程序,只須要複製,而配置文件叫bcd,經過一個叫easybcd的工具能夠配置。
固然,第一步你的硬盤必須先格式化爲gpt格式的。可是若是你已經格式化了,也不要緊,能夠經過diskgenius的免費軟件來轉換成gpt格式,操做得當不會破壞數據。
esp分區新建以下目錄結構:
efi/boot/
efi/microsoft/boot/
將windows系統裏面的bootmgfw.efi 複製到第二個路徑下,把配置好的bcd也複製過去。而後把bootmgfw.efi 複製一份,更名bootx64.efi複製到第一條路徑下。
就這麼簡單,甚至第二步也不是必須的。bootx64.efi這裏是計算機默認啓動的路徑,而microsoft下面的,是微軟這個品牌的系統所使用的啓動路徑,若是bios足夠聰明,它會直接在microsoft下面找引導程序.efi。
對於linux來講,一樣的,它也能夠創建一個linux的文件夾,或者隨便什麼名字的文件夾,把引導文件放進去就能夠了。
特別的,bios 內部的存儲區域還能夠存儲相關的引導路徑信息(須要相關工具來設置這塊區域),方便用戶選擇。因此爲什麼有些系統的引導文件佈局和以上有所不一樣。
除了esp分區,其餘任何分區,均可以獨立的被引導,甚至能夠跨設備引導,由於gpt用一個很長的標記標識全部設備,能夠認爲是無衝突,獨一無二的,所以理論上,無論引導文件存在那裏,從那裏開始引導,只要給出正確的設備號,都能找到對應的設備,從而進行正確的引導。所以,理論上當前設備esp有沒有,也不是關鍵,只要在某個設備上有,這個引導程序能夠引導全部鏈接到硬件系統的設備。這也是uefi 和gpt分區系統真正強大的地方,真正作到了隨意引導,與位置無關。
好比咱們能夠把引導放在一個u盤裏面,而後插上這個u盤才能使用電腦,這也是挺有趣的實踐。不過我沒試過。你們能夠嘗試一下。