Apple

virtualbox.org • View topic – Comment utiliser une partition de démarrage MacOS en tant qu'invité de VirtualBox

Par Maximus , le 7 juin 2019 - 11 minutes de lecture

Comment utiliser une partition MacOS Bootcamp en tant que machine virtuelle invitée VirtualBox

Contexte:

Lorsque j'ai eu mon Mac Intel à l'été 2008, j'ai décidé de pouvoir enfin me débarrasser de mon PC Gateway équipé de Windows ME. Étant donné que le Mac Intel me permettait d’exécuter Windows via Bootcamp, j’étais capable de l’utiliser pour exécuter la version Windows de Quicken, car la version Mac de Quicken n’était pas très bonne. Cela a bien fonctionné pendant quelques mois jusqu'à ce que je sois fatigué de devoir redémarrer le Mac pour exécuter Windows via Bootcamp. J'ai commencé à regarder VMWare Fusion et Parallels comme solution. Puis j'ai entendu parler de VirtualBox. Comme c'était OpenSource (et gratuit), j'ai décidé de l'essayer. Mais j'ai été déçu lorsque j'ai essayé de configurer ma partition Windows Bootcamp existante en tant que machine virtuelle VirtualBox. Cela ne fonctionnait pas et les instructions du manuel étaient assez compliquées et impliquaient de se plonger dans la CLI du Mac, car l'interface graphique de la VBox ne vous permettait pas (et ne permet toujours pas) d'effectuer cette configuration. Il existe de nombreux sujets de discussion sur ce sujet, auxquels j'ai contribué pour la plupart. Enfin, au printemps 2011, j'ai enfin pu configurer une machine virtuelle Windows 7 Guest à partir d'une partition Bootcamp sur mon MacBook Pro. Je n'ai jamais pu faire fonctionner un invité basé sur Windows XP Bootcamp sur mon iMac et je l'ai finalement abandonné.

Le problème:

Il y a environ un mois, j'ai mis à jour mes deux Mac pour exécuter la nouvelle version de MacOS, Lion. Lorsque j'ai essayé d'installer Windows 7 via VirtualBox sur mon MacBook Pro, cela a lamentablement échoué. La partition de bootcamp avait été configurée à l'origine en tant que partition 3 sur mon disque dur sous Snow Leopard. Après enquête, j’ai trouvé que lors de l’installation de Lion, le partitionnement du disque dur avait été mélangé et que la partition 3 était maintenant la partition de récupération MacOS et que la partition de bootcamp avait été déplacée vers la partition 4. Vous trouverez ci-dessous une vue des partitions du disque dur. Commande CLI vboxmanage:
———————–
JBs-MacBook: BC7 Jim $ sudo vboxmanage internalcommands listpartitions -rawdisk / dev / disk0
Numéro Type DébutCHS FinCHS Taille (MiB) Début (Sect)
1 0xee 1023/254/63 1023/254/63 200 1
2 0xaf 1023/254/63 1023/254/63 274167 409640
3 0xab 1023/254/63 1023/254/63 619 561903832
4 0x07 1023/254/63 1023/254/63 30258 563173376
————————
La solution:

Après avoir téléchargé et installé la version 4.1.6 Mac OS de VirtualBox et Extension Pack (j'avais déjà eu des problèmes avec la version 4.1.8 auparavant et la version 4.1.10 n'était pas encore disponible), j'ai essayé d'utiliser la commande vboxmanage createrawvmdk pour régénérer la description du disque vmdk et les fichiers MBR, mais a constaté que je n'avais généré que le fichier de description du disque et non le MBR. Après avoir ajouté une publication au forum VirtualBox sur les hôtes Mac OS X, l’un des modérateurs du site (mpack) m’a montré l’erreur de mon sens et que je n’avais pas appelé la commande createrawvmdk avec l’argument -partitions nécessaire pour générer le MBR. fichier. Après avoir relu «Accès à des partitions de disque dur physiques individuelles» (paragraphe 9.8.1.2) dans le manuel d'utilisation de VirtualBox, j'ai été en mesure de configurer la ligne de commande appropriée, comme suit:

————————
JBs-MacBook: BC7 Jim $ sudo vboxmanage internalcommands createrawvmdk -rawdisk / dev / disk0 -filename BC7.vmdk -partitions 4
Fichier VMDK d'accès au disque hôte RAW BC7.vmdk créé avec succès.
————————
J'ai ensuite défini un accès ouvert à ces deux fichiers et vidé le contenu du fichier BC7-pt.vmdk (i.e. MBR):
————————
JBs-MacBook: BC7 Jim $ sudo chmod 777 BC7 *
JBs-MacBook: BC7 Jim $ ls -l
total 16
-rwxrwxrwx 1 racine Jim 512 13 mars 13:40 BC7-pt.vmdk
-rwxrwxrwx 1 racine Jim 638 13 mars 13:40 avant JC7.vmdk

JBs-MacBook: BC7 Jim $ hexdump BC7-pt.vmdk
0000000 33 c0 8e d0 bc 00 7c fb 50 07 50 1f fc soit 1b 7c
<< >>
00001c0 ff ff ee fe ff ff 01 00 00 00 27 40 06 00 00 fe Partition 1 Type 0xEE = Legacy MBR
00001d0 ff ff un F fe ff ff 28 40 06 00 d8 a0 2c 19 00 fe Partition 2 Type 0xAF = Mac OS X HFS
00001e0 ff ff un B fe ff ff 00 e1 32 19 28 5f 13 00 80 fe Partition 3 Type 0xAB = Démarrage Mac OS X
00001f0 ff ff 07 fe ff ff 28 40 46 19 20 19 d6 03 55 aa Partition 4 Type 0x07 = Windows NT NTFS
JBs-MacBook: BC7 Jim $ sudo chmod 777 / dev / disk0s4
JBs-MacBook: BC7 Jim $
————————
Notez la table de partition MBR commençant à l'adresse hexadécimale 00001c0. Le 3ème caractère hexadécimal de chaque entrée de la table de partition de 16 octets est le type de partition. J'ai développé le type de partition à droite de la sortie hexdump.

À ce stade, je suis retourné à l'interface graphique et configuré ma machine virtuelle comme suit:

1. Sélectionnez Nouveau et configurez le nom de la machine virtuelle en tant que BC7.
2. Système d'exploitation sous Windows et version sous Windows 7, car il s'agit d'une version 32 bits de Windows 7. Pour une version 64 bits, sélectionnez Windows 7 (64 bits).
3. 1024 Mo de mémoire sélectionnés. Mon Mac a 4 Go donc ça marche à peu près.
4. Dans la fenêtre Disque dur virtuel, je vérifie le disque de démarrage et sélectionnez Utiliser un disque dur existant. J'ai cliqué sur le symbole en forme de flèche sur le côté droit et mis le chemin du fichier BC7.vmdk généré ci-dessus.
5. Passez en revue la fenêtre de résumé et cliquez sur Créer. Une nouvelle machine virtuelle nommée BC7 apparaîtra sur le côté gauche de la fenêtre de VirtualBox et sera dans l'état de Powered Off.
6. Sélectionnez cette nouvelle machine virtuelle, puis accédez à Paramètres. Passez en revue chaque catégorie de paramètres et utilisez les valeurs par défaut, sauf indication contraire.
7. Sous Stockage, vous verrez que l'arborescence de stockage indique que vous avez 2 contrôleurs. Un contrôleur IDE avec un lecteur de CD / DVD avec un disque vide et un contrôleur SATA avec le disque virtuel BC7 dessous. Nous devons nous débarrasser du contrôleur SATA et configurer le contrôleur IDE de sorte que le disque virtuel BC7 et le lecteur de CD / DVD soient tous deux contrôlés par celui-ci:
a) Sélectionnez le lecteur de CD / DVD vide et cliquez sur le bouton de suppression de la pièce jointe en dessous (celui avec un signe moins orange, le deuxième en partant de la gauche).
b) Sélectionnez le contrôleur SATA et cliquez sur le bouton Supprimer le contrôleur situé en dessous (celui avec le signe moins orange, à l'extrême droite). Cela supprimera également le disque virtuel BC7, mais nous le rajouterons à l'étape suivante.
c) Sélectionnez le contrôleur IDE et cliquez sur le bouton Ajouter un disque dur à l'extrême droite de la ligne du contrôleur IDE. Cela fera apparaître une boîte de dialogue dans laquelle vous pouvez maintenant sélectionner à nouveau le chemin du disque virtuel BC7, après avoir cliqué sur choisir un disque existant.
d) Sélectionnez à nouveau le contrôleur IDE, puis cliquez sur le bouton Ajouter un CD / DVD situé à gauche du bouton Ajouter un disque dur. Cliquez sur le bouton Laisser vide dans la boîte de dialogue suivante.
e) Sous Attributs, changez le type en ICH6.
8. Terminez la configuration de la machine virtuelle avec les ports réseau et USB selon les besoins. Configurez également un dossier partagé pour pouvoir transférer des fichiers entre Windows et Mac OS. Lorsque Windows est activé, vous pouvez attribuer une lettre de lecteur à ce dossier partagé pour un accès facile. Puis cliquez sur OK.

Avant d'essayer de démarrer une machine virtuelle Bootcamp, l'accès ouvert aux partitions Bootcamp doit être défini. Le fichier spécial de périphérique doit être défini et, si la partition Bootcamp est montée sur l'appel en direct de Mac OS, elle doit être démontée. S'agissant de tâches répétitives, il est préférable de les exécuter avec un script. Vous trouverez ci-dessous une capture d'écran d'un fichier compile script compilé qui effectuera ces tâches et démarrera la machine virtuelle:

Capture d'écran 2012-03-24 à 13:38:51 PM.jpg
Capture d'écran 2012-03-24 à 13:38:51 PM.jpg (52,46 Ko) Vu 33524 fois

Revisitez la machine virtuelle Windows XP Bootcamp:

Depuis que ma machine virtuelle Bootcamp Windows 7 est exécutée avec VirtualBox, j'ai décidé de donner une autre chance à Windows XP. J'ai donc installé VirtualBox 4.1.6 sur mon iMac. J'ai ensuite affiché la table de partition et généré la description de vmdk et les fichiers MBR. Après cela, j'ai défini l'accès ouvert à ces fichiers, puis j'ai utilisé hexdump pour afficher le contenu de la table de partition dans le fichier MBR généré:
————————
JBs-iMac: BCXP Jim $ sudo vboxmanage internalcommands listpartitions -rawdisk / dev / disk0
Numéro Type DébutCHS FinCHS Taille (MiB) Début (Sect)
1 0xee 1023/254/63 1023/254/63 200 1
2 0xaf 1023/254/63 1023/254/63 206228 409640
3 0xab 1023/254/63 1023/254/63 619 422764800
4 0x0c 1023/254/63 1023/254/63 31427 424034344
JBs-iMac: BCXP Jim $ sudo vboxmanage internalcommands createrawvmdk -rawdisk / dev / disk0 -filename BCXP.vmdk -partitions 4
Fichier VMDK d'accès au disque de l'hôte RAW créé par BCXP.vmdk avec succès.
JBs-iMac: BCXP Jim $ sudo chmod 777 BCXP *
JBs-iMac: BCXP Jim $ ls -l
total 16
-rwxrwxrwx 1 racine Jim 512 13 mars 14:02 BCXP-pt.vmdk
-rwxrwxrwx 1 racine Jim 638 13 mars 14:02 BCXP.vmdk

JBs-iMac: BCXP Jim $ hexdump BCXP-pt.vmdk
0000000 33 c0 8e d0 bc 00 7c fb 50 07 50 1f fc soit 1b 7c
<< >>
00001c0 ff ff ee fe ff ff 01 00 00 00 27 40 06 00 00 fe Partition 1 Type 0xEE = Legacy MBR
00001d0 ff ff un F fe ff ff 28 40 06 00 d8 a0 2c 19 00 fe Partition 2 Type 0xAF = Mac OS X HFS
00001e0 ff ff un B fe ff ff 00 e1 32 19 28 5f 13 00 80 fe Partition 3 Type 0xAB = Démarrage Mac OS X
00001f0 ff ff 0c fe ff ff 28 40 46 19 20 19 d6 03 55 aa Partition 4 Type 0x0C = Win95 FAT32
JBs-iMac: BCXP Jim $
————————

J'ai suivi l'exercice décrit ci-dessus consistant à utiliser l'interface graphique pour configurer la machine virtuelle. Mais quand j'ai essayé de le démarrer, ça ne commencerait pas. Cela me laissa un moment perplexe, puis je relisi quelques-uns des messages associés à la configuration de machines virtuelles Bootcamp. J'ai trouvé des références à la définition du champ de type de partition dans chacune des entrées de la table de partition MBR, à l'exception de celle décrivant la partition Bootcamp, en un type inutilisé (par exemple, 0x2d). Je l'ai fait à l'aide de la commande CLI dd puis j'ai affiché le contenu de la table de partition MBR avec la commande hexdump encore une fois ci-dessous:

————————
JBs-iMac: BCXP Jim $ echo -fr " x2d" | dd of = BCXP-pt.vmdk bs = 1 compte = 1 recherche = 0x1c2 conv = notrunc
1 + 0 enregistrements dans
1 + 0 enregistre
1 octet transféré en 0.000020 sec (49932 octets / sec)
JBs-iMac: BCXP Jim $ echo -fr " x2d" | dd of = BCXP-pt.vmdk bs = 1 compte = 1 recherche = 0x1d2 conv = notrunc
1 + 0 enregistrements dans
1 + 0 enregistre
1 octet transféré en 0,000021 seconde (47663 octets / s)
JBs-iMac: BCXP Jim $ echo -fr " x2d" | dd of = BCXP-pt.vmdk bs = 1 compte = 1 recherche = 0x1e2 conv = notrunc
1 + 0 enregistrements dans
1 + 0 enregistre
1 octet transféré en 0.000020 sec (49932 octets / sec)
JBs-iMac: BCXP Jim $ hexdump BCXP-pt.vmdk
0000000 33 c0 8e d0 bc 00 7c fb 50 07 50 1f fc soit 1b 7c
<< >>
00001c0 ff ff 2d fe ff ff 01 00 00 00 27 40 06 00 00 fe Partition 1 Type 2D = Inutilisé
00001d0 ff ff 2d fe ff ff 28 40 06 00 d8 a0 2c 19 00 fe Partition 2 Type 2D = Non utilisé
00001e0 ff ff 2d fe ff ff 00 e1 32 19 28 5f 13 00 80 fe Partition 3 Type 2D = Inutilisé
00001f0 ff ff 0c fe ff ff 28 40 46 19 20 19 d6 03 55 aa Partition 4 Type 0C = Win95 FAT32
JBs-iMac: BCXP Jim $ sudo chmod 777 / dev / disk0s4
JBs-iMac: BCXP Jim $
————————

Après avoir corrigé la table de partition et redémarré la machine virtuelle, tout a bien fonctionné.

Click to rate this post!
[Total: 0 Average: 0]

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.