Allez, comme je suis de bonne humeur aujourd'hui, je vais vous expliquer comment
Restaurer un disque dur de borne à partir d'un CHD à l'aide de Linux
Disclaimer : J'ai honte je connais pas le terme Français... Déchargement de responsabilité ?L'opération décrite si dessous va faire une restauration physique d'une unité de stockage. Ni l'auteur du tutoriel, ni Gamoover ne peut être tenu responsable en cas de panne matérielle, ou de pertes de données suite à une mauvaise manipulation ou même en suivant le tuto de A à Z. La méthode n'est pas garantie à 100%, nous ne sommes pas non plus responsables si la manipulation ne fonctionne pas au final ou si elle endomage votre matériel. En gros, effectuez cette opération à vos risques et périls. Toutes les manipulations suivantes ont été effectuées sur une machine virtuelle, et ne sont qu'un reflet de ce que vous aurez à l'écran.
Etape 0 : Les prérequisEt une petite explication aussi... pourquoi passer par Linux ? Parce qu'un membre de
Gamoover (HeroSuperMan)
[je demanderai aux rédacteurs/correcteurs de laisser ce lien, car le texte étant sous la licence GPL, il convient de garder une trace du site d'origine quelque part, même si le "copieur" peut en toute légitimité retirer ce texte] n'a pas pu restaurer son disque avec l'utilitaire de mame (à savoir CHDMAN) donc je propose une alternative "simple", non sans risque mais efficace (en tout cas sur des machines virtuelles
).
Tout d'abbord, les choses à avoir sous la main :
Il faut un disque dur. Malheureusement, il y a sûrement une partition déjà présente dessus, et même si ce n'est pas gênant, il sera plus simple pour la suite si le disque est complettement vide.
Rendez vous dans le gestionnaire de disques logiques :
Pour celà, un simple clic droit sur le poste de travail => Gérer
Puis sélectionnez "Gestion des disques logiques". Voilà ce que vous devez avoir pour le moment :
On va commencer par supprimer la disgracieuse partition
/!\ Attention /!\ Toutes les données vont être effacées du disques, faites des sauvegardes AVANT cette opération. Mais ca devrait déjà être fait, puisque ce disque va disparaitre dans une borne d'arcade pour la bonne cause
.
Pour celà rien de plus simple... Clic droit sur la partition => Supprimer
Voilà le disque dur est prêt.
Autre prérequis, quelques fichiers ma foi fort utiles, puisqu'il s'agit de ce qui va nous permettre de recréer le disque dur dans sa globalité.
Il faut :
- Mame. Ici, vous disposerez de la toute dernière version stable, mais n'importe quel mame devrait suffire
- Ubuntu. Ici aussi vous aurez la dernière version en date. Je sais c'est un poil hardcore comme téléchargement pour une simple restauration de disque dur de télécharger une image de 700Mo, mais c'est une distribution bien concue, qui nous permettra d'éviter certaines erreurs (je voulais tenter avec DSL (Damn Small Linux : 50Mo), mais ne connaissant pas la distribution, je ne savait pas comment repérer "le bon disque dur" au moment de la réécriture... donc par sécurité, je préfère Ubuntu... Toute suggestion quand à une autre distribution, ou autre solution avec DSL est bienvenue, l'essentiel des commandes pour la restauration étant identiques).
- L'image compressée du disque dur que vous voulez récupérer. Ici pas de lien, à vous de la trouver par vous même, pour raisons légales bien entendu.
Etape 1 : Extraction des donnéesNous allons maintenant extraire le RAW du disque dur (les données brutes, telles qu'elles sont écrites sur le disque dur)
Pour celà, il faut extraire mame quelque part (ici je l'avait déjà fait) et mettre le fichier chd dans ce repertoire pour plus de commodités.
Ensuite lancez une ligne de commande. Pour celà cliquez sur démarrer => exécuter => tapez cmd => OK
Rendez vous dans le repertoire où vous avez extrait mame :
X:
cd "\repertoire\de\mame"
où X: correspond au disque où vous l'avez extrait, et \repertoire\de\mame, le repertoire où vous avez extrait mame. Les "" ne sont obligatoires que si il y a des espaces dans le nom du repertoire. Vous pouvez éviter de taper le nom des répertoires en commencant à l'écrire puis en appuant sur tab. Pour faire défiler les différentes possibilités, appuyez plusieurs fois sur tab.
Ensuite on extrait le fichier chd en fichier raw
chdman -extract area51.chd area51.raw
L'opération est plus ou moins longue en fonction de la taille réelle du disque dur (ici, il fait tout de même 1,2Go une fois extrait. La preuve en image
Vous pouvez en déduire qu'il vous faut un disque dur d'au minimum 1,2Go pour remplacer le votre (en tout cas pour Area 51)
Enfin, gravez sur une galette l'image de Ubuntu avec votre logiciel préféré. N'ayant pas besoin de le faire (je travaille sur une machine virtuelle) je vous laisse le soin de le faire de la manière que vous voulez...
La partie Windows du travail est terminée.
Etape 2 : Restauration des donnéesLa partie "la plus dure" du tuto. Redémarrez votre ordinateur avec la galette dedans. Si windows démarre, attendez le chargement complet de la machine puis re-redémarrez la en guettant à l'écran de démarrage la touche qu'il vous faudra appuyer pour entrer dans le "boot menu" (ou allez le régler dans le BIOS). Comme je travaille toujours sur une machine virtuelle, je vous laisse le soin de consulter la documentation de votre carte mère pour arriver à vos fins.
Une fois que vous avez réussi à booter sur le CD, vous devriez avoir cet écran :
Appuyez sur F2 pour changer la langue, sélectionnez le Français (ou autre si vous préférez une autre langue, c'est au choix). La selection de la langue permet aussi de sélectionner le clavier. Si vous avez un clavier AZERTY, il vaut mieux sélectionner "Français" que "English" au risque de se retrouver avec un clavier en QWERTY.
Plus qu'à sélectionner "Démarrer ou installer Ubuntu". Ne vous laissez pas leurer par ce "installer", il est inutile de l'installer pour la manipulation que nous allons effectuer, et Ubuntu peut très bien s'exécuter depuis un CD.
Bref patientez jusqu'au chargement complet de l'ordinateur.
Lancez un terminal
Voici la partie la plus délicate du tuto.
Tout d'abbord, il va faloir repérer quel est le disque dur qu'il faut écrire. Si vous avez bien suivi le tuto jusque là, ca sera simple, sinon, il vous faudra brainstormer, et surtout ne pas faire d'erreur.
Si vous avez bien supprimé toutes les partition de votre disque dur en tout début de tuto, voici un moyen de retrouver votre disque dur. Dans la console, tapez les commandes suivantes
cd /dev
ls hd* sd*
Vous devriez obtenir une liste de xxyz représentant vos disques dur et vos partition, avec :
- xx = hd ou sd (hd semble avoir disparu, mais normalement c'est pour les disques dur IDE, et SD pour les disques SATA/SCSI)
- y = une lettre. Elle représente la position de votre disque. a = 1er disque dur, b 2ème etc etc... Les lettres ne se suivent pas forcément
- z = un nombre représentant une partition sur le disque dur. (1 la 1ère et ainsi de suite). Ici aussi il se peut que les chiffres ne se suivent pas, mais je ne mm'étendrait pas sur le sujet.
C'est la partie verte de l'image qui va suivre.
Le disque qui nous interesse est celui qui n'a pas de partition. Pour le repérer, il suffit de chercher quel est le disque dont le "y" n'apparait qu'une fois. (ici sdb donc). NOTEZ LE BIEN QUELQUE PART POUR NE PAS VOUS TROMPER LORS DE LA RESTAURATION DU DISQUE !!!
Rendez vous ensuite dans le repertoire de mame
cd /media/
ls
ls est l'équivalent de DIR sous dos. Ici on vérifie simplement que Ubuntu a bien "monté" automatiquement tous les disques dur avec des données.
Il devrait y avoir un dossier disk dans le dossier /media/.
/!\ Cette partie est normalement inutile /!\
Elle concerne la partie orange de la dernière image.
Ici ce n'est pas le cas, car ma dernière extinction de Windows n'a pas été faite comme il faut, je vais donc devoir monter la partition "à la main". Normalement vous ne devriez pas avoir besoin de faire ca, mais je le montre quand même au cas où.
On commence par créer un répertoire vide qui va "accueillir" le contenu de notre disque dur. Comme nous sommes dans un répertoire système, il faut lancer la commande en tant qu'administrateur. Pour celà rien de plus simple :sudo mkdir disk
sudo permet de lancer une commande en tant qu'administrateur, et mkdir permet de créer un répertoire. Ici il est nommé disk (c'est le nom qu'aurait dû donner Ubuntu à votre disque dur si tout s'était bien passé).
Ensuite on monte la partition dans le répertoire.sudo mount -t ntfs-3g -o force /dev/sda1 /media/disk
Petite précisions sur la commande :
-t ntfs-3g permet de monter une partition NTFS (ce qui devrait être le cas si vous tournez sous Windows XP, si vous avez une partition FAT, remplacez ntfs-3g par vfat, l'option -o force est peut être inutile dans ce cas)
-o force permet de monter la partition malgré le fait que Windows ait marqué qu'il ne s'est pas éteint comme il faut la dernière fois.
/dev/sda1 est la partition à monter. /!\ Attention /!\ on monte une partition, pas un disque dur... n'oubliez pas le 1 (ou autre chiffre) après le sda (c'est la même partition que vue au dessus)
/media/disk est le répertoire de montage.
Si vous avez plusieurs disques dur/partition, il vous faut créer un repertoire par partition à monter.
/!\ Fin de la parenthèse normalement inutile /!\Poursuivez par un
cd disk/repertoire/de/mame/comme/sous/windows
#ou bien cd disk-1 si ce n'est pas le bon disque dur,
#enfin bon, le but est de retrouver le repertoire du fichier raw
Comme pour Windows, vous pouvez appuyer sur TAB pour completter automatiquement les noms des répertoires, à la différence près que si 2 répertoires ont la même racide, il ne complettera que jusqu'aux caractères identiques. Un deuxième appui sur TAB vous affichera les complétions possibles. Tapez une lettre de plus et réappuyez sur TAB pour arriver à vos fins.
Dernière étape : la restauration du disque dur en lui même. Une simple commande pour terminer avec ce cauchemard de commandes à taper :
sudo dd if=area51.raw of=/dev/sdb
avec area51.raw le fichier RAW que vous aviez extrait au préallable sous Windows, et /dev/sdb le disque dur physique que vous voulez restaurer. C'est là qu'il ne faut pas se tromper. Si vous écrivez /dev/sda au lieu de /dev/sdb, bonjours les dégats...
Une fois terminé, vous aurez 2-3 statistiques concernant le nombre d'octets lus et écrits et la vitesse moyenne de restauration. Il ne vous reste plus qu'à éteindre votre ordinateur et brancher votre disque dur dans votre borne d'arcade. Pour faire les malins, nous allons même éteindre l'ordinateur en passant par la ligne de commande :
sudo halt
#sudo reboot si vous préférez redémarrer l'ordinateur
Bon si vous préférez, vous pouvez aussi éteindre en cliquant sur le petit bonhomme vert en haut à droite
Avant de s'éteindre complettement, votre lecteur CD devrait s'ouvrir, sortez le CD de Ubuntu, puis appuyez sur entrée pour éteindre/redémarrer l'ordinateur.
Remarques et remerciements :Une petite remarque dont je viens de me rendre compte à l'instant : OUI j'ai fais une faute de frappe à "Fichiers à récupérer"
Toutes les commandes sous linux doivent être tapées en minuscules... la commande dd existe, la commande DD n'existe pas
Remerciement à l'équipe Gamoover, aux rédacteurs qui vont corriger ce tuto qui doit être rempli de fautes (je suis pas doué en orthographe
), à pitufo et theelbarto pour m'avoir aidé avec Linux, à la comunauté des logiciels libres, à la mameteam, bref à tous ceux sans qui l'arcade ne se passerait que dans les bars/salles de jeu.
Remerciement aussi à l'équipe de VMWare grâce à qui j'ai pu réaliser tous les screenshots de ce tuto.
A la prochaine pour un nouveau tuto
EDIT pour high_cobra : Mes photos font moins de 690px, ce n'est pas ca qui met la scroll bar horizontale en bas