How well does Ubuntu support HFS+ (i.e. Mac formatted) filesystems? Can it read and write to them, and are there any potential problems to watch out for?
3 Answers
The kernel supports basic read support - however, journaling support is nearly non-existent which is needed for write support. By default most modern Macs (which utilize the HFS+ Filesystem) have Journaling enabled. For write support you'll need to first disable journaling on the HFS+ Partition:
sudo diskutil disableJournal [VolumeName]
Then, if needed, re-enable with:
sudo diskutil enableJournal [VolumeName]
However, as a warning - Journaling is an important part of any Filesystem which implements it. Disabling it in Mac OSX is not recommended and can have adverse affects. There has been work to include journaling support for the HFS+ driver in the kernel - but that it still some time away.
-
1Do you mean the HFS+ driver in the linux kernel doesn't work if journaling is enabled in Mac OS X? Or do you mean the linux driver will ignore the journal (which would be the same as what ext2/3 drivers for Windows do currently AFAIK)?– JanCCommented Dec 10, 2010 at 2:14
-
@JanC You can't write without Journaling support. So if Journaling is enabled on an HFS+ partition you will only have a read-only mount. EXT2 does not have Journaling, and the driver for Windows to access EXT3 has Journaling support included in it (since it's been around since 2001) Commented Dec 10, 2010 at 2:37
-
The ext2/3 driver for Windows I have used ignored the journal; it only supported ext2, and ignored the ext3 features, just like you can force-mount an ext3 as ext2 on linux and ignore the journal. So, good to know this is different for HFS+.– JanCCommented Dec 10, 2010 at 13:15
SuperUser has a great answer for mounting HFS+ partitions in read/write mode here:
https://superuser.com/questions/84446/how-to-mount-a-hfs-partition-in-ubuntu-as-read-write
Looking at the HFS+ driver in the kernel, it seems to have read & write support, but I have absolutely no idea how stable/useful/etc. it is...