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/
因為我個人的知識有限, 且大部的資料都是從網路上找來的, 也有自已做的實驗,
如果有任何錯誤, 敬請指正.
直接安裝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裡面執行的...
不過不知道這有什麼用...
首先提一下 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
內文搜尋

X