關於UEFI+GPT的一些經驗

前言:

       隨着時代和科技的發展,電腦越來越普及,似乎人人都可以張嘴就說“我懂電腦”,但是總有一些看起來完全不懂但實際上非常基礎的東西讓“懂”與“不懂”清晰地劃清界限。比如UEFI+GPT就是其中之一。那些之前認爲自己已經精通電腦的人,遇到這個東西,忽然發現自己連以前自以爲駕輕就熟的分區、裝系統都不會了。     

       儘管UEFI以及GPT從誕生迄今已經十餘年了,但是對於絕大多數人來講它們是完全陌生的 ,甚至根本就不知道還有這種東西。

        但是由於Windows8操作系統的面世,預裝Windows8的電腦開始統一採用UEFI+GPT,很多人被迫接觸到,感覺就像突然從天上掉下來的東西一樣,無所適從,一籌莫展——  “這到底是個什麼東西呢?”  

         一旦出現系統問題,唯一能做的解決辦法除了品牌機自帶的系統還原,最大能力不過就是把UEFI關閉,把硬盤從GPT再轉成MBR,從而徹底毀掉UEFI+GPT的優勢,重新回到陳舊落後的BIOS+MBR的系統安裝和運行方式上來。而每臺電腦的具體情況又不盡相同,有時候即使想用BIOS+MBR也不是肯定能成功的  ——   “我該怎麼辦啊? ”
 

正文:

       之前很長一段時間對UEFI+GPT沒有頭緒,有種無處下手的感覺,雖然UEFI+GPT安裝系統一直沒遇到什麼障礙,但是即使查閱了相當數量的資料,在認識上對於UEFI+GPT也沒有一個完整的概念,總覺得這是一個很難理解的東西,不得要領。不像最初接觸BIOS+MBR的時候那麼容易入門直至熟練操作。 
        先說關於什麼是UEFI和GPT,在此就不做詳解了,感興趣的都瞭解,不感興趣的說了也沒什麼用處。只說一點最基本的,MBR分區結構只能支持到2.2T的硬盤,超過2.2T就必須採用GPT分區,而就Windows而言,採用了GPT的硬盤,要想安裝並啓動Windows操作系統,只能選擇高於XP的64位操作系統,並且採用UEFI方式安裝、引導,否則無法啓動,而包括XP在內及其之前的32位操作系統完全不支持GPT,別說安裝、引導系統,直接無法識別。3T硬盤時代並不遙遠,要想正常使用你的電腦,這就是採用UEFI+GPT的必要性。

        而最關鍵之處在於,照目前的形勢來看,由於預裝Windows8電腦的推動,UEFI+GPT已經是大勢所趨,與是否2.2T以上硬盤也已經沒什麼直接關係,也許就在不久之後的某一天開始所有的電腦全部使用UEFI單一啓動,不會再兼容傳統BIOS。

        再說一下關於BIOS+MBR,從接觸電腦十幾年來,一直都是用的這種組合,直至今日,不敢說對此有多麼瞭解,最起碼在日常操作中基本無障礙了。比如:Windows各個版本甚至再+Linux+Mac的混合安裝、引導駕輕就熟,任意順序安裝,任意創建、修復引導,多硬盤混合引導,分區表損壞、主引導記錄損壞的修復、重建等等,都不存在任何問題。 
        而從一接觸UEFI+GPT,總是感覺這個東西無法理解。甚至一籌莫展,哪怕是引導損壞這樣之前在BIOS+MBR裏不叫事的事情,面對UEFI+GPT都束手無策,查了很多資料,除了重裝系統,在國內網絡範圍內,全網竟然找不到任何一篇具體解決問題的文章。現在回想,很長一段時間內都無法理解這些問題,很多莫名其妙的所謂專業文章的誤導在其中作了重要貢獻。

      後來索性拋開所有的那些亂七八糟的觀點、定義,按照自己的想法去摸索,經過近十天,幾十遍重裝系統,反覆的假設、實驗,總算是對UEFI+GPT有了一個總體的概念和較爲清晰的認識,最關鍵的在於能夠隨意進行UEFI+GPT的安裝和引導修復了,這是最重要的,個人觀點一直都是,必須從實際出發,即使瞭解的再多,什麼問題也解決不了,紙上談兵,一切等於零。可以毫不誇張的說,至少目前爲止,本文是全網絡唯一一篇對UEFI+GPT進行實用性介紹和以及解決實際問題的文章。

        個人體會,實際上只要對BIOS+MBR有一定的瞭解和操作能力,完全可以繼續用BIOS+MBR的思路去考慮UEFI+GPT的問題,這樣的話很多事情都會迎刃而解,因爲兩者之間在實際應用和操作上沒有本質區別,而不是像某些專業文章所渲染那麼高深莫測,並且盡其能事的竭力描述兩者之間的重大區別,使UEFI+GPT理解起來更加困難,在一定程度上來講,這就是一種因循誤導。(當然也不排除某些寫此類文章的人其實自己對這個東西也一知半解或者根本就不明白,除了千篇一律的抄襲、轉載,最多也只能翻來覆去的照搬官方術語,堆砌定義和理論,完全談不上有自己的觀點或者看法,更沒有什麼具體的解決方案。)
        關於UEFI的優越特性,比如可操作性、安全性、兼容性、可擴展性之類的問題,在此不再多說,這是開發人員的事情,和我沒有關係。僅僅總結幾點兩者在系統安裝及引導方式方面一些異同,幫助同樣有此困惑的人理解這個東西:
    

【重要提示:

      本文旨在“授之以漁”,力求融會貫通,知其然更知其所以然。因此本文既不包含網絡上“技術文章八股文”式的定義、理論的堆砌和釋義,更不是“小白必備”的傻瓜式手把手操作教程,如果對以上兩種千篇一律的所謂“技術文章”有偏執的愛好,請務必及時停止瀏覽,另尋其好。】

 


不同點:  
    1.BIOS+MBR安裝系統要求硬盤只要存在非隱藏、活動的主分區就可以了;而UEFI+GPT要求硬盤上除了存在ESP分區,還必須存在至少一個主分區

 

    2.BIOS+MBR一旦系統安裝好之後,如果系統引導文件在單獨的分區,此分區可以在操作系統中可見,也可以設置此分區爲隱藏,系統都可以正常啓動;而UEFI+GPT系統引導文件所在的ESP分區在操作系統中爲不可見 
    3.BIOS+MBR啓動要求的活動的主分區不是唯一固定的,可以任意設定某一分區爲活動的主分區,然後MBR就可以通過分區表指引操作系統從此分區啓動,也就是說,可以在任意分區(主分區<無論是否活動>或者擴展分區)安裝操作系統,只要存在任意的活動主分區,就可以從此分區啓動操作系統;而UEFI+GPT只能把系統引導文件放置在ESP分區 
    4.BIOS+MBR的系統引導文件可以和系統文件在同一分區的根目錄,也可以不與系統文件同一分區,只要系統引導文件所在分區爲活動的主分區即可啓動操作系統;而UEFI+GPT只能把系統引導文件放置在ESP分區,且操作系統必須在另外的主分區,也就是說,UEFI+GPT強制要求系統啓動文件與系統文件必須分離,不在同一分區。 
    
相同點: 
    1.BIOS+MBR和UEFI+GPT的系統引導文件都可以放置在單獨的分區,這一點在上面的第4點裏已經說的很清楚 
    2.BIOS+MBR的系統引導文件所在的活動主分區位置不是固定的,可以隨意設置任意分區滿足此條件,UEFI+GPT的ESP的位置也是可以隨意設置的,在硬盤起始位置、中間位置、末尾,都可以,只要分區屬性和其中的引導文件正確,就可以引導啓動操作系統 (參考文中附圖) 
    3.BIOS+MBR的系統引導文件所在的分區和UEFI+GPT的ESP分區都可以分配任意大小,而不是ESP必須100M 
    4.BIOS+MBR安裝系統所需的非隱藏、活動主分區和UEFI+GPT的系統的ESP分區,都可以同時設置多個,但是即使有多個相同屬性的分區,系統安裝時安裝程序都是自動寫入第一個,啓動時也都是從第一個啓動(參考文中附圖)

 


補充:
    1.使用BIOS+MBR和UEFI+GPT安裝的系統文件是一模一樣的,唯一的區別只是引導方式的不同,因此使用GHOST手動備份的系統,MBR和GPT可以任意交叉還原,只要做好引導修復就沒有任何問題 
    2.GHOST始終是系統備份還原神器,只要熟練掌握GHOST手動操作,至少目前爲止Windows系統的範圍之內,無論什麼版本,無論MBR還是GPT,都可以隨意備份還原。 

     3.MBR與GPT分區互轉的話,與“刪除所有分區”以及“全盤格式化”沒有任何必然聯繫,你格式化一萬遍硬盤也還是原來的分區結構,只有通過轉換操作纔可以到另一種,而這個轉換操作與“刪除所有分區”以及“全盤格式化”沒什麼關係。
    

 

着重強調一點:

      以上所有經驗均基於UEFI+GPT的組合,而實際上,UEFI啓動(Windows操作系統)的話,並不強制要求硬盤必須爲GPT分區,而是隻要硬盤上存在EFI啓動文件且位於FAT(16/32)分區就可以了(UEFI無法從NTFS分區啓動)。因此如果是小於2.2T的硬盤,不必非得轉換成GPT也可以引導系統啓動。也就是說,UEFI+MBR也是可行的,而GPT硬盤的話,則必須使用UEFI引導,BIOS無法原生引導GPT硬盤上的操作系統(Windows)。

      關於這一點,如果感覺不能理解的話,可以通過以下具體應用來參考。

    《我自己電腦的UEFI+MBR應用現況》

     http://hi.baidu.com/4o7647406/item/5bb4899dc65ef3f0291647c1

 

 

注:

      綜觀網上那些關於UEFI的所謂技術類文章,除了毫無實用價值和實際意義,而且都不同程度的存在各種各樣的因循誤導,繼而被以訛傳訛,最終成爲一些人堅信不疑的“定律”。這樣的誤導主要表現爲兩點:

      1.就是剛剛說的,“UEFI啓動系統必須是GPT分區”,這個已經說得很明白了,並且有實例解析,無需再討論

      2.另外一個就是不知道從什麼時候什麼人開始謠傳的“UEFI的優勢就是啓動速度快”或者“UEFI啓動比傳統BIOS啓動速度快”。無論UEFI還是GPT,與電腦啓動速度沒有任何必然聯繫。或者說,只要硬件環境相同、系統一樣,無論UEFI+GPT安裝還是BIOS+MBR安裝系統,啓動速度沒有區別。

       如果就是對系統啓動速度有偏執的熱愛的話,可以參考我的這篇日誌《我自己電腦的使用經歷》http://hi.baidu.com/4o7647406/item/f11c8203710a81ce74cd3cf4

 



GPT

 

<轉載>關於UEFI+GPT的一些經驗


MBR

 

<轉載>關於UEFI+GPT的一些經驗
 


附:部分Windows桌面操作系統對GPT的支持
                             數據讀寫     系統啓動              
Windows XP 32位   不支持GPT   不支持GPT
Windows XP 64位    支持GPT    不支持GPT
Windows Vista 32位 支持GPT    不支持GPT
Windows Vista 64位 支持GPT    支持GPT(需UEFI)
Windows 7 32位     支持GPT    不支持GPT
Windows 7 64位     支持GPT    支持GPT(需UEFI)
Windows 8 32位     支持GPT    不支持GPT
Windows 8 64位     支持GPT    支持GPT(需UEFI)


    有了以上的經驗總結,就可以輕鬆解決以下問題了:
    1.UEFI+GPT環境下以任意方式安裝操作系統(單系統或者多系統)。這個不必詳解了


    2.最主要的問題:UEFI+GPT引導修復操作(EFI引導文件損壞、ESP分區損壞或者丟失之後手動重建EFI引導等等)。這個在此也不做詳解,這是這段時間反覆研究、實踐的最重要成果,因此姑且算是有所保留賣個關子吧,如果是結合以上幾點經驗總結,對UEFI+GPT有一定的瞭解之後,應該不難揣摩出辦法 


    3.如果主板不支持UEFI,使用折中的辦法來解決大硬盤使用問題,這個問題以前我也已經多次提過。
    第一種辦法就是使用多塊硬盤,MBR+GPT組合,MBR硬盤作爲啓動引導盤。
    小於2.2T的硬盤採用MBR,大於2.2T的硬盤採用GPT,這樣的話,解決方案就很靈活了,可以根據以上所列相同點的第1條和補充裏面第2條,使用MBR硬盤建一個非隱藏活動主分區,放置系統引導文件,然後將系統安裝在MBR硬盤或者GPT硬盤都可以,無論單系統還是多系統都無所謂,兩塊硬盤交叉安裝操作系統也沒有任何問題
   強調兩點

     1.這樣安裝的話不限於64位操作系統及XP以上版本,理論上只要是能對GPT硬盤進行讀寫的系統版本就可以安裝。實際測試,32位XP和2003sp1以及之前的版本,電腦事先安裝GPT硬盤的情況下,即使系統安裝在MBR硬盤,原版系統安裝,沒有問題,如果是Ghost系統,有可能出現卡死或者藍屏等問題導致無法順利安裝;先在MBR硬盤安裝好系統,然後再裝GPT硬盤,無論原版還是Ghost系統都沒有問題,只是GPT分區無法識別(解決方法很簡單,就是使用2003sp2的disk.sys文件替換到以上系統,就可以完美識別GPT分區,此法簡單易操作,且不涉及系統穩定問題,感興趣的話可以自行搜索)。64位XP安裝在MBR硬盤,引導、啓動都沒有問題,安裝在GPT硬盤無法引導。其他系統無論32位還是64位,無論安裝在MBR還是GPT,都可以正常引導啓動;

    2.BIOS安裝系統到GPT硬盤僅限於Ghost方式,Ghost解壓完畢後手動修復引導即可。
   第二種辦法是單塊大於2.2T的硬盤+U盤或者光盤組合
    使用GPT分區結構對硬盤進行分區,是否創建ESP分區都無所謂,因爲主板不支持UEFI,創建此分區也沒什麼用,全憑個人愛好了。然後只能使用Ghost方式解壓安裝操作系統到硬盤,無論單系統還是多系統,全部安裝完畢後,準備一個U盤,大小無所謂,只要不小於十幾M就行,使用分區軟件設爲活動主分區,插在電腦上。進PE(2003sp1以上版本),手動或者使用工具軟件修復單系統或者多系統引導,將引導文件寫入U盤。然後就可以使用此U盤啓動所安裝的單系統或者多系統了。此方法實際上就是用U盤代替了第一種方法中的小硬盤而已,沒什麼本質區別。(這個方法大概10年前我就在電腦論壇發過帖子,當時考慮的是用U盤做一個系統啓動鑰匙,因爲系統引導文件在U盤上,電腦如果不插這個U盤是無法啓動的。MBR硬盤系統:Windows8 64位+Windows7 32位+WindowsXP 32位,GPT硬盤系統:Windows8 32位+Windows7 64位+WindowsVista 32位,測試環境:雜牌945主板、32M老U盤,測試通過。)
    另外還可以再使用光盤來代替U盤,具體方法說起來更簡單,用軟件創建一個可啓動光盤(創建方法自行查詢,會做的不用講,壓根沒接觸過的,另開帖子專門講也不一定看得懂),然後將上面U盤裏的系統啓動文件加進去刻錄就可以了。然後使用此光盤啓動電腦,效果和U盤是一樣的。此方法僅僅作爲一種可行性的介紹,不推薦使用,U盤比這個方便的多,沒必要多此一舉。
    備註:使用此方法,理論上來講凡是可以對GPT進行讀寫的系統都適用,但實際上XP以上系統無論32位還是64位操作系統全部測試可行,但是2003sp1及XP64位這些可以讀寫GPT的系統也不行,這個不知道是由於NT5.X的ntldr引導機制還是其他的什麼原因,有知道原因的朋友不吝賜教!


   
    注:
    1.除專門標明“Ghost系統”,本文所提及的系統安裝均爲微軟原版Windows系統,不包含任何修改版本
    2.非UEFI主板安裝原版系統到GPT磁盤,只能採取wim直接解壓到分區或者先將系統Ghost化,然後解壓安裝的辦法。原版系統Ghost化可以參考我的這篇日誌http://hi.baidu.com/4o7647406/item/7031406e3c0ba8147ddeccca

    3.本文所有結論全部爲反覆多次實際測試結果,不是設想、假設,更不是想象或者幻想以及想當然的以爲
    4.本文內容已經多次修訂和修改,這是個人的一點經驗總結,難免有紕漏以及表達不準確之處,望有相關經驗的朋友給予更多幫助  

 

 

 附註:

       鑑於許多的網友瀏覽本文之後提出如下問題,因此特集中在此做如下補充說明,不再過多贅述及一一答覆:

        原本很早之前就寫了一篇關於預裝win8的電腦改其他系統以及安裝多系統的文章,雖然經過多次修改,最後還是放在電腦裏沒有在任何地方發表出來。
         雖然那是親自實踐過多個品牌和型號的預裝機器之後總結出來的經驗,但是仍然發現在其他品牌和型號的電腦上根本無法通用。而我不可能也沒條件遍試所有的機器,因此此篇文章就此擱淺。
         因此我在我的這篇文章裏面沒有涉及任何預裝win8系統的電腦改系統的問題。
        這是我的一貫態度,我所寫的都是我親身實踐、確實可行、不需討論的,在我這裏不可能出現“我覺得”“我認爲”“應該是”這類想象或者幻想的東西。

         (在此還是要特別強調幾點:

         1.這個意思並不是說“預裝win8的電腦改其他系統以及安裝多系統”是完全不可行的,只是目前爲止還沒找到通用的方法。也就是說可能在某個品牌和型號的電腦上按照某種方法安裝非常順利,但是同樣的方法用在其他品牌和型號的電腦上可能完全不適用。

        2.不管是用何種方法,比如Ghost、PE、nt6 hdd installer、快捷安裝器、直接setup、在vhd裝、全盤轉換成mbr、手動寫引導等等方法,將其他系統裝進硬盤,只要通過這塊主板啓動,就要面對安裝失敗的問題,因此制約因素在主板上,並不在於採用什麼方式安裝系統)

 

 

     無意間搜索了一下,竟然發現本文已經被複制粘貼到數不清的地方。由於本文是持續更新、多次修改表達不準確之處,因此很多複製的版本都存在不同程度的問題。
       特在此作如下聲明,如果非要盜貼不可的話,希望連同這個聲明一起,以免造成誤導:

 【本文章歸QQ:407647406及http://hi.baidu.com/4o7647406版權所有,未經允許禁止引用和複製,請自重!】


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章