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,例如
比如說想把第 3 個 partition 變成 HFS+,就 setpid 3,然後輸入 HFS+ 的編號 "AF",然後再用 "p" 列出來看,就會如同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
然後用 write 寫回 MBR。如此一來這個 partition (disk1s3) 就變成了 Apple HFS+,這是 Disk Utility 作不到的。#: 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
接著要格式化這個 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: macosx, disk, partition, HFS
張貼留言