gravatar

Partition FAT32 to Apple HFS+

如果有個外接硬碟,你需要把其中一部份弄成 HFS+ 給 Apple 用。要是整顆硬碟都是空的,那當然就可以用 Disk Utility 來分割這個硬碟,不過 Disk Utility 不允許你搞成有些是 FAT32 有些是 HFS+。要不是全部都是 Apple 的格式(HFS、HFS+、UFS、blah blah),不然就是只能選 DOS 格式,那全部就只能為 FAT32 無法變成其他檔案系統格式。最重要的,如果硬碟上有資料,只想要把某個分割區由 FAT32 變成 HFS+,如前面所說,用 Disk Utility 就完全作不到。
這時候可以透過 fdisk 這個指令來完成,首先插上 USB 外接盒,知道這個磁碟 /dev/ 的對應後,比如說是 /dev/disk1。umount disk 後,接著就 fdisk -e /dev/rdisk1,按 'p' 可以列出目前所有的 Partitions,例如

Disk: /dev/rdisk1       geometry: 4863/255/63 [78125001 sectors]
Offset: 0       Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: 0C    0   1   1 - 1023 254  63 [        63 -   20964762] Win95 FAT32L
 2: 0C 1023   0   1 - 1023 254  63 [  20964825 -   20964825] Win95 FAT32L
 3: 0C 1023   0   1 - 1023 254  63 [  41929650 -   36178380] Win95 FAT32L        
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused 
比如說想把第 3 個 partition 變成 HFS+,就 setpid 3,然後輸入 HFS+ 的編號 "AF",然後再用 "p" 列出來看,就會如同
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: 0C    0   1   1 - 1023 254  63 [        63 -   20964762] Win95 FAT32L
 2: 0C 1023   0   1 - 1023 254  63 [  20964825 -   20964825] Win95 FAT32L
 3: AF 1023   0   1 - 1023 254  63 [  41929650 -   36178380] HFS+
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused 
然後用 write 寫回 MBR。如此一來這個 partition (disk1s3) 就變成了 Apple HFS+,這是 Disk Utility 作不到的。
接著要格式化這個 partition 變成 HFS+ 檔案系統,前面只是把 partition 改成 HFS+ partition代號。現在要用
newfs_hfs -v "USB Disk" /dev/disk1s3
就完成了,如果要開啟 Journal 或其他參數調整請 man newfs_hfs。接著就可以用 Disk Utility 或是把 USB 拔掉重插再次 mount 進來,這時候就可以看到這個新的 partition。
接著是要關掉 spotlight indexing,如果不關也可以,只是自己平常應該是用不到對外接盒內容的 search,以及作 indexing 會造成多餘的 disk access,如果不小心拔掉的話可能會有問題。因此就 sudo mdutil -i off "/Volumes/USB Disk" 把 spotlight 對這個 Volume 的所有 indexing 關掉。
還有一個好處就是,複製檔案的時間變會了,先前把 4GB 的 Virtual PC disk image 複製到 FAT32 的同一個 partition,要花約 20 分鐘時間。現在同樣的分割區變成 HFS+,只要花 4 分鐘時間。

Tags: , disk, partition, HFS