1. 程式人生 > >WIN8 與WIN7的64位及32位 分別對Legacy BIOS+MBR和UEFI+GPT兩種啟動方式和分割槽架構下的安裝可行性分析

WIN8 與WIN7的64位及32位 分別對Legacy BIOS+MBR和UEFI+GPT兩種啟動方式和分割槽架構下的安裝可行性分析

微軟系統、相關產品官方映象下載:http://msdn.itellyou.cn/
關於MBR、GPT、ESP、MSR、EFI、UEFI和WIN8中SECURE BOOT的基礎知識:
1.MBR分割槽表:Master Boot Record,即硬碟主引導記錄分割槽表,只支援容量在 2.1TB 以下的硬碟,超過2.1TB的硬碟只能管理2.1TB,最多隻支援4個主分割槽或三個主分割槽和一個擴充套件分割槽,擴充套件分割槽下可以有多個邏輯分割槽。
 
2. GPT分割槽表:GPT,全域性唯一標識分割槽表(GUID Partition Table),與MBR最大4個分割槽表項的限制相比,GPT對分割槽數量沒有限制,但Windows最大僅支援128個GPT分割槽,GPT可管理硬碟大小達到了18EB。只有基於UEFI平臺的主機板才支援GPT分割槽引導啟動

 
MBR和GPT是磁碟分割槽架構,而下面的ESP和MSR是分割槽名稱,用GPT分割槽架構就會產生ESP分割槽,像聯想系列的電腦可能還有產生lenovo_recovery一類的分割槽,這lenovo_recovery分割槽是預裝系統的聯想電腦的恢復分割槽,它一般都是隱藏的,通過磁碟管理或者相應的磁碟工具如diskgenius就可以看到它,如果格式化了就找不到預裝系統了,只能去聯想服務站啦。
 
3. ESP分割槽:EFI system partition,該分割槽用於採用了EFI BIOS的電腦系統,用來啟動作業系統。分割槽記憶體放引導管理程式、驅動程式、系統維護工具等。如果電腦採用了EFI系統,或當前磁碟用於在EFI平臺上啟動作業系統,則應建議ESP分割槽。
 
4. MSR分割槽:即微軟保留分割槽,是GPT磁碟上用於保留空間以備用的分割槽,例如在將磁碟轉換為動態磁碟時需要使用這些分割槽空間。
 
5. SECURE BOOT功能:Windows 8中增加了一個新的安全功能,Secure Boot內置於UEFI BIOS中,用來對抗感染MBR、BIOS的惡意軟體, Windows 8 預設將使用Secure Boot,在啟動過程中,任何要載入的模組必須簽名(強制的),UEFI韌體會進行驗證,沒有簽名或者無法驗證的,將不會載入。
 
6.EFI:可擴充套件韌體介面英文名Extensible Firmware Interface 的縮寫,是英特爾推出的一種在未來的類PC的電腦系統中替代BIOS的升級方案。
 
7.UEFI:新型UEFI,全稱“統一的可擴充套件韌體介面”(Unified Extensible Firmware Interface), 是一種詳細描述型別介面的標準。這種介面用於作業系統自動從預啟動的操作環境,載入到一種作業系統上。UEFI是由EFI1.10為基礎發展起來的,它的所有者已不再是Intel,而是一個稱作Unified EFI Form的國際組織。可擴充套件韌體介面(Extensible Firmware Interface,EFI)是 Intel 為 PC 韌體的體系結構、介面和服務提出的建議標準。其主要目的是為了提供一組在 OS 載入之前(啟動前)在所有平臺上一致的、正確指定的啟動服務,被看做是有近20多年曆史的 BIOS 的繼任者。
 
以下是WIN8 64位 32位和WIN7 64位 32位分別對於Legacy BIOS+MBR和UEFI+GPT兩種啟動及分割槽架構下的安裝可行性分析以及操作指南:
 
PS:關於Legacy BIOS+GPT和UEFI+MBR這兩種特例:GPT分割槽構架必須用UEFI,傳統BIOS不可以啟動作業系統,而對於UEFI和MBR這種方式,網上有針對這一方法的帖子,說說UEFI+GPT,這種方式是蘋果電腦的引導及硬碟分割槽架構,是相對比較新的技術了,蘋果一直用的這種方式,關於這種方式的優點網上的相關資料數不勝數,這裡不一一羅列,誠然,雖然現在主流依然是Legacy BIOS+MBR,但UEFI+GPT肯定是未來的發展方向。
 
UEFI+GPT與
BIOS+MBR
 
不同點
 
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分割槽互轉的話,與“刪除所有分割槽”以及“全盤格式化”沒有任何必然聯絡,你格式化一萬遍硬碟也還是原來的分割槽結構,只有通過轉換操作才可以到另一種,而這個轉換操作與“刪除所有分割槽”以及“全盤格式化”沒什麼關係。
 
WIN8 64位:可以用Legacy BIOS+MBR,UEFI+GPT啟動。即支援MBR和GPT的磁碟架構。安裝方法基本和win7 64位(WIN7 64位安裝方法下面有詳細介紹)的一致,可以完全照win7的樣子走。只是在第四步啟動win8的efi引導檔案上略有區別,WIN7 64位安裝方法中說了win7官方映象中是沒有efi引導的關鍵檔案bootmgfw.efi檔案,win8中是有這個檔案(但名字叫做bootx64.efi)的。win8官方映象檔案解壓到FAT32檔案系統的U盤後,根目錄下有EFI資料夾,裡面有BOOT資料夾,此資料夾裡的Bootx64.efi檔案就是win8系統的EFI引導檔案,可以在efi shell中執行它,就可以安裝系統了。正常情況下(就是主機板內建了efi shell的話)Win8安裝到了第二步選擇了驅動器後,重啟後直接就出現了win8的啟動動畫了,後面的和常規安裝一樣。
 
WIN8 32位:支援Legacy BIOS+MBR,也可以支援UEFI+GPT,但是!32bit的win8支援從UEFI啟動,但是前提是UEFI必須是32bit的才可以,現在絕大部分的機器都是64bit的UEFI。所以,可以說32位的WIN8基本不可以用UEFI啟動。
 
WIN7 64位:支援Legacy BIOS+MBR,UEFI+GPT,即跟WIN8 64位一樣,但是在用UEFI安裝中,在選擇磁碟時候會有黃色感嘆號提示,但是不用管它(WIN7對UEFI的相容不如WIN8好,畢竟是針對於WIN8做的):
 
安裝教程:
 
安裝前準備:
 
1、下載好微軟官方win7 64位映象檔案;http://msdn.itellyou.cn/裡面的官方映象非常全。
 
2、下載好EFI SHELL x64(此檔案解壓後得到shell.efi檔案和apps資料夾)以及bootmgfw.efi檔案,一般得下載,以防萬一,原因後面解釋;
 
3、 準備個大於等於4G(至少要能放下win7 64位映象解壓出來的全部檔案)的U盤,並且格式化為FAT32檔案系統。
 
4、 檢視自己機型的主機板BIOS廠家版本,確定是否支援UEFI,以及UEFI的相關設定文件資料(只要知道如何開啟UEFI新型BIOS,並且會設定EFI shell啟動方式,以及win8所支援的security Boot功能如何關閉就行)。本次選擇優先USB(U盤)啟動。
 
5、先將下載好的win7 x64官方映象檔案解壓到U盤根目錄下,同時把下載好的EFI SHELL x64解壓到此U盤的根目錄下,同時,下載好的bootmgfw.efi檔案也放在U盤根目錄下。如下圖示
 
其中,黃色熒光圈出的兩個apps和shell.efi是從下載好的eif shell x64中解壓出來;滑鼠選中的bootmgfw.efi適和efi一同下載好的那個檔案。
 
注:1、U盤要格式化為FAT32檔案系統是因為EFI只支援從FAT32檔案系統的USB磁碟引導,不支援現在主流的NTFS檔案系統。
 
2、需要下載圖中標示的檔案(apps資料夾、shell.efi和bootmgfw.efi檔案)是因為微軟官方的映象檔案中都缺少必要的EFI引導檔案,要在UEFI新型BIOS下安裝必須得具備上述檔案,否則系統無法識別引導安裝。注意啦!bootmgfw.efi放到efi/boot下安裝,boot資料夾官方映象沒有,可以建一個新的,然後放進去,必須要將bootmgfw.efi檔案改為bootx64.efi,檔名必須要改啊!否則啟動不起來的!放在U盤根目錄下的話,可能行,但是因為我沒有試過,所以不敢保證,名字是必須改的!
 
UEFI BIOS下安裝系統有如下幾個關鍵點:
1、開啟UEFI BIOS模式(確定主機板支援UEFI後再操作)
2、設定主機板,讓主機板啟動UEFI新型BIOS。這個因主機板不同而不同,下面簡單說下我機器的BIOS的設定。同時將開啟UEFI模式,可以是Both,也可以是UEFI Only,Both就是包括了UEFI和Legacy BIOS兩種。
 
關閉安全啟動(security boot)功能,此功能只支援win8(原因微軟只提供了win8的公金鑰給主機板廠商,win7的沒有,開啟後BIOS通不過系統驗證,進不了系統)。
3、 開啟UEFI後重啟,當UEFI韌體初始化的時候,按F10選擇UEFI韌體引導裝置(比如EFI DVD/CD Drive, EFI USB Drive, or EFI Network Drive)。
 
注意1:某些主機板上可能需要手動指定到引導檔案所在位置(比如,選擇Boot from file,然後在你的引導裝置中瀏覽引導檔案,例如在(\EFI\Boot\BootX64.efi)這個位置)。
 
注意2:如果你的機器主機板開啟UEFI模式重啟後,沒有出現選擇UEFI韌體引導裝置(boot from an EFI drive),那麼你需要手動指定讓BIOS啟動到EFI SHELL,方法就是在主機板設定時,選擇launch EFI shell from filesystem device,重啟後按提示進入efi shell所在目錄載入它就行。
 
注意3:目前絕大多數UEFI主機板都內建了EFI shell,如果沒有也可以通過U盤等工具載入EFI shell (上文中提到U盤中拷貝efi shell x64就是為了防止主機板沒有內建EFI shell)。
 
注意4:efi shell操作不是UEFI下安裝系統必須的步驟,所以不要糾結不會efi shell命令,如果要用到的話,只需要會簡單的幾個簡單命令即可!
然後就可以進入到安裝介面了,至於進入efi shell然後那些操作,我沒用過,所以,以下是摘抄網上的方法:
 
啟動EFI shell後得到如下介面(以下部分用虛擬機器下的介面做示例)
 
成功啟動efi shell後
 
螢幕上出現命令提示符介面,頂端會顯示EFI shell version x.xx[x.x],此處顯示EFI shell的版本資訊
 
下面會顯示有Device
 
mapping table,此處開始顯示目前連線到機器的儲存驅動裝置,比如硬碟,光碟機,USB儲存裝置等。
 
Fs0和blk0等表示各驅動器中不同分割槽的編號,fs意思為FAT檔案系統,上圖中的Fs0表示的是我的U盤(格式化為FAT32檔案系統的,因為EFI不能識別NTFS檔案系統)。
 
最下面的是shell命令提示符,在游標閃爍出可以輸入efi shell命令,回車後執行。
 
對於efi shell的操作如下:就是找到windows在EFI下安裝的載入程式並執行
 
在上圖所示
 
在shell>提示符後面輸入fs0:回車,
 
進入fs0磁碟此時提示符變成Fs0:\>
 
接著在Fs0:\>,輸入命令ls回車,
 
得到類似dos命令dir執行後的好幾行字元,由於當時沒注意截圖,所以在網上找來個“右邊夢境“同學的截圖,如下所示:
 
如上圖其中藍色的表示資料夾,綠色的表示可執行檔案,在Fs0:\>後輸入該檔名稱及副檔名,回車就可以執行。
 
對於有多個FAT32分割槽的,比如有Fs0,Fs1,Fs2…..等,可以用上面的命令
 
Fsx:回車分別進入這些分割槽,再用ls命令顯示其中的檔案及資料夾,以此找到安裝映象所在的磁碟分割槽。
 
在efi shell下執行win7系統的efi啟動引導檔案
 
比如,此檔案bootmgfw.efi在Fs0的根目錄下,可以在執行如下命令:
 
Shell>Fs0:回車
 
Fs0:\>bootm***.efi回車
 
下面就立即開始出win7的安裝程式啟動畫面,後面的基本上正常了。
 
由於官方的win7映象中沒有efi安裝啟動引導檔案,這個檔案可以通過到一臺安裝好64位win7的電腦,開啟C盤,在C:\Windows\Boot\EFI\bootmgfw.efi位置找到這個bootmgfw.efi檔案拷貝到準備好的安裝U盤裡即可,此檔案可以放在安裝U盤的任何目錄,只要你能用CD命名找到其所在的資料夾即可,一般的建議直接放在U盤根目錄下,方便尋找。這個檔案網上的分享很多,也可以很容易下載。(這裡建議將其重新命名成bootx64.efi,並且,放在安裝U盤的\EFI\Boot\BootX64.efi位置如果U盤根目錄下沒有EFI資料夾就新建一個,再在其內部新建一個boot資料夾將改名後的bootmgfw.efi放在裡面!原因是為了保持和win8一致,免得安裝win8時又找不到該efi啟動引導檔案——這一點我之前提到過啦!)
 
安裝進行到選擇安裝位置這一步時,如下圖所示:
 
圖是win8的圖,不過win7也一樣,能說明問題就行
 
同時,因為在UEFI下WIN7 64位相容不如WIN8,所以,會出現以下圖片問題
 
不用管,可以繼續裝就行,關於這個問題我親自打電話給thinkpad官方,他們說可能是因為WIN764位並不會那麼好的相容,只是個提醒而已,只是可能,事實證明裝上了也沒關係的。
 
此時就分兩種情況:
 
一種是像我截圖這樣整個磁碟沒有事初始化分配分割槽和檔案系統的,此中情況下,如果對分割槽什麼的不瞭解,可以選中要安裝系統的磁碟直接下一步,windows安裝程式會自動建立相關分割槽,並且安裝好系統,最終得到的分割槽如下圖示