Category Archives: IT:OSX

[簡記] Mac 的 Fusion Drive 建立方式

  1. 硬碟與 SSD 各分割一個扇區
  2. diskutil list
  3. diskutil cs create Fusion disk0 disk1
  4. diskutil cs list (Copy UUID)
  5. diskutil coreStorage createVolume [UUID] jhfs+ “Macintosh Fusion” 100%

另外,Disk Sensei 這個工具可以協助在 EI Capitan 中 Enable Trim Support,據 這篇 說明是不用再 Disabling kext signing 因此更加安全。我在 Fusion Drive 環境測試過沒有問題,免購買試用版本可操作 Trim Enable,推薦。

新增解除 Fusion Drive 的方法,硬碟中資料會完全遺失請先備份:

  1. diskutil cs list (Logic Volume Group 後面那一串就是 UUID)
  2. diskutil coreStorage delete [UUID]

 

Migrate from Parallels to VirtualBox (.hdd to .vdi format)

因為 Parallels Desktop 每次換新的版本都要 $$,每次 OSX 更新都要換版本,從版本 6 到 9 後已經對他失去了耐心,網路上一片討伐,也覺得對不起以前被我推薦使用 PD 的朋友,這次升級 Yosemite 後雖然 PD9 升級到最新版本後還是可以用,但準備開始把 PD 的虛擬機都轉到 VirtualBox 上做測試了。發現以前使用網路上的轉換方法需要多做一個步驟,新的方法可以直接轉為 VDI 格式,因此寫這篇文章分享一下方法。

舊的方法如下:
1. 正常的將虛擬機關機,而不要在 Suspend 的狀態操作。
2. 開啟 Parallels 虛擬機存放資料夾,所有虛擬機副檔名應為 .pvm
3. 右鍵點選欲轉換目標虛擬機 -> Show Package Content
4. 找到 .hdd 檔案,一樣右鍵 -> Show Package Content
5. 找到 .hds 檔案複製到 VirtualBox 虛擬機路徑 … (喝杯咖啡去)
6. 打開 VirtualBox 新建虛擬機,使用 “use existing virtual HDD file” 選項

這個方法仍使用 HDD 格式,若想要用 VirtualBox 原生的 VDI 格式 需要轉換…

新的方法:
還是需要定位到 .hds 檔案,然後直接轉換為 VirtualBox 的 VDI 格式:

VBoxManage clonehd Windows 8.1-0.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds ~/VMs/Win8.1.vdi --format VDI

仍在測試中,不曉得經過了這幾年 VirtualBox 在 Oracle 下的進步情況如何。

移除不再需要的 Time Machine 檔案

Time Machine 出問題,一直提示空間不足無法成功備份,但是重做後又不會正確刪除到足夠的空間進行備份,手動刪除了幾個檔案還是相同的情況,放著不管結果它自己一個晚上自己不曉得自動重新備份了幾次,早上起來發現機器很燙。

原想刪除掉整個備份重來,從 System Preference/Time Machine 移除掉備份硬碟後發現裡頭的 Backups.backupdb 目錄還在並未釋放,這應該算是『功能』吧,可以避免誤刪備份。試著用基本的

sudo rm -rf -R [backup folder]

指令刪除的時候一直提示 “Operation not permitted”,找了一些資料後用來解決的方法如下,做個簡單的記錄:

sudo /System/Library/Extensions/TMSafetyNet.kext/Helpers/bypass rm -rfv [backup folder]

記得把 [backup folder] 改為你自己的路徑 (如:/Volumes/Backup Disk/Backups.backupdb/),我的作業系統是 10.9.4,如果是 10.8 以前的版本請試著找找:

/System/Library/Extensions/TMSafetyNet.kext/Contents/MacOS/bypass

Update:

sudo tmutil delete [backup folder]

看來是比較新的方法,有說法是 bypass 已經 outdated,不過還是可以用。

更改 Mac 在 Terminal 顯示的 HostName

在『系統偏好設定』中已經設定了正確的電腦名稱,可是每次在公司內部連上網路之後打開終端機,命令提示字元上顯示的卻是上一次使用這個 IP 的電腦名稱,如果這一點讓你困擾的話,可以試試下面這個指令修改 HostName:

sudo scutil --set HostName [新名稱]

scutil 這個命令支持下列的參數:

--get pref
    Retrieves the specified preference.  The current value will be
    reported on standard output.

    Supported preferences include:
          ComputerName   The user-friendly name for the system.
          LocalHostName  The local (Bonjour) host name.
          HostName       The name associated with hostname(1) and gethostname(3).

--set pref [newval]
    Updates the specified preference with the new value.  If the new value is not
    specified on the command line then it will be read from standard input.

    Supported preferences include: ComputerName LocalHostName HostName

    The --set option requires super-user access.

但以我的情況是只要修改 “HostName” 就可以了,其他兩個使用 get 查看都跟我設定的一樣,修改後記得重新開啟 Terminal 或是 iTerm 使其生效。

讓 MacBook 飛起來

把工作機 MacBook 13″ (2011年初) 改裝成 SSD + 16GB RAM,先前在網路上看到許多網友改機的分享文之後就一直想要找時間也把自己的工作機改一下,無奈一直沒有時間買齊所需要的零件,直到今年農曆年的時候才有時間到光華商場去,在購買記憶體的時候店家問了要使用在哪個型號的電腦上,特地要我到蘋果專賣店去買避免相容性的問題,SSD 的部份就比較簡單一點,直接高規格選用 Intel 520 系列的 SSD,加上先前在大陸淘寶上買了替換掉光碟機的硬碟轉接盒,這次換 SSD 的時候也順便把轉接盒換上,光碟機的位置空出來給原來的硬碟使用,整個硬碟作為 /User 槽,就不會因為換了容量較小的 SSD 後犧牲了可用的儲存空間,其實也因為有這個考量,所以我只選了 120GB 的 SSD,節省了不少改機的預算。

用了這幾個月感想是:開關機及開啟軟體的速度真的快很多,另外也因為記憶體加大了一倍,不用再因為多開幾個虛擬機需要作 Memory Purge (先前看到 Magican 上的 Memory Usage 常常跑到 80% 以上就會有作 Purge 的衝動),16GB 的記憶體空間,運行時幾乎可以無視記憶體的限制。

總之,這個升級的確非常值得,可惜的是較新版本的機型好像還沒有可以改裝的方式出現,看了一下網路上的拆機圖片與規格說明,主要是記憶體與 SSD 的規格都不太一樣,這樣一來舊版本機器可能因為可以改機,所以保值性跟 CP 值都比較高。

對此改機有興趣的朋友可以參考網路上的 這一篇 或是 這一篇

Reference: TRIM Enabler for OSX 10.8.1

買套 Paragon NTFS for Mac OS X

為了工作效率還是買下了 Paragon NTFS for Mac OS X 這套軟體,以前覺得可有可無,因為 OS X 完全可以讀取 NTFS 格式,在需要寫入的情況下,開 PD8 裡的 Windows 虛擬機來寫,不過今天為了複製一個 Hyper-V 虛擬機的檔案 54GB 的大小,嘗試在 PD8 中複製需要 45 分鐘,在 NTFS for Mac 下僅需要 32 分鐘,當然其效益還需要包含啟動虛擬機所需要的時間,大概盤算了一下就決定把這個驅動軟體買下來,時間可是一去不復回的啊,而且日後肯定不會沒有需要與 NTFS 格式外接設備打交道的時候,這個投資會是值得的。

[解法] Mac Port: Error: org.macports.build for port XXXX returned: command execution failed

錯誤訊息類似下面這樣:

Error: org.macports.build for port qemu returned: command execution failed

這其實主要是 XCode 更新後造成的,因為新版的 XCode 使用 clang compiler,看起來它不允許使用 global register variables,因此一些 Port 上的程式在 build 的時候就出問題了,這時候可以使用 ‘configure.compiler=gcc’ 選項強制 port 改用 gcc 作為編譯器,比如說:

sudo port -v install qemu +target_arm configure.compiler=gcc

如果還是碰到錯誤,可能先前使用 clang 編譯的 object file 殘留所致,可以先作一下 clean 的動作:

sudo port clean qemu

然後重新跑上面的 insall 指令。

希望這對你有些幫助… 😉

Copyright © 2017. Powered by WordPress & Romangie Theme.