How to mount UDF format DVD+R on Ubuntu Jaunty

I was recently given a DVD+R disc created on a Windows XP machine. The volume label is ROXIO, so I presume the application used was Roxio Easy CD Creator. Problem is, when I try to mount this disc using Nautilus or manually on the command line, I get this error:

laszlo@sescento:~$ sudo mount /dev/dvd1 /media/cdrom
mount: block device /dev/sr1 is write-protected, mounting read-only
mount: wrong fs type, bad option, bad superblock on /dev/sr1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

Looking at the system log, shows the following message:

laszlo@sescento:~$ dmesg | tail
...
[588493.006569] UDF-fs: Filesystem marked read-only because writing to pseudooverwrite partition is not implemented.
[588493.214121] UDF-fs: No fileset found

After googling this problem for a while I found many Hardy users having this problem, and links to solutions which involve patching the filesystem driver and recompiling the kernel module. However I am running Jaunty, which was released just last month. It should have the latest driver necessary to read the new UDF format produced by Roxio.

After finding many Ubuntu Forums threads which were no help, I found a comment on this UDF format bug which apparently has been fixed in Intrepid. The comment mentions to make use of the “session” and “lastblock” mount options.

As the comment suggested, I tried running dvd+rw-mediainfo and getting the lastblock value of 1678800. The following command gave the same error message.

sudo mount /dev/scd1 /media/cdrom1 -t udf -o ro,user,noauto,exec,umask=0,session=0,lastblock=1678800

After playing around with this command for a while I figured out that 1678800 is one of the only values that doesn’t work. Specifying 0 or 1678800 or 1678801 causes the mount to fail. Specifying almost any other number allow the disc to be mounted and read. I can speculate that if the lastblock value seems valid, for example it is close to the end of the track it tries to use it. However with a value that is almost certainly wrong, it tries to search for the proper value. To me it still does not make sense why if the lastblock option is not specified, the disc cannot be mounted.

So for simplicity I will just use the value 1. Here is the command which allowed me to mount the disc successfully:

sudo mount /dev/scd1 /media/cdrom1 -t udf -o ro,user,noauto,exec,umask=0,session=0,lastblock=1

Now its time to listen to the music and watch the movies contained inside.

Comments are closed.