Démarrer VirtualBox à partir d’un disque dur externe
Problématique du jour
Une amie crame son vieux PC portable, elle en achète un tout neuf, mais tout vierge. Le but est donc de récupérer les données de son compte, et de les transférer sur le nouveau. Avec Windows 7, Microsoft a mis en place le « Transfert de fichiers et paramètres Windows » qui permet de faire ça bien, en conservant l’ensemble des mots de passe et des configurations diverses. J’ai donc un PC portable HS sur lequel je veux exécuter ce logiciel. Sauf que oh joie, le disque refuse de lancer Windows sur d’autres machines.
VirtualBox
Pour ceux qui ne savent pas, VirtualBox est un logiciel gratuit qui permet d’émuler un nouvel ordinateur à partir d’une autre machine (en gros, de faire tourner Windows sur Linux ou vice-versa). L’idée est donc de partir d’un ordinateur vierge et suffisamment configurable pour arriver à démarrer sur le disque dur de l’ancien PC.
Méthode
A première vue, VirtualBox ne permet pas de reconnaître un disque dur externe comme un disque natif qui permettrait le démarrage. En regardant de plus près, la doc nous indique que c’est faisable en ligne de commande.
Sur Mac
Lancer un terminal et coller la ligne suivante (en ayant pris soin de remplacer ‘nomUtilisateur‘ par le nom du compte Mac OSX)
VBoxManage internalcommands createrawvmdk -filename /Users/nomUtilisateur/Library/VirtualBox/HardDisks/DisqueUsb.vmdk -rawdisk /dev/disk1 -register
Sur Linux
Il faut d’abord retrouver la référence du disque. La liste s’obtient avec sudo fdisk -l Ensuite, la commande sera à peu près équivalente que sur celle executée sur Mac (remplacer /dev/sdaN par le numéro du disque obtenue, et cheminVersLeFichierUSBSouhaite par le chemin vers le fichier USB à créer) :
VBoxManage internalcommands createrawvmdk -filename cheminVersLeFichierUSBSouhaite -rawdisk /dev/sdaN -register
Sous Windows
Une fois encore, il faudra remplacer nomUtilisateur par le nom de votre compte sur la machine :
VBoxManage internalcommands createrawvmdk -filename "C:/Documents and Settings/nomUtilisateur/.VirtualBox/HardDisks/DisqueUsb.vmdk" -rawdisk \.PhysicalDrive1 -register
Lancement
Une fois le disque USB mis en place, il suffira de créer une nouvelle machine et de l’attacher en tant que disque principal. Les réglages de la machine virtuelle peuvent varier en fonction de la machine d’origine sur laquelle le disque était sensé tourner à la base.
Attention Windows vous demandera certainement une réactivation de la copie car la machine virtuelle sera forcément très différente de la machine originale.
J’ai essayé de suivre cette procédure sur Windows 8.1 pour un disque dur exter, mais voici l’erreur qui m’est renvoyée:
VBoxManage n’est pas reconnu en tant que une commande interne