黑麥主機在 10.9 Mavericks環境下建立軟體 RAID0 開機磁碟

黑麥主機在 10.9 Mavericks環境下建立軟體 RAID0 開機磁碟

前言

  我的 OS X 作業系統原先是安裝在一部128GB 的 Lite-On SSD 上,因為 SSD 的特性關係開機速度非常快,跟傳統硬碟相比真的是:回不去了。(笑)

  隨著安裝的應用程式及作業文件越來越多,128GB 的容量漸漸不夠用了,搜尋網路文章找到在黑麥主機下建立 RAID0 系統磁碟的資料,因此進行了此次的作業。

說明

  本文僅為自己實做後的過程筆記,不提供任何後續相關技術諮詢。請不要來信詢問「如何架設黑麥主機」、「我的 PC 裝了 OS X 之後如何如何」等與黑麥主機相關的問題,一律不回信或刪文。

參考資源

硬體概述

  以下是本文所使用的硬體資訊,符合黑麥建立時較不容易出包的「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」。

準備軟體

Phase 1:事前準備

  黑麥主機與正統 Mac 主機差別最大的地方在於:每當有系統更新時 Mac 主機(像我的 2011 中期 Macbook Air)直接更新就好,黑麥主機則需要先上網看看災害報告後再小心更新。在上述情形之下自己另外製作了 Live USB,作為系統備份及更新出包後的回復使用。

  使用 Live USB 開機後透過瀏覽器前往 tonymacx86 網站下載 Chimera bootloader 程式安裝檔案(pkg 格式),接著透過 Pacifist 或可以打開 pkg 封包的程式打開 Chimera 安裝檔案。

 「i386」資料夾下的「boot0md」檔案不會用到,如圖所示將其他三個檔案解壓縮到桌面即可。
「i386」資料夾下的「boot0md」檔案不會用到,如圖所示將其他三個檔案解壓縮到桌面即可。

  將「usr/standalone/i386」資料夾下的檔案解壓縮到桌面上,然後將系統磁碟根目錄下的「Extra」資料夾也複製到桌面上,之後會對資料夾內的檔案做修改。

Phase 2:備份系統、建立軟體陣列:RAID0

  上述作業完成後透過 Live USB 上的 Carbon Copy Cloner 程式,將系統碟整個打包成單一封裝檔存放於資料碟。自己使用的版本是尚未收費前的舊版本,執行後會出現「不適用於當前 OS X 版本」訊息,不過運作上是沒問題的。

Carbon Copy Cloner 執行畫面
Carbon Copy Cloner 執行畫面

 

  備份完成後開始進行軟體 RAID0 的製作。開啟作業系統的「磁碟工具程式」,然後進行以下內容:

  1. 在畫面左方選擇要建立陣列的磁碟機,然後在右方選擇「RAID」分頁。
  2. 將要建立陣列的磁碟圖示拖曳到畫面右下方的區域內,上方的 RAID 資訊如下:
    • RAID 磁碟組名稱:給此陣列的名稱,我輸入「OSX」。
    • 格式:選擇「Mac OS 擴充格式(日誌式)。
    • RAID 類型:選擇「分區存放的 RAID 磁碟組」才是 RAID0。
  3. 軟體陣列建立完成後點選左上角的「簡介」圖示,複製「RAID 識別碼:」右方的資訊。(這部份與 benjenq 網友的實作情況不同,請注意)
  4. 開啟桌面「Extra」資料夾中的「org.chameleon.Boot.plist」檔案,將上一步驟取得的 RAID 識別碼填入「Kernel Flags」區段下的「<string>」與「</string>」中存檔。完整的訊息為:rd=uuid boot-uuid=(RAID 識別碼)。(這部份與 benjenq 網友的實作情況不同,請注意)

建立好的RAID0 陣列示意。
建立好的 RAID0 陣列示意。

複製RAID 識別碼資訊,之後要用。
複製 RAID 識別碼資訊,之後要用。

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 單一埠口所提供的速度上限。

軟體陣列讀寫速度示意。
軟體陣列讀寫速度示意。

文章作者:A-Bo Lee
作者大頭照

居住在臺灣的 Joomler,期望以程式設計、開放原碼推廣活動收入養活一家老小。
35 歲後改姓李,id 作為曾為郭姓的證明。
FFXI:Abokuo@Sylph鯖、よろしくです。

看完文章有什麼想法嗎?利用下面表單告訴作者吧

請先閱讀
服務條款隱私權政策,送出回應意即同意前述文件。標記 * 欄位請務必填寫,電子郵件信箱僅作驗證使用,不會顯示在回應中。