HOWTO: Read Vista-burnt UDF DVDs on Ubuntu Linux

Recently I got my hands on a DVD which I couldn’t get to mount. The message that appeared consistently in dmesg was:

UDF-fs: No fileset found

Searching the forums I found out that this is a widespread problem. Vista uses some kind of non-standard UDF which only Windows can read. I was very tempted to run to the Windows PC in the other room and let it eat the disc, but I was curious if there was any other solution.

Many suggested mounting manually with -t udf, but that didn’t work. Another suggestion was patching and recompiling the kernel. I was obviously NOT in the mood to do that. Digging a bit deeper I found that there is actually a less greasy solution. The two relevant links are one and two. I will describe now the exact procedure I used to get my Linux box to recognize the Vista-burnt DVD. Note that, because of the rapidly changing environment, this will probably NOT work on anything OTHER than *Ubuntu Hardy with kernel version 2.6.24.

Step 1. Preparation:

  1. Make sure you have the proper linux kernel headers installed. For example, if you have linux-image-2.6.24-18-386 and linux-headers-2.6.24-18-generic, that will not work. You will need linux-headers-2.6.24-18-386.
  2. Download udf-filesystem-2.5.tar.gz and unpack it into ~/root/udf-vista/udf-filesystem-2.5.
    I have a directory ~/root/ where I keep all the software I install myself, i.e. not through APT.
  3. Copy the patch from here into a file, ~/root/udf-vista/udf-filesystem-2.5/vista-patch, skipping the first line (the one that starts with diff).

Step 2. Compilation:

  1. Apply the patch in the ~/root/udf-vista/udf-filesystem-2.5/src directory. Note that because I copy-pasted the patch into vista-patch, the tabs got converted into spaces, and I had to use the -l switch to make it ignore this.

    cd src
    patch -l <../vista-patch

    If something fails at this step, don’t go any further, and investigate where the patch went wrong.

  2. Compile the thing. This is the magic bit. Instead of recompiling the entire kernel, you only have to build the UDF module!

    cd ..
    make

    If this fails, you probably have the wrong kernel version or headers.

Step 3. Testing:

  1. Remove any currently loaded UDF module.

    sudo rmmod udf

  2. Now you need to actually replace the udf.ko file in the running kernel. I chose not to remove the original file, and instead moved it to a safe place.

    sudo mv /lib/modules/$(uname -r)/kernel/fs/udf/udf.ko ./udf.ko-old
    sudo cp src/udf.ko /lib/modules/$(uname -r)/kernel/fs/udf/udf.ko

  3. Load the actual module.

    sudo modprobe -v udf

    (Alternatively, you can try doing sudo insmod src/udf.ko before moving it to /lib.)

  4. Eject the DVD, put it back in, and watch it automount magically.

Step 4. Victory Dance! (In your face, Vista! )

A better solution would be, obviously, to somehow convince Vista to obey the UDF standards. Since that’s not going to happen anytime soon, I really hope that this patch will some day be included in the default kernel. Other than that, I’m glad it worked, and I hope this helps. Warm thanks to the people who made this possible (link, link).

30 Responses to HOWTO: Read Vista-burnt UDF DVDs on Ubuntu Linux

  1. Victor says:

    Nice post,

    Interesant e ca la mine pe Kubuntu 8.04 cu 2.6.24-18-generic merge montarea . La mine laptop-ul e pe Vista si de citeva ori am fost nevoit sa fac ceva transferuri de date si au mers discuri scrise de Vista pe K.

    Poate de asta ca la tine kernelul e mai vechi. Who knows..

    Good post though :)
    Regards, Victor

  2. Constantin says:

    It works out of the box only if you use Nero or some other software to burn the UDF DVD, but not if you use Vista’s built-in writer.

  3. Victor says:

    I guess this is it then . Cu toate ca nu mai tin minte ce-am folosit.

  4. Karsten Sorensen says:

    Worked first time with Hardy 8.04.
    Fantatastic.

  5. zag says:

    Thanks for this =D
    It worked flawlessly with linux-headers-2.6.24-19-generic too, ubuntu hardy

  6. Etienne says:

    You’re a GOD!

  7. […] pour pouvoir lire de l’UDF sous Ubuntu : https://ascending.wordpress.com/&#8230;.udf-dvds-on-ubuntu-linux/ Ecrit par fred Classé dans Gnu / Linux – 1 […]

  8. sae says:

    worked right away – just copying 1,3 GB of HD-Video data. Ubuntu Studio Hardy 8.04 – linux-headers-2.6.24-19-rt

    THANKS!!! :)

  9. Tiger says:

    Hello! Sorry for my English. I am Slovenian.

    Can you please record a video from this?

  10. Constantin says:

    I’m sorry, my computer is so old that it can’t easily record video… Follow the steps and if you don’t understand something, I’ll help you; or ask on forums.

  11. Jos says:

    does not work for me. Header of my DVD is:

    00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…………….|
    *
    00008000 00 42 45 41 30 31 01 00 00 00 00 00 00 00 00 00 |.BEA01……….|
    00008010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…………….|
    *
    00008800 00 4e 53 52 30 33 01 00 00 00 00 00 00 00 00 00 |.NSR03……….|
    00008810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…………….|
    *
    00009000 00 54 45 41 30 31 01 00 00 00 00 00 00 00 00 00 |.TEA01……….|
    00009010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…………….|
    *
    0000a000 01 00 03 00 48 00 00 97 21 87 f0 01 14 00 00 00 |….H…!…….|
    0000a010 01 00 00 00 00 00 00 00 08 55 44 46 20 56 6f 6c |………UDF Vol|
    0000a020 75 6d 65 00 00 00 00 00 00 00 00 00 00 00 00 00 |ume………….|
    0000a030 00 00 00 00 00 00 00 0b 01 00 01 00 02 00 02 00 |…………….|
    0000a040 01 00 00 00 01 00 00 00 08 31 33 33 41 33 31 32 |………133A312|
    0000a050 43 20 55 44 46 20 56 6f 6c 75 6d 65 20 53 65 74 |C UDF Volume Set|
    0000a060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…………….|
    *
    0000a0c0 00 00 00 00 00 00 00 18 00 4f 53 54 41 20 43 6f |………OSTA Co|
    0000a0d0 6d 70 72 65 73 73 65 64 20 55 6e 69 63 6f 64 65 |mpressed Unicode|
    0000a0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…………….|
    *
    0000a100 00 00 00 00 00 00 00 00 00 4f 53 54 41 20 43 6f |………OSTA Co|
    0000a110 6d 70 72 65 73 73 65 64 20 55 6e 69 63 6f 64 65 |mpressed Unicode|
    0000a120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…………….|
    *
    0000a170 00 00 00 00 00 00 00 00 00 10 d8 07 06 1e 13 3a |……………:|
    0000a180 31 2c 05 00 00 2a 4d 69 63 72 6f 73 6f 66 74 20 |1,…*Microsoft |
    0000a190 57 69 6e 64 6f 77 73 00 00 00 00 00 06 00 00 00 |Windows………|
    0000a1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…………….|
    *
    0000a800 05 00 03 00 80 00 00 97 5b 80 f0 01 15 00 00 00 |……..[…….|
    0000a810 02 00 00 00 01 00 00 20 00 2b 4e 53 52 30 33 00 |……. .+NSR03.|
    0000a820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…………….|
    *
    0000a8b0 00 00 00 00 00 00 00 00 02 00 00 00 10 01 00 00 |…………….|
    0000a8c0 00 0e 23 00 00 2a 4d 69 63 72 6f 73 6f 66 74 20 |..#..*Microsoft |

  12. uzbad says:

    Worked fine for my Debian Etch, thanks! It’s only that I had to mount manually with
    mount /dev/dvd /media/cdrom -t udf
    Cheers

  13. Adam says:

    Very good work!

  14. […] to the rescue. After a page full of ultimately unsuccessful Ubuntu forum posts, I came across this post. It said largely the same thing as a post on the Ubuntu forums that I found, but it included a […]

  15. onieros says:

    Sorry, Im very new to Linux. I just switched a few months back after deciding that Vista is terrible.
    Ive been trying to follow these instructions but Im a noob. sorry.
    Im not sure where to unpack the udf-filesystem…and can I do this using terminal? if you could email, or post step by step instructions I would greatly appreciate it.

    I made the fatal mistake of trusting microsoft to follow the guidelines of the rest of the planet.

    :(

  16. Constantin says:

    Hi Onieros,
    I recommend asking on ubuntuforums.org if you’re a new Ubuntu user. Start a new thread and explain exactly what you did and where you encountered a problem.

  17. Jacoor says:

    Works out of the box!
    Thanks man!

  18. onieros says:

    will do.
    thanks.

  19. Abraao Isvi says:

    tanks man! this was realy usefull!!!

  20. Paddy says:

    Thanks sooooo much, very niggly of MS NOT to conform.

  21. Srinivas says:

    Thanks for the info which seems to have helped a lot of people. But my problem still exists (maybe Constantin is right). Am using hardy heron but am not sure how the audio cd was burnt.

    -cheers
    Srinivas

    Constantin Says:
    16th of June, 2008 at 13:42

    It works out of the box only if you use Nero or some other software to burn the UDF DVD, but not if you use Vista’s built-in writer.

  22. Srinivas says:

    Upgrading the kernel to Intrepid (ubuntu 8.10) solves the issue (gksudo ‘updatemanager -d’).

    Great work ubuntu community

    – cheers
    Srinivas

  23. darklite says:

    i have hardy and sadly its not working :(
    may be updating the krnl would help.

  24. Denny says:

    Worked for me – thanks!

  25. Saju Scaria says:

    Very nice. my DVD drive is working fine now.

    Thank you so much for posting this article.

    The only extra thing i had to do was

    sudo apt-get install build-essential linux-headers-2.6.24-16-server

  26. Maginot says:

    Wow! Thanks a lot for the good article, worked great here after sometime trying to make the original udf module to work

    [ ]’s

  27. M.2 says:

    Fantastic! Thank you!

  28. Pyerre says:

    it worked !

    my ‘uname -r’ gives 2.6.24-23-generic

    the file udf-filesystem-2.5.tar.gz is no more on the ubuntu forum (the link is 404), but i found it with google

    thank you

  29. […] is a related thread in ubuntuformus, but there I couldn’t find general solution. And there is an article about patching kernel to mount UDF partitions and but there were some kernel version restrictions […]

  30. […] read a Vista UDF DVD on a ubuntu 8.04 i386 machine. Some other people ran into the same issue: HOWTO: Read Vista-burnt UDF DVDs on Ubuntu Linux, Unable to mount Data DVD created under Windows XP or Vista that are in UDF […]