I have a friend that I sometimes share my files with. He complained, though, that every time he reads one of the CDs I give him, the files are in 8.3 format.
For months, I just took it that that was simply “one of those things”, but finally, I came across the problem myself.
Recently, my computers started running out of space, so I started burning information to CD, in order to make room for fresh information.
Over the weekend, I installed a fourth hard-drive in my home server, so it was time to start moving the CD info back onto hard drive.
Unfortunately, my CD drives at home appear to be broken – they refuse to read the CDs I burned (cheap CDs, I guess), so I have to load the CDs onto my work computer, then, once they’re finished transferring, I’ll bring a hard-drive in and transfer them.
All of my home computers are Linux-based, and my computer in work is WinXP.
When I loaded the first CD into the WinXP machine, I saw immediately that the 8.3 problem affects Windows itself, so I started searching for whatever was causing it.
It turns out that it has to do with the CD file system itself. The Level 1 ISO 9660 is 8.3, while Level 2 holds 31 characters. In all 3 levels of ISO 9660, only upper case alphabetical, digits, and underscores are allowed.
Windows expands on this with the Joliet system – up to 64 characters in Unicode. The file system that is used by default in K3b (the CD burning software I used), however, is Rock Ridge, which supports up to 255 characters in ASCII, deep directories, and UNIX file permission preservation.
Aye, so there’s the rub – Windows, by default, cannot read the Rock Ridge format, and Joliet needs to be turned on explicitly in K3b.
After a bit of searching, I managed to find one project which can read Rock Ridge in Windows – ISO Buster. It is free, but they welcome donations.
My only problem with ISO Buster is that they do not appear to translate the directory names properly – but I can live with that.