Convertir une image disque Nero NRG en ISO standard
Je me suis en effet retrouvé devant un fichier d’image disque qui est dans un format partiellement propriétaire. J’expliquerais « partiellement » pourquoi après, mais pour l’utiliser partout, il faut l’avoir dans un format standard. Fort heureusement, ce n’est pas si compliqué à faire. Même sous Windows.
C’était une sauvegarde d’un CD de photos de famille, et je devais pouvoir le monter partout si possible sans logiciel spécifique. En effet, Windows sait monter directement les images disques au format ISO depuis Windows 8, sans avoir recours à Daemon Tools, Linux sait le faire depuis… j’ai même pas réussi à retrouver la date, à se demander si ça n’a pas toujours été le cas. Mais le format de Nero n’est pas standard, alors il fallait que j’intervienne.
Sous Linux, en ligne de commande
Il existe plusieurs méthodes, l’une faisant appel à un utilitaire appelé nrg2iso (porte bien son nom), l’autre, utilisant l’incontournable dd. Et encore, même avec dd, je suis tombé sur deux méthodes différentes, aux résultats identiques. Sous Linux j’ai systématiquement chronométré les commandes avec time pour faire la comparaison.
nrg2iso
Petit utilitaire basique écrit en C sous licence GPL, il prend simplement en entrée le nom de l’image NRG, en sortie le nom de l’image ISO, et affiche une « barre » de progression. On le trouve sous Debian/Ubuntu depuis au moins Squeeze (le logiciel date de 2003 en même temps), sous Arch/Manjaro et aussi Fedora. Faites donc chauffer les gestionnaires de paquets 🙂
Voilà le résultat de la commande :
1 2 3 4 5 6 7 |
$ time nrg2iso Photos2011-1.nrg Photos2011-1-soft.iso |======================================================================>[100%] Photos2011-1-soft.iso written : 606326940 bytes real 0m9.598s user 0m0.010s sys 0m2.020s |
dd
dd est vraiment le roi de la copie d’image en tout genre. On l’utilise même pour cloner des partitions (notamment dans Clonezilla), il sert à créer nos clés USB Live en inscrivant les images ISO dessus, bref, ze trousse à outils. Inconvénient évidemment, comme souvent dans le cas de ce genre d’outils, c’est austère (pas d’indicateur de progression), c’est complexe (plusieurs paramètres à indiquer, contrairement à nrg2iso), et d’ailleurs, j’ai eu droit à deux méthodes. L’une d’elle sort d’ailleurs de chez Korben, dans un article de 2007 (qui permet d’avoir un semblant de possibilité de suivi de la progression).
Voilà donc les deux méthodes, assez proches :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ time dd bs=1k if=Photos2011-1.nrg of=Photos2011-1-bs1-sk300.iso skip=300 592116+1 enregistrements lus 592116+1 enregistrements écrits 606326940 octets (606 MB) copiés, 9,56535 s, 63,4 MB/s real 0m9.573s user 0m0.163s sys 0m3.700s $ time dd if=Photos2011-1.nrg of=Photos2011-1-bs2-sk150.iso bs=2048 skip=150 296058+1 enregistrements lus 296058+1 enregistrements écrits 606326940 octets (606 MB) copiés, 9,37681 s, 64,7 MB/s real 0m9.383s user 0m0.097s sys 0m2.653s |
Voilà pourquoi j’indiquais en introduction que le format était partiellement propriétaire : le contenu est exactement dans le même état, seul change l’entête de l’image. Les différences en fait se résument à la taille de bloc lus/écrits. D’un côté on attaque avec des blocs d’1kibioctet (kio, soit 1024 octets), de l’autre côté, 2kio (le bs=1k et le bs=2048). Dans les deux cas, on évite les 300 premiers kio (skip=300 et skip=150). La durée est pratiquement la même dans les deux cas (j’utilise un SSD), il n’y a que le temps « sys » écoulé, traduisant les entrées/sorties qui changent un peu (logique, on lit de plus gros blocs, donc moins de blocs lus).
Pour s’en rendre compte, comparons les tailles d’images :
1 2 3 4 5 6 |
$ ll total 2372360 -rw-r--r-- 1 seboss666 users 606326940 30.04.2015 11:44 Photos2011-1-bs1-sk300.iso -rw-r--r-- 1 seboss666 users 606326940 30.04.2015 11:45 Photos2011-1-bs2-sk150.iso -rw-r--r-- 1 seboss666 users 606634140 29.04.2015 20:46 Photos2011-1.nrg -rw-r--r-- 1 seboss666 users 606326940 30.04.2015 12:02 Photos2011-1-soft.iso |
On a donc bien évité plusieurs blocs.
Windows
Point de ligne de commande compliquée ici, un simple utilitaire spécial clicodrome, non libre celui-ci, et qu’on récupère à cette adresse (préférez la version anglaise). Il est développé en Delphi (connaît pas la licence, mais la source Pascal est fournie dans l’archive). Même pas besoin de l’installer, il se lance directement, si l’on oublie pas d’ajouter les deux fichiers de l’archive vcl30.zip fournie sur la même page.
Ne reste plus qu’à indiquer le fichier source, le fichier destination (qui est automatiquement rempli, modifiez si vous le sentez comme ça), et cliquer sur Convert, et y’a plus qu’à laisser la magie opérer.
Les standards, c’est le bien
On ne le dira jamais assez, les formats de fichiers standards et ouverts sont une nécessité, pour éviter qu’une seule entité ne contrôle une partie de votre vie. Dans le cas présent, c’était facile de revenir sur de bonnes bases. Mais sinon, sans outils comme Daemon tools (non libre, pourri d’adwares maintenant) ou des convertisseurs, vous seriez obligé d’utiliser Nero pour manipuler de telles images. Et comme souvent dans ce genre de cas, il vous contraint à utiliser un système d’exploitation en particulier. Si possible fermé, si possible payant, si possible évidemment pas sous votre contrôle.
Cartographie, bureautique, audio, vidéo, photo… Le seul problème finalement, c’est que malgré leur ouverture et leur gratuité, peu nombreux sont les fabricants d’appareils spécialisés disposant d’une bonne volonté en intégrant ces formats libres (le MP3 est toujours soumis à des brevets, et n’est pas un format ouvert à proprement parler). En effet, qui n’a jamais pesté contre l’absence de format FLAC sur son autoradio ?
Tu peux aussi regarder du côté du format d’image .cdi 🙂 qui est toujours utilisé dans certaines catégories d’images.
Sinon y’a encore des gens qui utilisent Daemon Tools ? autant à son époque c’était du bon, autant maintenant c’est du malware.
J’installe WinCDEmu : ouvert, gratuit, très léger =>http://wincdemu.sysprogs.org/
Intéressant, le jour ou je remet un Windows en service, j’aurais peut-être un oeil à jeter dessus, merci 😉