光碟機改裝第二個硬碟,然後呢?

hdd

今天意外發現,在把光碟機改裝成第二個硬碟之後,似乎我們都忽略了一件重要的事情…,那就是 apm 造成 load cycle count 數值大增的這個老問題。這除了會讓硬碟有異音以外,理論上對於硬碟壽命也會有影響,所以還是對系統稍微作一些調整比較好。雖然以前針對裝在正規硬碟槽位置的硬碟有作過調整了,改裝到光碟機位置時卻忘記了這件重要的事情。

我個人是使用 WD 的硬碟,WD 或其他硬碟,在 Mac 上會有彩球、仔細聽硬碟覺得一定間隔時間會有滴答聲響,這應該和硬碟的能源節約功能有關。大部分的硬碟是針對 Microsoft 作業系統的環境進行能源節約最佳化,而這些硬碟使用在 Linux 或是像 Mac 這樣以 Unix 為基礎的作業系統環境上,就會出現一些問題…。

Apple 隨機出貨的硬碟,應該都做過了某些調整而避開了這樣的現象,所以在自行更換過內接硬碟之後,往往容易發生硬碟有異音、或是一定間隔時間出現彩球等等的狀況。這樣的問題或許只是有微小的異音而不影響電腦的使用,但也有可能會造成彩球出現,甚至影響電池使用時間。這些在 Apple 官方討論區有滿多人提出來討論過,當中也有出現了一些解決方法。

要確認目前的硬碟是否有遇到這樣的問題而不自知,可以使用一些工具去觀察一下硬碟 S.M.A.R.T. 的資訊中 “Load Cycle Count" 的計數(例如 SMART Utility )。我想應該很多人都知道,這個數值有一定的極限,像 WD 似乎是保證 500000 次的 Load Cycle 。由於前面敘述的問題,會造成硬碟讀取臂頻繁的 Parking ,因而 Load Cycle 的增加會異常的快速…印象中一小時就會增加 100 左右。

所以呢!不管你是自行換過硬碟還是把光碟機改裝成了硬碟,在這邊都建議作一下 APM(advanced power management)的調整。詳細作法下述:

  1. 先到這裡下載 hdapm 這個小程式備用。這是作者 mckinlay 提供的一個工具讓我們可以調整 APM 的等級以解決上面提過的種種問題。
  2. 接著到這裡下載 Lingon 方便我們用比較圖形化的方式建立 LaunchDaemons 的設定檔。
  3. 把 hdapm 搬到路徑 /應用程式/工具程式/ 資料夾中,點兩下開啟讓系統認證。
  4. 打開 Lingon,點選左上角的+號建立新的設定檔,在彈出的視窗中選擇 User Daemons 後按下 Create。
  5. 右邊會出現很多設定選項,先在第一欄 Name 的位置填入 com.你的使用者名稱.launchd.hdapmd1
  6. 在第二欄 What 的部份填入 /Applications/Utilities/hdapm disk1 max
  7. 最後在第三欄的位置勾選 Run it when it is loaded by the system (at startup or login) 選項就好,其他都不用更動。

都做好之後按下左上角的 Save 並輸入密碼認證之後就可以重新開機了。

BUT事情似乎並沒有這麼簡單…。一般來說安裝系統的硬碟(也就是那顆貴的要命的 SSD)的 BSD name 會是 disk0、而裝在光碟機位置的硬碟應該會是 disk1 才對,但似乎有時後會顛倒過來,我不確定這是不是個案…。所以在完成上面步驟重新開機之後,記得到系統監視程式(console)觀察一下,有沒有 「com.你的使用者名稱.launchd.hdapmd1 Setting APM level to 0xfe: Success」這樣的訊息,並多重複幾次試試看,反正重開一次不用40秒…。如果遇到 BSD name 顛倒過來的情形,則會有像下面這樣的訊息 「Setting APM level to 0xfe: FAILED: APM not supported.」(SSD不支援也不需要APM)。

所以該怎麼辦呢?我不知道 hdapm 能不能用 UUIDs 去指定正確的硬碟,甚至也找不到要去哪裡查詢硬碟的UUID。然而,反正 SSD 也不支援 APM,就算設定了也只是 FAILED 不影響系統運作,索性就多建立了一個LaunchDaemons設定檔com.你的使用者名稱.launchd.hdapmd0)並指定 hdapm 的設定目標為 disk0 以防萬一。

如果有人知道怎麼解的也記得告訴我啊~

Macbook Pro 換裝 SSD 之後 OS 的設定 ( OSX 10.6 )

ssd

SSD 的容量可以用寸土寸金來形容,依目前的狀況和傳統硬碟來比,每 GB 的售價真的是相當昂貴;再加上一般民用市場主流的 MLC SSD 有著讓人不去注意也難的複寫次數限制,所以在幫你的 Mac 換裝 SSD 之後,最需要注意的原則就是:「盡可能地減少 SSD 的使用容量」、「盡可能縮減系統對 SSD 的寫入行為」。

所以,我換裝 SSD 之後對電腦做了下面幾項更動:

1. 將幾乎一年用不到一次的光碟機換裝成第二顆硬碟
2. 以noatime的方式掛載硬碟以減少不必要的寫入行為
3. 關閉安全休眠刪除休眠映像檔以減少使用容量
4. 將個人資料夾中較常寫入與佔用容量較大的掛載到第二顆硬碟

拆光碟機裝硬碟

購買一個 9.5mm 的光碟轉接架,將原本的光碟機拆下之後換上,就能讓 MBP 同時內建存取快速的 SSD 與容量充足的傳統硬碟,這個部份網路上相關的教學流傳已久, Google 搜尋一下應該很容易找到。這邊只提一下一個似乎沒人提到過的小地方…

R0013829

上面照片中的是 Mid 2010 款 15″ 的 Macbook Pro ,其中圈起來的部份,就是連接光碟機和主機板的SATA接線,連接主機板的這端,其實往上輕輕的拉就可以輕鬆的拔起來,不過在箭頭所指的地方,下面有類似泡綿的軟膠和主機板貼合在一起,很容易就沒注意到。如果沒小心的把他剝離,在取出光碟機的時候有可能會折損這條排線…。我是先把連接光碟機的這端拔下來(滿鬆的很好拔),取出光碟機之後再慢慢的拿下排線。

設定noatime掛載

*nix的作業系統會對每一個檔案紀錄最後一次開啟( access )的時間,而這樣的功能其實不是說非常的必要。例如 Finder 內的搜尋目標有今天使用過的檔案、昨天使用過的檔案、或過去一週使用過的檔案等等,就是利用這個檔案屬性,而當我們使用 noatime 選項來掛載硬碟之後,就不會只開啟檔案就去更動其 access time 屬性了。

依個人需求斟酌,如果像我一樣覺得這並不是很重要的話,就可以選擇使用 noatime ,節省硬碟存取次數提昇些許效能,也許也可以讓硬碟的壽命延長一點點點…。詳細的作法如下:

使用文字編輯軟體建立一個檔案命名為 「com.你的名字.noatime.plist」(ex. com.funnyq.noatime.plist)並輸入以下內容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
        "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.你的名字.noatime</string>
        <key>ProgramArguments</key>
        <array>
            <string>mount</string>
            <string>-vuwo</string>
            <string>noatime</string>
            <string>/</string>
        </array>
        <key>RunAtLoad</key>
        <true />
    </dict> </plist>

接著開啟 Terminal 輸入 「sudo chown root:wheel /Library/LaunchDaemons/com.你的名字.noatime.plist」 指令,之後重新啟動電腦。如果在 Terminal 輸入 「mount」 後查看,掛載在root路徑下的硬碟顯示為 /dev/disk0s2 on / (hfs, local, journaled, noatime) 之類的就是搞定啦!

關閉安全休眠

OSX 方便的休眠功能,一直是我最喜歡的功能之一,只要把螢幕蓋上,就可以馬上把電腦帶走;而打開螢幕,馬上就可以回到先前的工作狀態。而安全休眠是什麼?為了防止電源耗盡而喪失休眠時記憶體中的資料,在電源即將耗盡時, OSX 會把記憶體中的資料寫入硬碟中的 sleep image 映像檔,在電源問題解決之後把資料再放回記憶體而回覆先前的工作狀態。

這個功能如果像我有安裝 8G 的 RAM ,那麼映像檔就會佔用硬碟 8G 的空間,算是滿可觀的…以 SSD 來說。同樣的,一次就要寫入 8G 的資料,對 SSD 來說更是要命…。一般來說,電源快要耗盡時我都會先把所有工作先存檔好,除非是要作電池校正,不然也不會常常讓電池用到電腦自動關機,所以我選擇關閉這個功能來騰出硬碟空間與減少寫入的機會。詳細的作法如下:

開啟 Terminal 輸入 「sudo pmset -a hibernatemode 0」 指令關閉安全休眠模式;接著輸入 「sudo rm /var/vm/sleepimage」 指令刪除休眠映像檔,就完成了。

搬移個人資料夾

還記得以前使用 PowerBook 的時候,壓根不會想要把音樂影片等東西塞在內建的硬碟,因為容量很小。而現在硬碟其實已經相對便宜了,之前換了 500G 的硬碟之後馬上把以前丟在外接硬碟的東西全部進來,到哪裡都可以找到自己喜歡的音樂、分享影片,在外面也隨時找的到需要的素材,著實方便很多。

這個部份我移動的資料夾有:桌面、文件、下載項目、影片、音樂、圖片、網站、還有 Dropbox 等幾個資料夾,都是比較常存取、使用容量也比較龐大的, SSD 中我主要只留下應用程式和資源庫資料夾,以方便快速地開啟程式。詳細作法如下:

先將要移動的資料夾全部完整複製一份到另外一個硬碟,之後再把原本 SSD 上的資料夾刪除,然後使用 Terminal 輸入 「ln -s /Volumes/你的第二棵硬碟名稱/資料夾名稱 /user/你的使用者簡稱/資料夾名稱」 (ex. ln -s /Volumes/Macintosh\ HD/Desktop /Users/funnyq/Desktop),就會在 SSD 上建立一個和另一顆磁碟連結的替身,而將檔案都存放在第二顆硬碟上。

照這個方法做完之後,使用上會和只使用一個硬碟的時候一模一樣,一些應用程式存放資料的設定都不用再去更動他,一次搞定!設定過的相關位址會自動對應到第二個硬碟,不用再費心針對不同的應用程式一個一個修改設定。

然而,這個作法我有發現一個滿好笑的問題…。換裝 SSD 之後,重開機從蘋果 LOGO 出現到進入桌面可以開始工作,大約是15秒上下。尤其是進入桌面之後,以往常常會卡在桌面一片空白、等待一些常駐程式開啟的狀態很久很久。而現在一進到桌面,所有程式瞬間都開啟了!不過桌面常常還是一片空白…,我猜可能是因為開機太快了,而另一個硬碟還沒mount好或是還來不及反應所造成的。這個時候只要按下 Command+Option+Esc ,然後選擇 Finder 重新啟動就可以恢復正常了。

祝 SSD 使用愉快,壽命長長久久…哈哈哈!