什麼是分割表(Partition Table)?顧名思義,自然就是一張表格,專門記錄你的硬碟如何切割;沒有切割,哪裡來的D槽?沒有D槽,又哪裡來的空間存放那些楚楚動人的愛情動作片呢?咳咳,抱歉離題了。總而言之,磁區的分割與規畫是很重要的。讓我們來瞭解 Windows 和 Mac 是怎麼處理磁區分割的。
Windows 和大部分的 OS,使用的是較為老舊的 Master Boot Record,簡稱 MBR。這個分割表的特色就是只能擁有最多四個主要分割區;當你有了四個主分割區,其他分割區就只能以隸屬於其中一個主分割區的邏輯分區存在。當主分割區毀了,底下的邏輯分割區自然也跟著說再見。舉個例來說,如果我們把 Windows 放在主分割區,接著把 OS X 安裝在 Windows 主分割區下的邏輯分割區;當 Windows 因為中毒而毀了分割表,OS X 也就跟著掰掰囉。這就是 MBR 最大的缺點。
Mac 採用的是新式的 GUID Partition Table,簡稱 GPT。這個分割表最多可擁有 128 個主分割區,沒有邏輯分割區,因此沒有分割區互相影響的問題;其中在安裝 OS X 時,會多佔用一個200MB 大小的 EFI 磁區。
既然 OS X 和 Windows 採用的分割方式不同,那 Mac 的 Bootcamp 是怎麼處理 windows 和 OS X 共存的問題?原來 Mac 將前四個分割區,加入了 MBR 的分割表,也就是混合 GPT 與 MBR 成為 GPT/MBR hybrid 磁區;這四個分割區同時具有 GPT 與 MBR 的分割表,這樣就能處理不支援 GPT 的作業系統了。不過別忘了,第一個分割區被 EFI 所佔用,因此能用的 hybrid 分割區只有三個,但拿來處理 Windows 是綽綽有餘的。
那,其他的 OS 呢?較新的 Linux Distro,都能安裝在 GPT 分割區上,FreeBSD 8.0 也可以,其餘的可就不敢保証了,乖乖用 hybrid 分割區去處理吧。
Posted in: OSx86.
Tagged: GPT · GUID · Hybrid · Leopard · Mac · MBR · OS X · Partition
在Mac上,OS X 和 windows 的磁區分割與多重啟動,是由 Bootcamp 統一處理的,但是在一般的 PC 上,因為 EFI 的問題使得 Bootcamp 無法使用,必須用另外的方法去處理。
我們先來瞭解何謂多重啟動。每個存在作業系統(OS)的分區,最前段都記錄著一些資訊,告訴電腦要去哪裡找這個作業系統的啟動程式(Bootloader);當電腦開機後,先進入BIOS,BIOS會偵測活動分區(一個硬碟裡只存在唯一的一個)裡的開機資訊,偵測到後就丟給該 OS 的啟動程序去處理。
最簡單的情況,就是只有一個 OS,啟動程序如下:
但是,當有多個 OS 存在時,該怎麼處理呢?有些 OS 的 Bootloader 具有引導其他 OS Bootloader 的功能,只要自動偵測其他磁區的開機資訊,或是自行編輯開機表就可,像是 Linux 常用的 Grub2。如下:
- BIOS -> Grub2─┬─> Win Bootloader -> Windows (XP. Vista. 7)
├─> Linux
├─> (Chameleon. PCEFI. BootThink) -> OS X
├─> 其他 OS 的 Bootloader -> 其他 OS
├─> ...
但有的 OS 的 Bootloader 就沒這麼強大,可能只有引導自己或其他小部份 OS 的功能,就得靠其他引導程式的輔助。舉個例:
- BIOS -> NTldr ─┬─> windows
└─> tboot -> OS X
上例是僅存在 Windows XP 和 OS X 的情況。BIOS 偵測到 NTldr (Windows NT Bootloader, XP 用的就是這個), 接著可選擇啟動 Windows,或是藉由額外加入的 tboot 來啟動 OS X。很簡單,但是擴充性很差,就只適用 XP 和 OS X 共存的情況,並不支援 Vista、Win7 或 Linux 等等其他的 OS。由於 Win7 即將推出,我們自然不考慮這種方式。
如果打算安裝 Linux,Grub2 自然是不錯的選擇,但是一般人很少接觸 Linux,因此這個方法只推薦給 Linux 使用者。那一般人該用什麼方式呢?別煩惱,OSX86 用的引導程式 Chameleon、PCEFI、BootThink等等,都支援其他 OS 的自動偵測與引導喔~
Posted in: OSx86.
Tagged: Bootloader · Leopard · Mac · Multi Boot · OS X
記得前一次在直升10.5.8時,產生了無法休眠或睡眠的問題,造成許多筆記型電腦使用者的困擾;所幸這個問題現在已經有解了,那就是安裝 SleepEnabler.kext。
安裝方式同前面所述,解壓後放至主分區的 Extra/Extensions 或 EFI 磁區的 Extra/Extensions 下即可。
ps. 順便更新了安裝前準備的 efi.tgz 檔案
Posted in: Leopard on X61, OSx86.
Tagged: Leopard · Mac · OS X · OSx86 · ThinkPad · X61
Leopard 10.5.8 終於在今日釋出,這可能也是Leopard的最後一個版號了。讓我們來看看它修正了什麼問題:
建議所有執行 Mac OS X Leopard 的使用者都安裝“10.5.8 更新”,此更新項目包含了一般的作業系統修正,可改進 Mac 的穩定性、相容性和安全性,同時還修正了以下特定項目:
- 加入 AirPort 網路的相容性和可靠性問題。
- 導致“顯示器系統偏好設定”無法顯示部份螢幕解析度的問題。
- 可能影響 Bluetooth 可靠性的問題。
可以發現,這次的修正和我們之前安裝時遇到的問題息息相關,來看看安裝後修正了什麼:
- 開機時的螢幕亮度
之前開機在進入系統時,亮度會自動降至最低,需要用另外的方法解決;現在進入系統時,它就會自動調至最高亮度。
- 藍芽子卡的偵測
在10.5.7,藍芽子卡有經常性消失的問題,需常常重開機或直接刪除AppleHPET.kext才能偵測到;這個問題在10.5.8得到修正。其實並沒有,是因為我之前已刪除了 AppleHPET.kext。
- 左側的 USB 孔 (仍待驗證)
前一版會不時降成 USB 1.1 的超慢速,在此一版本恢復正常。可能也是我刪除 AppleHPET.kext 的緣故。
至此,Leopard on X61 終於可以說是臻於完美。就讓我們等待 Snow Leopard 的降臨吧!
註:剛才發現一個嚴重的問題:休眠失效了。解決方法是刪除 IntelCPUPMDisabler.kext 或 Disabler.kext (讓內建CPU電源管理無效的kext),用回系統內原本的 AppleIntelCPUPowerManagement.kext,但是要先 Patch 過 DSDT 才不會 Kernel Panic。我的 X61 不知為何 Patch 後還是會產生另一個問題。還是暫時忽略好了 (汗)…
2009/8/23 休眠問題已經有解了,請參考[Leopard on X61] 解決10.5.8的休眠or睡眠問題
Posted in: Leopard on X61, OSx86.
Tagged: Leopard · Mac · OS X · OSx86 · ThinkPad · X61
跟著跑一次安裝,你就知道大致的流程如下:
① 用Boot-132 CD開機,讀入原版安裝片
② 用Disk Utility分割磁區
③ 把事先準備好的開機程式、破解和驅動丟到 EFI 分區,用update.sh產生驅動檔的Cache檔Extension.mkext
④ 進行系統安裝,並升級至最新
⑤ 針對不能存在EFI分區的驅動,進行系統安裝後的驅動安裝(這部份的檔若升級後有被新版本覆蓋,須再次進行驅動的安裝)
EFI裡的驅動要升級或改用其他驅動:
① 掛載EFI分區 ( sudo mkdir /Volumes/EFI; sudo mount_hfs /dev/disk0s1 /Volumes/EFI )
② 將要用的驅動檔丟到該分區的 Extra/Extension/ 下
③ 切換至 Extra/ ,執行 sudo ./update.sh,更新Cache檔
④ 執行 sudo umount -f /Volumes/EFI,卸載EFI分區,並重開機
X61大部分的硬體皆能在完整流程後成功驅動,的確是一台很好的Mac OS X實驗機,只可惜沒有多重觸控板,瀏覽的順暢度仍比不上真正的MacBook。要用上最低限度的雙指觸控,改用T61或X300會比較好,尤其是X300,基本上和X61的配備相同,但加上了多重觸控板和WebCam,螢幕和鍵盤比X61大,重量較X61輕,續航力更是大大勝過X61/X61S/X61T,是X系列裡最適合上Leopard的機器。
由於MacBook的顯卡已全改用NVIDIA的顯示晶片,但ThinkPad X系列為了省電和散熱的考量,不太可能採用獨立顯示,因此之後的ThinkPad X系列對顯示上的支援將愈來愈低。我想,要完美的安裝上Mac OS X,往後的機型應該是不太可能了。
Posted in: Leopard on X61, OSx86.
Tagged: Leopard · Mac · OS X · OSx86 · ThinkPad · X61