網頁

2014年8月25日 星期一

Mac學習筆記-2010中Mac Mini換上新SSD硬碟

最近試著要將舊的Mac mini重生,目前mini都是用4500轉的硬碟,實在有夠慢,就心生去買了一顆SSD硬碟想換掉,查了半天資料,買了這顆美光Micron Crucial MX100 512GB SATAⅢ固態硬碟7mm

大致步驟如下
  1. 找出Mac mini的年代及可支援的ssd再去買
  2. 確認安裝的作業系統,OS X Mavericks是免費的了,我個人是用這個
  3. 備份原本資料(我個人是沒有 )
  4. 換硬碟
  5. 安裝OS X Mavericks
  6. 開啟trim功能
前三個步驟就看個人選擇,我直接記錄第4步驟

Step 4: 換硬碟的影片



這步驟需要的工具,我是用《JACKLY》36合1螺絲起子組(維修3C商品必備),該有的都有了,但是在推出機板的動作,因為要兩根細長的鐵棍來推出機板,如下圖,記得要準備好,不然推不出來無法取出硬碟,它又卡很緊非得這樣用力頂出來。


Step 5: 安裝OS X Mavericks

我在這步驟卡很久,一直在思考是要怎樣能Clone整顆硬碟,包含Recovery HD那部分,看了不少文章,在準備的過程中,本以為是用OS X:關於「回復磁碟輔助程式」來做出一個可重安裝重開機的硬碟,看了How to speed up an aging MacBook with a solid state drive才發現,又以為應該是要用Carbon Copy Cloner將整顆硬碟備份才是,其實如Mac Lion 系統修復的幾種方式所述都不用的,不過還是有些小步驟要注意,底下是我的做法:

將卸下來的硬碟裝用外接盒,當開機用的硬碟,接上Mac mini,沒有外接盒的,就要記得做開機usb,可以用官方的OS X:關於「回復磁碟輔助程式」下載來做一個Lion版的,或參考吉米教你製作OS X Mavericks 10.9的開機安裝碟可以做一個Mavericks的開機碟。

開機時按住OPTION鍵,選擇10.9.4進入Recovery工具,或按COMMAND鍵+R,直接進入Recovery工具。

先開磁碟工具程式,選擇新硬碟,這邊要注意的是,我之前都只選清除那個tab,再按清除按鈕直接格式化,安裝到一半都會失敗,所以要做的是,選分額那個tab,再分額區分額成一個後,按“選項”確認是否為“GUID磁碟分割區表格”,格式為“Mac OS擴充格式(日誌式)”,再按套用即可。

格式化完後,關閉磁碟工具程式,選擇“重新安裝Mavericks”,再來就等安裝好了。會自動安裝開機及Recovery HD區,有安裝成功一次後,就不再需要原硬碟或USB開機碟了。

PS. 過程中有幾次下載到一半就停止了,看起來Apple那邊Server下載的狀況不是太好,失敗了就再試就好。

Step 6: 開啟Trim功能

換上後本以為不用再注意這功能,但卻發現似乎有兩種狀況:
  1. 使用程式時會突然一頓一頓的
  2. 機器非常燙
第二種狀況在猜測是重裝及環境的關係,放著一小段時間就好了,第一種狀況是蠻介意的,照著How to Check and Enable TRIM on a Mac SSD所提,看看Trim功能有沒有打開,打開“系統資訊”->“SATA/SATA Express”,如下圖,果然是沒有

看半天主要是Apple只會將自身認可的SSD硬碟預設開啟,我這顆自然不在其認可範圍,所以要動點手腳。或用第三方軟體,但我個人比較不喜歡。

查了看來用return1 / trim_enabler.sh所提供的sh即可,看了How to Check and Enable TRIM on a Mac SSDSSD Upgrade on a Mid 2010 iMac的shell script中的perl這段都不符合Mavericks的使用,都無法成功。這邊將script記錄一下

1. 備份
sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage.original

2. 取代掉Apple辨識碼(From return1 / trim_enabler.sh
# for Yosemite, Mavericks 10.9.5 and 10.9.4 (thanks Tobi)
sudo perl -pi -e 's|(^\x00{1,20})[^\x00]{9}(\x00{1,20}\x54)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg' /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

# for Mavericks 10.9.4 (thanks Tobi)
sudo perl -pi -e 's|(^\x00{1,20})[^\x00]{9}(\x00{1,20}\x54)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg' /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

======Upadte for Yosemite Only======
sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage.original
# For Yosemite you have to disable driver signature check 
sudo nvram boot-args="kext-dev-mode=1"
sudo shutdown -r now
# for Yosemite, Mavericks 10.9.5 and 10.9.4 (thanks Tobi)
sudo perl -pi -e 's|(^\x00{1,20})[^\x00]{9}(\x00{1,20}\x54)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg' /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage
# !for Yosemite only! rebuild kext cache manually (could take a while)
sudo kextcache -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions
sudo touch /System/Library/Extensions/
sudo shutdown -r now

======Upadte for Yosemite 10.10.3 ======
資料截自:return1 / trim_enabler.txt
# backup patched file
sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage.original
 
# Important: Add "kext-dev-mode=1" as Kernel Arguments or the computer won't boot.
sudo nvram boot-args="kext-dev-mode=1"
sudo shutdown -r now
 
# looks for "Apple" string in HD kext, changes it to a wildcard match for anything
sudo perl -pi -e 's|\x00\x41\x50\x50\x4c\x45\x20\x53\x53\x44\x00|\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00|' /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage
 
# rebuild kext cache manually (could take a while)
sudo touch /System/Library/Extensions
sudo kextcache -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions
 
# now reboot!
sudo shutdown -r now


3. Refresh
sudo touch /System/Library/Extensions/

4. 重開機,重開完後再打開“系統資訊”->“SATA/SATA Express”,看看是否如下圖

5. 若沒有成功,記得將備份再copy回去,重新找其他解決。若成功了也要記得重灌作業系統時要重新再做一次

看了How to Check and Enable TRIM on a Mac SSDSSD Upgrade on a Mid 2010 iMac的動作中有講“Clear the ktext caches”,我個人試了後反而有Warning出現,不知道是否動作有錯,但第三次重裝時,我沒做這動作依然可以正常,就再看看後續使用了,這邊做一下記錄
sudo kextcache -system-prelinked-kernel
sudo kextcache -system-caches

這樣就大功告成啦!!!哈哈哈

參考網址:
(Mac Mini mid-2011) Installing an SSD drive as a replacement of the HDD
Mac Lion 系統修復的幾種方式
Carbon Copy Cloner site
How to speed up an aging MacBook with a solid state drive
Carbon Copy Cloner整顆備份你的硬碟
OS X:關於「回復磁碟輔助程式」
OS X 恢復磁碟輔助程式-下載

How to Check and Enable TRIM on a Mac SSD
SSD Upgrade on a Mid 2010 iMac
return1 / trim_enabler.sh
CAUTION! SSD Drives and Yosemite

直接安裝:[MAC]自製《Mac OSX 10.9 Mavericks》專屬USB系統安裝碟
吉米教你製作OS X Mavericks 10.9的開機安裝碟

沒有留言:

張貼留言