3

My aim is to create an accurate, bit-for-bit identical copy of a Blu-Ray disc while leaving all the original content, DRM etc. untouched. How would I manage to do so using dd command to rip to .iso and to burn back to a blank BD?

I succeeded in creating accurate DVD copies by following this particular approach.

My basic steps according to the above instructions were:

  1. Running dd with the parameters for block size and volume size which results in an accurate, ready-to-burn ISO image.
  2. Burning the ISO image to a blank DVD using dd
  3. Verifying the DVD copy by re-ripping it to .iso (see step 1.) and comparing the resulting ISO image to the ISO image I used to burn the DVD (file size, MD5 checksum were identical)

As far as I know, I cannot read the block size and the volume size of a retail BD using the isoinfo -d -i /dev/cdrom command because of the fact that BDs are generally not in ISO 9960 format. Therefore, I followed my basic steps as usual but I just used the dd if=/dev/cdrom of=test.iso command without any bs and count arguments. As one might expect, my final comparison (step 3.) leaves me with two different ISO files (one larger file, different MD5 sums).

Does anybody have a solution to this? I assume some obligatory bs and count arguments are missing in my ripping routine - but how do I obtain the necessary information (Logical block size, volume size of BD) in the first place?

Thank you very much in advance for your help.

David Foerster
  • 36,890
  • 56
  • 97
  • 151
mrtux
  • 31
  • 1
  • 1
  • 3

1 Answers1

4

You can get the block size by using blockdev --getbsz /dev/sr0 where "/dev/sr0" may change, depending on the amount of drives you have and the block count by using blockdev --getsz /dev/sr0, multiplied by 512 and then divided by the block size. You can test this using isoinfo -d -i /dev/sr0 on a normal DVD.

From my understanding dd will work just fine, creating a perfect copy of your blue-ray, even with no size or count variables set. These variables are only used when skipping unwritten parts of the disc, parts that physically exist but do not store information, as is common when the data isn’t as large as the disk.

I tested creating an ISO of a blue-ray without the size and count variables and using bit wise comparison cmp to compare it with the disc, and it didn’t give me any error. I assume that the reason it didn’t work for you was that you burned it to yet another disc, which (as @JonasCz said) won't work due to copy-protection.

The ISO will play just fine, though.
I successfully opened and watched a blue-ray ISO using leawo on windows.

For example:

  • blockdev --getsz /dev/sr0 shows me 16142856.
  • blockdev --getbsz /dev/sr0 shows me 2048.
  • 16142856 * 512 = 8265142272,
  • 8265142272 / 2048 = 4035714.

This equals the output of isoinfo -d -i /dev/sr0 when used on a DVD:

  • Logical block size is: 2048
  • Volume size is: 4035714