Ceci est une ancienne révision du document !
Démarrer un système physique sous VirtualBox
Il peut être utile de démarrer un système déjà installé physiquement sous VirtualBox. Les deux parties de cette doc sont issues du forum : [HowTo] Démarrer un Windows installé physiquement dans VirtualBox et Démarrer un Linux installé physiquement dans VirtualBox. Vous pouvez donc y exposer les problèmes que vous rencontrez.
L'idée, comme VirtualBox ne peut pas utiliser un disque physique directement, est de créer un petit fichier "redirigeant" vers votre disque. On utilisera pour cela l'utilitaire VBoxManage.
Utiliser un système Linux
C'est la partie la plus simple, cet OS n'est pas très récalcitrant :)
- Le système hôte est Ubuntu (et pourrait être n'importe quelle distribution avec Virtualbox fonctionnel
- Le système invité est Fedora, installé sur le disque interne, partition
/dev/sda4
Mapping du disque dur
Détermination de la partition à utiliser
Il faudra indiquer à VirtualBox les partitions du disque auxquelles il peut avoir accès (et pas plus, pour ne par entrer en conflit avec le système hôte !). \\On pourra utiliser GParted ou tout autre outil pour repérer les identifiants sous la forme /dev/sdXY
des partitions concernées.
Paramétrage des autorisations de votre utilisateur
Pour pouvoir utiliser VBoxManage et le fichier qu'il génère, il est nécessaire d'ajouter son compte utilisateur au groupe disk
. Rien de très compliqué la dedans, voici deux solutions :
- Soit en allant dans Système » Administration » Utilisateurs et groupes ; cliquer sur le bouton Gérer les groupes ; rechercher le groupe
disk
; et le modifier en cochant l'identifiant de sa session dans la liste.
- En ligne de commande :
sudo usermod -G disk -a $USER
Attention, pour que le changement soit pris en compte, il faut redémarrer sa session.
Création du fichier de mappage du disque
On utilisera la ligne de commande :
- On se déplace dans le dossier où le fichier sera créé :
cd ~/.VirtualBox
- On "mappe" le disque : (à adapter selon la situation)
VBoxManage internalcommands createrawvmdk -filename Fedora.vmdk -rawdisk /dev/sda -partitions 4 -relative
Ceci ne fait que créer le fichier Fedora.vmdk (de quelques Ko), et ne touche absolument pas au disque.
Configuration du gestionnaire de démarrage
VirtualBox n'a accès qu'à la partition contenant le système invité… Et donc pas au chargeur de démarrage ! Il faut donc en créer un. Pour résoudre ce problème, on va créer une image iso bootable de Grub. Il est pour le moment difficile de le faire pour Grub2, on le fera donc pour Grub1.
Gestionnaire de démarrage : Grub1
a) On va commencer par créer un répertoire de travail et copier les fichiers nécessaires. Dans un Terminal, saisir les commandes suivantes :
# création d'un dossier de travail mkdir ~/travail cd ~/travail/
# création de l'arborescence mkdir -p iso/boot/grub
# copie des fichiers nécessaires cp /usr/lib/grub/*-pc/stage2_eltorito /boot/grub/menu.lst iso/boot/grub
Ne pas fermer le Terminal tout de suite.
b) Maintenant que nous avons récupéré la configuration de Grub, il va falloir la modifier. En effet, les instructions qui permettent de faire démarrer Ubuntu ne seront pas nécessaires ici.
Pour éditer la configuration, un simple éditeur de texte fera l'affaire. Il faut ouvrir le fichier menu.lst contenu dans le répertoire ~/travail/iso/boot/grub/.
À la fin du fichier, il devrait y avoir quelque chose de semblable :
title Ubuntu 9.10, kernel 2.6.31-17-generic uuid bec46f24-aa91-4a42-a1e6-f34da429dfd6 kernel /boot/vmlinuz-2.6.31-17-generic root=UUID=bec46f24-aa91-4a42-a1e6-f34da429dfd6 ro vga=791 initrd /boot/initrd.img-2.6.31-17-generic
title Ubuntu 9.10, kernel 2.6.31-17-generic (recovery) lock uuid bec46f24-aa91-4a42-a1e6-f34da429dfd6 kernel /boot/vmlinuz-2.6.31-17-generic root=UUID=bec46f24-aa91-4a42-a1e6-f34da429dfd6 ro single vga=791 initrd /boot/initrd.img-2.6.31-17-generic
title Fedora 12, kernel 2.6.30-17-generic uuid fgh4524-gslo-gskf-hgth-f34da42gdbki kernel /boot/vmlinuz-2.6.30-17-generic root=UUID=fgh4524-gslo-gskf-hgth-f34da42gdbki ro vga=791 initrd /boot/initrd.img-2.6.30-17-generic
title Fedora 12, kernel 2.6.30-17-generic (recovery) lock uuid fgh4524-gslo-gskf-hgth-f34da42gdbki kernel /boot/vmlinuz-2.6.30-17-generic root=UUID=fgh4524-gslo-gskf-hgth-f34da42gdbki ro single vga=791 initrd /boot/initrd.img-2.6.30-17-generic
Il faut supprimer tous les blocs de texte faisant référence à Ubuntu, seul les blocs de texte qui parle de Fedora nous intéressent et doivent donc rester intact. Cependant, si en dessous des « title Fedora 12 », il y a l'option « savedefault », il faut impérativement la supprimer.
c) Maintenant que notre Grub est configuré correctement, on va pouvoir créer l'image iso bootable :
# création de l'image iso mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o grub.iso iso
# déplacement de l'iso dans le répertoire de VirtualBox mv grub.iso ~/.VirtualBox/
# suppression du répertoire de travail cd ; rm -rv ~/travail/
L'image créée se nomme grub.iso et se trouve maintenant dans le dossier caché de VirtualBox. Cette dernière fait à peine 500 ko tongue.
Gestionnaire de démarrage : Grub2
Étant donné que Grub2 n'a rien à voir avec Grub1, la procédure précédente ne fonctionne pas. Cependant, le tutoriel n'en dit pas plus pour le moment…
Entre temps, j'ai trouvé ceci : http://ubuntuforums.org/showthread.php? … ost9232654
La commande proposée (grub-mkrescue --output=~/.VirtualBox/rescue.iso /boot/grub) fabrique bien une image iso bootable avec la bonne configuration. Cependant, le démarrage n'est pas automatique, il faut taper configfile /grub.cfg pour lancer le système.
J'ai pas trouvé comment lui dire de charger ce fichier automatiquement.
Voir l'explication de Vaderflien.png.