• 2

Mac 的 EFI 隠藏磁碟分割基本認識

EFI 隠藏磁碟分割對於一般的使用者而言, 應該是很神密的, 除了我們在分割硬碟時採用
GUID 分割表, 更新 EFI Boot ROM 及 SMC 會與它有相關, 另外對於 windows 而言,
它佔用了1個主要的磁碟分割. 標題會命為 Mac 的 EFI 隠藏磁碟分割基本認識, 是因為
有很多的地方我還不十分了解, 能從網路上找到的相關資訊有限,我的目的只是讓網友對
EFI 隠藏磁碟分割有一個基本的認識.


=============================================================


1. EFI 隠藏磁碟分割大小為 200MB, 格式為 FAT32, 佔用第 1 個主要磁碟分割,
沒有名稱, 只有類型名稱為 EFI. 它被隠藏,無法由 磁碟工具程式 看到, 要由 終端機
輸入 diskutil list 指令才看的到.

註1: 所謂的隠藏, 其實就是指開機進入 Mac OS X 時並未自動掛載,
但是還是可以用 sudo mount, sudo umount 指令手動 掛載 及 卸載.
註2: 由以下的方法可以由 磁碟工具程式 看見 EFI 隠藏磁碟分割.
http://www.mobile01.com/topicdetail.php?f=481&t=2747489&p=1

2. 使用磁碟工具程式分割硬碟時, 若採用 GUID 分割表分割, 就會自動產生
EFI 隠藏磁碟分割. 若採用 MBR 分割表, 則不會產生 EFI 隠藏磁碟分割.

3. 若使用磁碟工具程式且採用 GUID 分割表分割硬碟, Mac OS 擴充格(日誌式)
的磁碟分割可以利用磁碟工具程式調整大小, 即在磁割分割右下角有一個三角形
可以拖曳的符號. 若採用 MBR 分割表則否.

4. 若磁碟要安裝 Mac OS X 或是 Mac OS X / Windows 雙作業系統,
分割磁碟時必需要採用 GUID 分割表, 否則無法安裝 Mac OS X. 若是沒有
安裝Mac OS X 的磁碟, 可以採用 GUID 分割表或是 MBR 分割表,但是建議
採用 MBR 分割表, 因為對於 Windows 而言,就多一個主要磁碟分割可以利用.

註3: Windows 採用 MBR 分割表只支援4個主要磁碟分割.

5. 若是要更新 EFI Boot ROM 或 SMC, 一定要有 EFI 隠藏磁碟分割 , 否則無法更新.

註4: EFI Boot ROM 為 Mac 硬體上的 電子抹除式可複寫唯讀記憶體(EEPROM),
功能類似 PC 上的 BIOS.

6. 刪除 EFI 隠藏磁碟分割的方法.
最簡單的方法就是由 WIN7/WIN8 安裝光碟開機, 由磁碟機選項(進階), 直接刪除
EFI 隠藏磁碟分割成為未配置的空間.

7. 刪除 EFI 隠藏磁碟分割後, 無法由 OS X-系統偏好設定-啟動磁碟
設定 Macintosh HD 為 啟動磁碟. 也無法由 Boot Camp 輔助程式,
分割 或 合併 BOOTCAMP 磁碟分割.

8. 安裝 Mac OS X 之後, 刪除 EFI 隠藏磁碟分割, 依然可以開機. 可以得證,
Mac OS X 開機的過程不會使用到 EFI 隠藏磁碟分割內的檔案. 我大胆的猜測,
EFI 隠藏磁碟分割只是更新 EFI Boot ROM 及 SMC 時的暫存區, 開機程序是由
EFI Boot ROM 開始, 之後再交給 Mac OS X.
http://refit.sourceforge.net/info/boot_process.html

9. 若是在刪除 EFI 隠藏磁碟分割後, 要再回復 EFI 隠藏分割, 只有使用磁碟工具程式
採用 GUID 分割表重新分割磁碟一途. 所有的資料將會被刪除.

10. 掛載/御載 EFI 隠藏磁碟分割的方法

掛載 EFI 隠藏磁碟分割的方法.
http://themacadmin.com/?p=603

御載 EFI 隠藏磁碟分割的2個方法.
a. 重新開機.
b. 由終端機輸入以下指令(相對於掛載 EFI 的例子)
sudo umount /Volumes/efi

11. EFI 隠藏磁碟分割內的檔案
a. 磁碟工具程式採用 GUID 分割表分割磁碟後, 無任何的檔案.
b. 安裝 Mac OS X 過程中會寫入 Fireware.scap
目錄: /EFI/APPLE/EXTENSIONS/Fireware.scap
c. 更新 EFI Boot ROM 過程中會寫入 *.scap
目錄 : /EFI/APPLE/FIRMWARE/*.scap
例如 2010 Mac min 更新 EFI Boot ROM (MM41.0042.B03)
/EFI/APPLE/FIRMWARE/MM41_0042_03B_LOCKED.scap
d. 更新 SMC 過程中會寫入 *.smc
目錄:/EFI/APPLE/FIRMWARE/*.smc
例如 2010 MacBook Air 更新 SMC 1.7版本.
/EFI/APPLE/FIRMWARE/MAB11.smc


============================================

主要參考文章:
http://refit.sourceforge.net/myths/

因為我個人的知識有限, 且大部的資料都是從網路上找來的, 也有自已做的實驗,
如果有任何錯誤, 敬請指正.
2012-06-13 7:53 發佈
拜讀此文長知識了,非常感謝
無敵國 wrote:
EFI 隠藏磁碟分割...(恕刪)

長久以來, 無敵國sir的文章與熱心真的造福很多人~~

沒有分數可以奉上, 只能言謝~~~

Thanks~~~
我正好也在研究efi
直接安裝win 7 or 8在支援efi的機器上
windows會採用gpt 然後切出一個recovery 和efi 的磁碟區
efi的partition裡能找到bootx64.efi和bootia32.efi 分別是x64和x86的 Windows Boot loader
所以我判斷 windows開機時會先去efi裡啟動boot loader後讀取BCD在找到開機磁碟區才能正常開機

照無敵大的說法
MAC OSX 是用不到efi磁碟區
不知道無敵國有沒有空打開來看一下?

順帶一提
之前寫過efi application
是能在efi internal shell裡面執行的...
不過不知道這有什麼用...

謝謝 Ouken 大的回應 !!

首先提一下 Mac 的 hybrid GPT/MBR 與 widows 的純 GPT 是不一樣的,
使用磁碟工具程式分割的磁碟是無法安裝由 EFI 啟動的 WIN8. 另外本篇的
重點是者重於由磁碟工具程式選擇 GUID 分割表後所產生出來的 EFI 隠藏磁碟
分割, 並不是由 WIN7/WIN8 安裝光碟進入 dos 模式後使用 diskpart 指令
所製作出的 EFI.

另外我確實是有在安裝 Mac OS X 後, 砍掉 EFI 隠藏磁碟分割後, 依然可以
順利開機, 也有使用 sudo mount 指令, 查看 EFI 隠藏磁碟內的檔案, 就
在文章中的第 11 項.

以下連結是我在 2010 MacBook Air 上安裝由 EFI 開機 WIN8 的實驗, 請參考看看.
http://www.mobile01.com/topicdetail.php?f=481&t=2757739&p=1





Mobius wrote:
拜讀此文長知識了,非...(恕刪)


謝謝 Mobius 網友的支持鼓勵.

kyushu wrote:
長久以來, 無敵國s...(恕刪)


謝謝 kyushu 網友的支持加油 !!
才剛加入MAC行列,謝謝版主的熱心的文章!
讓我增長有關MAC知識,感恩!
sc3236 wrote:
才剛加入MAC行列,...(恕刪)


謝謝支持.

一般使用者通常都不會注意到 EFI 隠藏磁碟分割, 但安裝 Mac OS X,
更新 EFI, 更新 SMC, 一定要有它的存在, 但它也佔用了一個主要磁碟分割,
對以 Boot Camp 安裝的 WIN7 而言, 會有 4 個主要磁碟分割的限制.
請問一下版主~我是剛入手的小白~請問一下~我的是桌上型MAC 已經安裝雙系統給外面安裝~有卡到一個問題就是~我給外面人灌win8.1 已經安裝完成~我要複製系統到另一個槽~在建立系統映像~出現失敗~輩分無法在EFI系統分割~我也爬文過~EFI這個可以刪除~問題來了~因為我已經安裝完雙系統~如果我把EFI這個刪除~會造成我在開機時無法切至OS X 系統嗎? 我看文章上有人這門說會造成無法切換~請問一下版主~麻煩幫我解答一下~謝謝

無敵國 wrote:
EFI 隠藏磁碟分...(恕刪)
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?