現在的主機板大多已經支援組成RAID磁碟了,不過很可惜的是,一般Intel晶片組建立的Raid,OSX似乎不認得它,主機板一旦啓用RAID磁碟,進入Lion安裝時會說找不到RAID磁碟。查遍了論壇上的說法似乎如此,OSX不支援一般主機板內建的RAID,貌似無解,似乎只能去買貴森森的Apple認證過的RAID介面卡才行(Apple官網一張暴貴,約689美金)。安裝黑蘋果時,如果想把OSX安裝在RAID磁碟上要怎麼做?目前可行的做法就一種:使用Apple RAID,也就是軟體RAID磁碟。

白蘋果使用Apple RAID是很輕而易舉的事情,不過對黑蘋果來說就是頗麻煩的一件事。因為黑蘋果大多是使用變色龍(Chameleon)或Chimera(也是Chameleon的一種版本改製)作為BootLoader(開機引導程式)。把OSX裝在Apple RAID上,BootLoader並無法直接引導Apple RAID進行OSX的開機程序,又卡關了。那...這又要怎麼解?其實這有解法,用點手段,讓BootLoader能夠成功引導就行了。

從底下這張圖研究一下Apple RAID的結構。

螢幕快照 2012-07-07 下午7.44.27 

我找來兩顆支援SATA1的磁碟來做Apple RAID,分別是100GB與120GB,組成Apple RAID 0時是199GB,也就磁碟最小空間的100G兩倍。然後在每個磁碟機上各有一個隱藏分割「Boot OS X」,這個就是造成BootLoader無法引導的原因之。我們的做法就是設法把BootLoader需要的檔案(就是系統根目錄Extra底下的東西)複製一份丟到個磁碟的Boot OS X底下就行了。

以下的操作是從neilhart發表在TonyMAC上的教學文章參考而來(連結)。不過這篇文章有一個嚴重的錯誤,在提取RAID的UUID字串寫到org.chameleon.Boot.plist檔案內時,得複製Universal Unique Identifier,而不是RAID Identifier這行,參考時勿必注意。再來就是neilhart是先用一般的方式將OSX Lion裝起來,再建立RAID之後把系統倒到RAID上,而我的做法是直接在RAID上安裝。neilhart的做法保證可用,但需用到三顆硬碟,我的做法中間有一個步驟需要一點運氣,不過只需兩顆組成RAID磁碟就能做。廢話不多說,以下是操作步驟:

一、製作RAID磁碟,並將OSX Lion系統安裝在此

1.照先前寫的這篇「二、製作Lion USB安裝隨身碟」(連結)用UniBeast製作Lion安裝USB隨身碟。

2.用USB開機,製作RAID磁碟,如下:

螢幕快照 2012-07-07 下午9.35.41  

我是使用RAID 0,也就是「分區存放的RAID磁碟組」。好處是傳輸速度可以變快,磁碟空間也可以充分運用,壞處是只要其中一顆硬碟出包,整個RAID上面的資料就完蛋。捲冊名稱我用Lion(以下以Lion捲冊名稱做範例)。

3.安裝OSX Lion到Lion卷冊上。安裝完會自動重開機。

4.用USB開機,進入OSX Lion安裝畫面。執行終端機,執行兩個指令:

rm /Volumes/Lion/mach_kernel
cp /Volumes/USB/mach_kernel /Volumes/Lion/

意思是把USB(隨身碟A)上的mach_kernel複製到Lion卷冊上。然後結束安裝程式,重新開機。

5.接下來重點來了。開機時會看到兩個Lion卷冊以及一個USB卷冊,但只有USB卷冊可以開機。現在必須設法透過USB來讓RAID上的Lion開機一次,這就是我說的運氣部分。我的做法是USB開機進入選單之後,先進入Single User Model,在進入的同時於鍵盤上亂敲一通....進入Single User Model之後輸入exit [Enter],有機會從第3.步驟在RAID上安裝好的OSX Lion開機。(有空我再查查,應該有機會用Single USer Model下了什麼指令之後就能從別的卷冊開機)

6.進入剛裝好的OSX Lion之後,會有一些安裝時出現的註冊表單與設定,填一填之後就會進入OSX Lion桌面,此時RAID上的OSX Lion就算是安裝完成了(但還是不能夠直接開機)。

7.先執行BridgeHelper5.0.0,再執行MultiBeast,再執行一些必要的修正(例如DSDT/聲音驅動...因機器不同而異),這樣Lion就算是整個安裝並修正完成了。但此時還是因為RAID的原因無法從Lion卷冊開機,所以此時千萬不要做重開機的動作,不然又可能會卡在第5步驟。

二、RAID的開機修正

這個動作需要準備幾個工具程式:

(1) Chimera獨立安裝檔 (下載):我們需要安裝檔當中的部分檔案。

(2) Pacifist程式(下載):用來提取Chimera內某些檔案的工具。

做法如下:

1.執行Pacifist,將Chimera底下的i386目錄下的boot*檔案全部提取到桌面上。

螢幕快照 2012-07-07 下午10.08.51  

2.複製Lion卷冊的Extra目錄到桌面上。

3.執行磁碟工具程式,找出RAID的UUID,並將UUID補進桌面Extra目錄下的org.chameleon.Boot.plist內容的Kernel Flags區段。

螢幕快照 2012-07-07 下午10.13.55  

螢幕快照 2012-07-07 下午10.15.19

開啟終端機,先進入桌面目錄

cd Desktop [Enter]

進入管理員模式(須輸入安裝OSX Lion時設定的管理密碼

sudo su [Enter]

[password] [Enter]

先查看磁碟的分割表

diskutil list [Enter]

螢幕快照 2012-07-07 下午10.22.00  

以我的例子來說,disk0與disk1各自是兩顆實體的硬碟,disk2是製作出來的RAID磁碟。重點擺在「Boot OS X」這個隱藏卷冊,每棵RAID硬碟成員上都有一個,各自被系統配置在disk0s3與disk1s3的位置,

接下來執行以下指令

1.安裝boot0:

fdisk -f boot0 -u -y /dev/rdisk0 [Enter]
fdisk -f boot0 -u -y /dev/rdisk1 [Enter]

2.安裝boot1h:

dd if=boot1h of=/dev/rdisk0s3 [Enter] 
系統回應 "2+0 records in, 2+0 records out, 1024 bytes transferred in xxxx sec.

dd if=boot1h of=/dev/rdisk1s3 [Enter]
系統回應 "2+0 records in, 2+0 records out, 1024 bytes transferred n xxxx sec.

3.安裝boot到disk0s3:

diskutil mount disk0s3 [Enter]
系統回應 "Volume Boot OS X on disk0s3 mounted"
cp boot /Volumes/Boot\ OS\ X/ [Enter]
cp -R Extra /Volumes/Boot\ OS\ X/ [Enter]
diskutil unmount disk0s3 [Enter]
系統回應 "Volume Boot OS X on disk0s3 unmounted"

4.安裝boot到disk1s3:

diskutil mount disk1s3 [Enter]
系統回應"Volume Boot OS X on disk1s3 mounted"
cp boot /Volumes/Boot\ OS\ X/ [Enter]
cp -R Extra /Volumes/Boot\ OS\ X/ [Enter]
diskutil unmount disk1s3 [Enter]
系統回應"Volume Boot OS X on disk1s3 unmounted"

整個下指令的畫面顯示參考:

DU8  

整個動作就完成了。重開機時選單就會出現正常的RAID卷冊,可直接選取開機。

=============補充應用===============

Apple Raid也可以將磁碟切割如下:

螢幕快照 2012-07-08 下午11.50.09  

意思就是,兩顆硬碟各只切出一部份用來做RAID磁碟,剩餘的空間再切出獨立的可用的磁碟空間,並在該位置安裝別的作業系統。不過這麼做似乎又會造成傳輸速度降低(實測似乎會回到比單顆傳輸快一點點而已),所以這麼做除了可更充分運用實體硬碟空間之外,似乎就沒別的好處了。

 


 

Posted by benjenq at 痞客邦 PIXNET 留言(1) 引用(0) 人氣()


open trackbacks list Trackbacks (0)

留言列表 (1)

Post Comment

You haven’t logged in yet, please use guest status to leave message. You can also log in with above service account and leave message

other options