web-dev-qa-db-fra.com

Créer et graver une image ISO à partir d'un Blu-Ray source sous Linux

Mon objectif est de créer une copie précise et identique, bit par bit, d'un disque Blu-Ray tout en préservant l'intégralité du contenu original, DRM, etc. Comment pourrais-je y parvenir en utilisant la commande dd pour extraire le fichier en .iso et pour le graver sur un BD vierge?

J'ai réussi à créer des copies de DVD précises par en suivant cette approche particulière .

Mes étapes de base selon les instructions ci-dessus étaient les suivantes:

  1. L'exécution de dd avec les paramètres de taille de bloc et de volume qui donne une image ISO précise et prête à graver.
  2. Graver l'image ISO sur un DVD vierge en utilisant dd
  3. Vérification de la copie du DVD en le rippant au format .iso (voir l'étape 1) et comparaison de l'image ISO résultante à l'image ISO utilisée pour graver le DVD (la taille du fichier, la somme de contrôle MD5 étant identique)

Autant que je sache, je ne peux pas lire la taille de bloc et le volume d'un BD destiné au commerce de détail à l'aide de la commande isoinfo -d -i /dev/cdrom, car les BD ne sont généralement pas au format ISO 9960. Par conséquent, j'ai suivi mes étapes de base comme d'habitude, mais je viens d'utiliser la commande dd if=/dev/cdrom of=test.iso sans arguments bs et count. Comme on pouvait s'y attendre, ma dernière comparaison (étape 3) me laisse avec deux fichiers ISO différents (un fichier plus volumineux, des sommes MD5 différentes).

Quelqu'un a-t-il une solution à cela? Je suppose que certains arguments obligatoires bs et count manquent dans ma routine d'extraction - mais comment puis-je obtenir les informations nécessaires (taille de bloc logique, taille de volume de BD) en premier lieu?

Merci beaucoup d'avance pour votre aide.

1
mrtux

Vous pouvez obtenir la taille de bloc en utilisant blockdev --getbsz /dev/sr0 où "/ dev/sr0" peut changer, en fonction du nombre de disques que vous possédez et du nombre de blocs en utilisant blockdev --getsz /dev/sr0, multiplié par 512 puis divisé par la taille du bloc. Vous pouvez tester ceci en utilisant isoinfo -d -i /dev/sr0 sur un DVD normal.

D'après ce que j'ai compris, dd fonctionnera parfaitement, en créant une copie parfaite de votre rayon bleu, même si aucune variable de taille ou de nombre n'a été définie. Ces variables ne sont utilisées que lorsque vous sautez des parties non écrites du disque, des parties qui existent physiquement mais ne stockent pas d’informations, ce qui est courant lorsque les données ne sont pas aussi volumineuses que le disque.

J'ai testé la création d'une image ISO d'un rayon bleu sans les variables de taille et de nombre et l'utilisation de la comparaison bit par bit cmp pour la comparer avec le disque, ce qui ne m'a causé aucune erreur. Je suppose que la raison pour laquelle cela n’a pas fonctionné pour vous est que vous l’avez gravé sur un autre disque, qui (comme l’a dit @JonasCz) ne fonctionnera pas en raison de la protection contre la copie.

L’ISO jouera bien, cependant.
J'ai ouvert et regardé avec succès une image ISO à rayons bleus utilisant des fenêtres à fenêtre.

Par exemple:

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

Cela équivaut à la sortie de isoinfo -d -i /dev/sr0 lorsqu'il est utilisé sur un DVD:

  • La taille du bloc logique est: 2048
  • La taille du volume est: 4035714
3
Anonymus