Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Several time recently I've seen UDF suggested as the solution to a cross platform format for a drive used on Linux, Mac OS X and Windows XP and above.

I've searched here and not found the same suggestion (most are suggesting ntfs-3g which seems to cost money and isn't preinstalled on a Mac).

So my question is: how is this done right, and has anyone done this? Have you then filled up the drive and deleted some files to make space finding that everything works like a real r/w format even though it seems to have been primarily a write once format?

Call me crazy but I'd really like it if the UDF system would also automount and be writable by the logged in user. What I've tried so far (udftools formatting as mentioned by kicsyromy) doesn't address this wish.

share|improve this question
1  
One clarification: ntfs-3g is free. Its source code is gratis (i.e., available at no cost). It is also free as in freedom. ntfs-3g is the NTFS driver in Ubuntu! It's slightly technical to manually build/install it on OS X, and Tuxera (its developer) offers a proprietary payware version that is essentially the free ntfs-3g driver built and packaged for easy installation and use on OS X. Without an add-on driver, OS X will only read (not write) NTFS volumes, so you're right to consider another filesystem. – Eliah Kagan Jul 11 '13 at 23:44
    
@EliahKagan So if ntfs-3g is "free", then why hasn't Apple included it to allow r/w support for NTFS? – user29020 Apr 18 '14 at 20:49
    
@user29020 I don't know while Apple chooses not to include it, but you can verify it's free by downloading the source code (currently this file), extracting it, and seeing that the COPYING file is the GNU GPL. Maybe Apple didn't want to do the work integrate it so it be used seamlessly from the Finder. See also tuxera.com/products/tuxera-ntfs-for-mac and sourceforge.net/projects/catacombae. – Eliah Kagan May 2 '14 at 18:36
    
@user29020 Support costs (what if it's a bit buggy)? Legal restrictions? Free under GNU GPL License means that it can only be added to existing source / binaries which are in turn also available under the GPL. (LGPL would allow it to be used as a library by other non-GPL code). Given that apple's code is largely proprietary and otherwise under the APSL which is not a GPL compatible license, that is a restriction they must abide by. gnu.org/philosophy/apsl.html – dlamblin Jul 21 '14 at 20:23
up vote 6 down vote accepted

No.

We're in 2015 at the time of this reply. I am using OSX Yosemite, Ubuntu 14.10, and the Windows 10 technical preview for enterprises on a Mactel machine (Macmini 7,1).

I tried both UDF and exFat. I use Ubuntu for development and do need Unix-style permissions.

All former guides do not apply anymore: UDF drivers have evolved and all operating systems will accept a UDF partition, with more problems and instabilities than I can name.

  • UDF drive formatted on Mac OS: can't be mounted on Windows 10.
  • UDF drive formatted on Linux: can't be mounted on Windows 10.
  • UDF drive formatted on Windows 10: mounts read/write on Linux, read-only on OSX.

However, Windows doesn't allow you to specify a block size when formatting a UDF volume, and as a result, your logical block size might differ from the physical block size for the partition.

I am unclear whether this has to do with the difficulties I had mounting it read/write on OSX, but after deleting a certain number of files using Linux, I was never able to mount the drive again on OSX.

The system goes into kernel panic and crashes disgracefully.

This, and a variety of answers on the subject, indicate inconsistent support for this format at this point.

It would seem there are ways I can use a NTFS volume to achieve a balance between the features of a modern file system, Unix-style permissions - I might be able to set them - and read/write mount on all operating systems.

share|improve this answer
    
Which system is crashing? You say kernel panic, but in the previous sentence you make it sound like it is OSX that is having problems. – Janus Troelsen Mar 16 '15 at 4:20
    
OSX is based on BSD. So yes, it is OSX Yosemite (10.10.2) which experiences a kernel panic. I ended up using NTFS, and NTFS 3d for OSX. – Argo Mar 19 '15 at 5:05
    
re Windows doesn't allow you to specify a block size when formatting a UDF volume: UDF doesn't have an adjustable block size. It uses the device sector size, period. It doesn't use any kind of clustering either. What setting are you referring to? – JDługosz Apr 1 '15 at 3:36
1  
    
@Argo the second reference states, "The -b 512 is to force a file system block size equal to the USB stick's physical block size, as required by the UDF specification. Adapt it if you have the luck of having a USB stick with an more appropriate block size." So it does let you specify the block size but it must be specified as being the required value. – JDługosz Apr 3 '15 at 10:25

EDIT: I just tested this out in a VM. It seems that you need to (re)create your partition in Windows assign it a drive letter but don't format it to any filesystem. After that boot into Ubuntu and just follow the directions and it should work for read/write.

Remember to backup all your data!

First off install UDF tools:

sudo apt-get install udftools

Replace the first block with nothing on the partition you wish to format to UDF(*):

sudo dd if=/dev/zero of=/dev/sdxN bs=512 count=1

And finally format to UDF(*):

sudo mkudffs --media-type=hd --blocksize=512 /dev/sdxN
  • x is a placeholder for the letter curently assigned to your hardisk

  • N is a placeholder for the partition number

Best of luck and let me know if it worked out for you. Cheers, Calota Romeo

share|improve this answer
    
Thanks this answers the how; I would still be interested in finding out if it works well enough with the above scenario. – dlamblin Feb 25 '11 at 0:17
    
This worked perfectly for me. The only issue is that I have to manually mount the partition in Windows using Disk Manager. Other than that, I can confirm that it works with multiple partitions on the hard-disk as well (I'm using 1udf+2ext4) – Abhay Rana Sep 3 '12 at 0:47
    
The key here seems to be to actually create a partition and then create a UDF file system in there. If you don't create any partition, it'll work in Linux, but it won't in Windows (7). That's my experience. – DanMan Nov 3 '12 at 23:57
    
@DanMan Dan seems to have found someone who solved that issue and provides a script for formatting a whole disk with UDF for Linux, Mac and Windows 7, as well as read-only in Win XP. – dlamblin Jul 10 '13 at 16:10
    
@kicsyromy: formatting a partition (sdxN) to UDF did not work, executing sudo mkudffs --media-type=hd --blocksize=512 /dev/sdd1 gives the following error message: trying to change type of multiple extents I did however succeed in formatting UDF using the whole disk (sdd) as described here: superuser.com/questions/39942/using-udf-on-a-usb-flash-drive – Tim Banchi Jun 27 '14 at 10:51

Someone did some research into how to format a flash drive with udf so it can be used on as many operating systems as possible. Here are his findings (used to be there, now offline):

  • Windows 7 have full support up to UDF v2.6, but the UDF block size must match the block size of the underlying device (which for USB-sticks and most disks is 512 bytes; "advanced format" disks are 4096 bytes). Apparently the disk must be partitioned.

  • Linux 2.6.30 and up supports UDF fully at least up to version 2.5.

  • Mac OS X 10.5 supports UDF fully up to UDF 2.01, but only when used on a full disk, so not partitioned.

As explained above, for USB harddisks, Windows requires the disk to be partitioned. On the other side, UDF only works in OS X when it is used on a full disk (unpartitioned). Rather surprisingly, there is a solution which works for both: having the disk partitioned and unpartitioned at the same time.

DOS partition tables are stored in bytes 446-510 of the master boot record. This master boot record is stored in the first sector on disk, sector 0. Typically, the first partition specified will start some kilobytes further. However, it seems possible to construct a partition table whose first partition starts at sector 0, so the result is a partition which contains the partition table itself. Partition editor programs seem to refuse to create such a table, but at least recent Linux and Windows kernels don\u2019t seem to bother.

The nice thing is that UDF does not (I suppose deliberately) use the first few kilobytes of the partition or disk it is placed on, so this place can really be used to store a legacy partition table, referring to a partition that spans the whole disk. Some testing shows that this really works on Linux, Windows and Mac OS X:

  • Mounts automatically read-write in Linux 2.6.30+, Mac OS X 10.5+, Windows Vista+
  • Can be used read-only in Windows XP, and be used after a command line mount in Linux 2.6.0+
    • Supports large files, UNIX permissions, Unicode filenames, symlinks, hardlinks, etc.

Here's the script to format the disk properly at https://github.com/ameenross/udfhd

share|improve this answer
3  
Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the links for reference. – Eliah Kagan Jul 11 '13 at 23:45
    
@EliahKagan Thanks for the suggestion. I'll do that next time. – Dan Jul 13 '13 at 4:48
    
I tried some variations on the instructions I linked to above and couldn't get a disk that worked on different versions of OS X. – Dan Jul 13 '13 at 4:49
    
"UDF does not (I suppose deliberately) use the first few kilobytes": Yes, it's deliberate. That's where bootloader go (if you make a bootable DVD). That's also where ISO9660 partition format go (if you make an ISO/UDF hybrid). – DrYak Mar 23 at 16:28
    
Also, as pointed on ameenross git hub, there's a newer better tool: github.com/JElchison/format-udf – DrYak Mar 23 at 16:29

protected by Community Mar 19 '15 at 5:06

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.