- 分類: 軟體文章
黑麥主機在 10.9 Mavericks環境下建立軟體 RAID0 開機磁碟
前言
我的 OS X 作業系統原先是安裝在一部128GB 的 Lite-On SSD 上,因為 SSD 的特性關係開機速度非常快,跟傳統硬碟相比真的是:回不去了。(笑)
隨著安裝的應用程式及作業文件越來越多,128GB 的容量漸漸不夠用了,搜尋網路文章找到在黑麥主機下建立 RAID0 系統磁碟的資料,因此進行了此次的作業。
說明
本文僅為自己實做後的過程筆記,不提供任何後續相關技術諮詢。請不要來信詢問「如何架設黑麥主機」、「我的 PC 裝了 OS X 之後如何如何」等與黑麥主機相關的問題,一律不回信或刪文。
參考資源
- Guide for RAID-0 on OS X 10.8.5 using tonymacx86 tool set
- 黑蘋果10.7.x 使用 AppleRAID 0
- Quick Hackintosh Tip: Setting up a Raid0(來自 YouTube,影片10:30 開始)
- Lite-On S100 SSD 詳細資料
硬體概述
以下是本文所使用的硬體資訊,符合黑麥建立時較不容易出包的「ING」規則:Intel(英特爾)處理器、Nvidia(輝達)顯示卡、Gigabyte(技嘉)主機板。
- 處理器:Intel i7-3770
- 顯示卡:Nvidia GTX 670
- 記憶體:DDR3-1600 8GB x 2
- 主機板:Gigabyte Z77X-UP5TH
- 磁碟機:Lite-On S100 128GB SSD x 2(系統碟,本文實做磁碟)+ WD 藍標 1TB(以下稱「資料碟」,儲存備份資料)
- 自製 OS X 救援碟:將 OS X 安裝在 USB 隨身碟上,作為 Live USB 使用,以下稱「Live USB」。
- 經 Unibeast 製作的 10.9 Mavericks USB 安裝隨身碟,以下稱「OS X 安裝 USB」。
準備軟體
- Carbon Copy Cloner:備份及還原作業系統碟
- Chimera 2.2.1:黑麥使用的bootloader
- Pacifist:用以解開 pkg 封裝格式
- Unibeast:製作給黑麥主機使用的 OS X 安裝隨身碟程式
- Mac OS X 10.9 Mavericks:OS X 作業系統,從 Mac App Store 下載
Phase 1:事前準備
黑麥主機與正統 Mac 主機差別最大的地方在於:每當有系統更新時 Mac 主機(像我的 2011 中期 Macbook Air)直接更新就好,黑麥主機則需要先上網看看災害報告後再小心更新。在上述情形之下自己另外製作了 Live USB,作為系統備份及更新出包後的回復使用。
使用 Live USB 開機後透過瀏覽器前往 tonymacx86 網站下載 Chimera bootloader 程式安裝檔案(pkg 格式),接著透過 Pacifist 或可以打開 pkg 封包的程式打開 Chimera 安裝檔案。
「i386」資料夾下的「boot0md」檔案不會用到,如圖所示將其他三個檔案解壓縮到桌面即可。
將「usr/standalone/i386」資料夾下的檔案解壓縮到桌面上,然後將系統磁碟根目錄下的「Extra」資料夾也複製到桌面上,之後會對資料夾內的檔案做修改。
Phase 2:備份系統、建立軟體陣列:RAID0
上述作業完成後透過 Live USB 上的 Carbon Copy Cloner 程式,將系統碟整個打包成單一封裝檔存放於資料碟。自己使用的版本是尚未收費前的舊版本,執行後會出現「不適用於當前 OS X 版本」訊息,不過運作上是沒問題的。
Carbon Copy Cloner 執行畫面
備份完成後開始進行軟體 RAID0 的製作。開啟作業系統的「磁碟工具程式」,然後進行以下內容:
- 在畫面左方選擇要建立陣列的磁碟機,然後在右方選擇「RAID」分頁。
-
將要建立陣列的磁碟圖示拖曳到畫面右下方的區域內,上方的 RAID 資訊如下:
- RAID 磁碟組名稱:給此陣列的名稱,我輸入「OSX」。
- 格式:選擇「Mac OS 擴充格式(日誌式)。
- RAID 類型:選擇「分區存放的 RAID 磁碟組」才是 RAID0。
- 軟體陣列建立完成後點選左上角的「簡介」圖示,複製「RAID 識別碼:」右方的資訊。(這部份與 benjenq 網友的實作情況不同,請注意)
- 開啟桌面「Extra」資料夾中的「org.chameleon.Boot.plist」檔案,將上一步驟取得的 RAID 識別碼填入「Kernel Flags」區段下的「<string>」與「</string>」中存檔。完整的訊息為:rd=uuid boot-uuid=(RAID 識別碼)。(這部份與 benjenq 網友的實作情況不同,請注意)
建立好的 RAID0 陣列示意。
複製 RAID 識別碼資訊,之後要用。
RAID 識別碼填入位置。
Phase 2:回存系統、配置 bootloader 檔案到軟體陣列
磁碟陣列製作完成後再次執行 Carbon Copy Cloner,將先前製作好的系統備份檔回復到磁碟陣列,在這個階段磁碟陣列還無法自行開機。開啟「終端機」程式,按順序輸入以下指令。指令大小寫有分別,括弧內文字為指令說明。
cd Desktop(切換到桌面) sudo su(切換到超級管理者,按下 Enter 鍵後輸入密碼) diskutil list(執行磁碟工具程式列出磁碟)
終端機畫面下的磁碟列表
我將兩部 SSD 安裝在主機板的 SATA1 及SATA2 埠口(SATA3 規格),因此在列表中看到的「disk0」、「disk1」就是指這兩部SSD。你的設備配置與我的情況也許不一樣,在辨識磁碟編號時要注意。
接著要注意的是「TYPE NAME」欄位上標記為「Apple_Boot Boot OS X」的分區,在列表畫面中會看到軟體陣列中兩個磁碟都有這個分區(disk0s3 與disk1s3)。
接下來的作業是將從Chimera 解開的檔案複製到兩個Apple_Boot Boot OS X 分區。
fdisk –f boot0 –u –y /dev/rdisk0 fdisk –f boot0 –u –y /dev/rdisk1 dd if=boot1h of=/dev/rdisk0s3 (畫面會顯示:2+0 records in, 2+0 records out, 1024 bytes transferred in xxxx sec.) dd if=boot1h of=/dev/rdisk1s3 (畫面會顯示:2+0 records in, 2+0 records out, 1024 bytes transferred in xxxx sec.) diskutil mount disk0s3(畫面會顯示:Volume Boot OS X on disk0s3 mounted) cp boot /Volumes/Boot\ OS\ X/ cp –R Extra /Volumes/Boot\ OS\ X/ diskutil umount disk0s3(畫面會顯示:Volume Boot OS X on disk0s3 unmounted) diskutil mount disk1s3(畫面會顯示:Volume Boot OS X on disk0s1 mounted) cp boot /Volumes/Boot\ OS\ X/ cp –R Extra /Volumes/Boot\ OS\ X/ diskutil umount disk1s3(畫面會顯示:Volume Boot OS X on disk1s3 unmounted)
Phase 3:以OSX 安裝USB 開機,設定軟體陣列為 Active。
參考資料中的兩篇文章做到上述階段後就能讓軟體陣列開機了,不過自己的情況卻怎麼也開不起來…後來參考 YouTube 上的影片讓讓我恍然大悟:我的軟體陣列磁碟沒有設定為 Active!
在傳統的 MBR 格式磁碟分割設定中,要作為可開機的磁碟除了要有開機磁區之外,其磁碟分割狀態也需設定為「Active(主動)」。當你有兩個作業系統時開機管理程式就透過「分配磁碟分割為 Active」的方式切換不同作業系統啟動。
在 YouTube 上看到的影片在終端機模式下透過指定軟體陣列下的兩部磁碟為 Active,如果你進行完 Phase 1 及Phase 2 後仍無法讓軟體陣列自行開機進桌面的話再進行以下作業。
首先在 Mac App Store 下載 OS X Maverick 安裝程式,接著透過 Unibeast(自 tonymacx86 網站下載)製作 OS X Maverick 安裝碟,對有玩黑麥的朋友來說應該不困難。
以上述安裝碟開機,到了 OS X 安裝畫面時選擇上方「工具 – 終端機」,接著輸入以下指令:
diskutil list(用以確認磁碟機編號,在本文中/dev/disk0 與/dev/disk1 是組成軟體陣列的兩部SSD) fdisk –u /dev/rdisk0(畫面顯示:ATTENTION – UPDATING MASTER BOOT RECORD 提示MBR 會更新,輸入「y」繼續) fdisk –e /dev/rdisk0
現在你處於 fdisk 的編輯模式中,輸入「f 2」按下 Enter 鍵,畫面將顯示「Partition 2 marked active.」,代表 disk0 磁碟的分割區標記為 Active了。然後輸入「w」寫入變更,並在接下來的詢問輸入「y」確定。以上作業結束後輸入「exit」結束 fdisk 在 disk0 的作業。
完成 disk0 磁碟的作業後,disk1 磁碟也以相同方式進行。輸入指令「fdisk –u /dev/rdisk1」,畫面會顯示「ATTENTION – UPDATING MASTER BOOT RECORD」訊息,輸入「y」繼續。
接著輸入「fdisk –e /dev/rdisk1」進入 fdisk 編輯模式,接著輸入「f 2」,畫面將顯示「Partition 2 marked active.」,代表 disk1 磁碟的分割區也標記為 Active了。輸入「w」寫入變更,並在接下來的詢問輸入「y」確定。然後輸入「exit」結束 fdisk 作業,重新開機後軟體陣列應該可以自行開機進入桌面了。
軟體陣列組成的磁碟機在效能上比不上硬體陣列卡的組成配置,不過以 Blackmagic Disk Speed Test 測試讀寫速度的結果還是能超越 SATA3 單一埠口所提供的速度上限。
軟體陣列讀寫速度示意。