Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ Mac OS X / OS X _ Booter un volume OSX dans une Machine Virtuelle

Écrit par : Gwinglanv 2 May 2021, 15:23

Bonjour à tous.

Après recherche infructueuse, je me résous à poster un nouveau sujet quant au problème qui se pose à moi (j'espère être dans la bonne catégorie, ça n'a pas été facile de choisir) :

J'ai un MacBook Pro 13" début 2015 sous Mojave, dont j'ai partitionné le SSD pour en faire un triple boot :
Mojave
Catalina
Windows 10.

En effet, pour des raisons de compatibilité logiciel, j'y ai été contraint : j'utilise des programmes qui ne tournent pas au-delà de Mojave, un autre qui ne tourne qu'à partir de Catalina, et un dernier programme qui ne tourne que sous Windows…Tous me sont essentiels, malheureusement.
J'ai partitionné avec BootCamp et installé Windows 10. Sous OSX, j'ai créé un nouveau volume APFS et installé Catalina. Tout ce petit montage se porte à merveille.

Maintenant, je suis fatigué de devoir éteindre et rebooter à chaque fois que je veut utiliser tel ou tel logiciel, d'autant que je ne le fais que pour 1 seul à la fois… dry.gif

J'ai à ma disposition VirtualMachine, et WMware Fusion. J'ai réussi à créer une Machine Virtuelle (VM) pour la partition "BootCamp", qui se lance sans souci (quelques problèmes de résolution d'écran, mais ça passe).

Maintenant, j'aimerais pourvoir lancer une VM contenant mon volume Catalina ; c'est à dire, quand j'ai lancé l'ordi, qu'il tourne sous Mojave, pouvoir utiliser (indifférement) VirtualMachine ou WMware Fusion pour lancer en parallèle la "partition" Catalina et ainsi utiliser LE logiciel dont j'ai besoin sans quitter ma session Mojave.

J'ai lu un peu partout que cela pouvait se faire, qu'il suffisait de créer un .vdmk lié à la partition souhaitée, et le tour est joué… Sensément !

Seulement, je n'y arrive point… sad.gif
Est-ce qu'une bonne âme charitable s'y connaît suffisamment pour m'aiguiller ?

Merci beaucoup ! smile.gif

Écrit par : Mac Arthur 3 May 2021, 01:57

Il faut lancer VMWare ET installer l'OS en question à partir d'une image disque ou d'un iso.
Où est-ce que ça coince?
Pour info j'ai toutes les versions OSX qui tournent sous VM depuis mon volume de boot Big Sur.
Voir fin de post ici:
https://forum.macbidouille.com/index.php?showtopic=414075

Écrit par : Gwinglanv 3 May 2021, 09:47

Alors, oui, je sais que c'est faisable, mais ici je parle d'une manipulation légèrement différente :
booter un volume péalablement installé ; c'est à dire que je veux pouvoir me passer du logiciel de virtualisation (quel qu'il soit) si un jour il ne fonctionne plus, et pouvoir booter normalement mon disque en redémarrant l'ordinateur. La solution 100% virtuel ne me séduit pas… huh.gif

Regarde : d'après ce tuto, c'est faisable (1er paragraphe). https://www.commentcamarche.net/faq/45413-virtualisation-d-un-systeme-preinstalle-sur-partition
Le truc, c'est que c'est un tuto pour Windows ; c'est ce que j'ai trouvé de plus approchant, je n'arrive pas à trouver l'équivalent pour Mac…
Maintenant, vu que c'est essentiellement de la manipulation "Terminal" et VirtualBox, je me dis que je devrais arriver à passer au travers quand-même…
En gros, je crois avoir réussi à modifier les permissions chmod (en sudo), puisque j'ai trouvé la ligne de commande qui ne m'a pas renvoyé de message d'erreur,
mais je suis bloqué au 3e point, et je n'ose pas trop essayer d'aller plus loin : ça me paraît très windowsien…
Mais la manip doit bien exister pour Mac… huh.gif

Écrit par : Mac Arthur 3 May 2021, 13:55

Non je ne suis pas allé jusque là parce qu'avec mon Hack je peux déjà booter sous Mojave Catalina et big Sur, en natif bien sûr.
Le précédent descendait jusqu'à Sierra mais ma carte graphique ne me le permet plus.
Donc, compte-tenu du nombre d'acrobaties que je me suis déjà autorisé, je n'ai pas essayé...

Écrit par : Krazubu 4 May 2021, 09:11

- Tu lances VMWare et tu crées normalement une machine virtuelle pour un macOS qui correspond à ta version, avec un disque virtuel, peu importe la taille, il sera supprimé ensuite, par contre tu notes son nom.
- Tu lances le terminal et tu utilises la commande suivante : /Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator
qui se décompose comme suit :

vmware-rawdiskCreator create <diskDev> <partNums> <virtDiskPath> <adapterType>

Le détail est donné quand tu tapes la commande seule dans le terminal.

Par exemple, pour moi :
/Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/disk0 "1,3" /Users/krazubu/Documents/Virtual\ Machines.localized/macOS 10.15.vmwarevm/macOS10.15 "ide"

Ca crée un lecteur virtuel nommé "macOS10.15" dans le dossier de la VM "macOS 10.15.vmwarevm", qui contient les partitions 1 (EFI) et 3 (mac OS), du disque 0 en émulant un contrôleur ide

- Ensuite tu vas dans le dossier de ta VM, dans mon exemple "/Users/krazubu/Documents/Virtual\ Machines.localized/macOS 10.15.vmwarevm" tu fais un click droit et "afficher le contenu du paquet".
- tu supprimes le fichier vmdk d'origine et tu renommes celui que tu as créé pour qu'il ait le même nom.

Normalement c'est bon ton fichier vmdk s'est substitué à l'original et tu peux maintenant booter ton OSX.

Remarques :
- J'ai un petit doute sur le type de contrôleur, je ne me souviens plus exactement si certains fonctionnent mieux que d'autres avec OSX.
Si tu es bloqué sur la pomme et que ça se termine par un rond barré, tu essayes avec "lsilogic" ou "buslogic" comme type de contrôleur.
- J'ai un autre doute sur le fait qu'il soit nécessaire ou non d'inclure la partition efi dans ton disque virtuel.
Dans mon exemple elle est présente (partition 1), mais peut-être que VMWare va chercher directement le fichier de boot sur la partition de macOS, dans ce cas tu mets uniquement la partition de l'OS.
Si ça ne semble pas commencer le boot (pas de pomme), il faut voir de ce côté.

Écrit par : Gwinglanv 4 May 2021, 18:41

Merci de ta réponse, j'ai l'impression qu'on est sur la bonne voie. wink.gif
J'essaie, par contre, je n'arrive pas à créer le lecteur virtuel à partir du terminal… huh.gif
J'ai essayé plusieurs combinaisons, comme suit… :

CODE
MacBook-Pro-de-Yoann:~ yoann$ /Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/disk0 "1,2" /Users/yoann/Documents/Virtual\ Machines.localized/macOS 10.15.vmwarevm/macOS10.15 "ide"
Unable to copy the source files to the destination files.
MacBook-Pro-de-Yoann:~ yoann$ /Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/disk0 "2" /Users/yoann/Documents/Virtual\ Machines.localized/macOS 10.15.vmwarevm/macOS10.15 "ide"
Unable to copy the source files to the destination files.
MacBook-Pro-de-Yoann:~ yoann$ /Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/disk1 "2" /Users/yoann/Documents/Virtual\ Machines.localized/macOS 10.15.vmwarevm/macOS10.15 "ide"
Unable to open "/dev/disk1": 1
Unable to determine partition start sector(s).
MacBook-Pro-de-Yoann:~ yoann$ /Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/disk1 "1,2" /Users/yoann/Documents/Virtual\ Machines.localized/macOS 10.15.vmwarevm/macOS10.15 "ide"
Unable to open "/dev/disk1": 1
Unable to determine partition start sector(s).
MacBook-Pro-de-Yoann:~ yoann$ /Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/disk1s2 /Users/yoann/Documents/Virtual\ Machines.localized/macOS 10.15.vmwarevm/macOS10.15 "ide"
Usage:

vmware-rawdiskCreator print <diskDev>
Print the partition table of a physical disk.

vmware-rawdiskCreator hasBootCamp <diskDev>
Check if a physical disk has an Apple Boot Camp partition
(exit code is 0) or not (exit code is non-0).

vmware-rawdiskCreator hasRecovery <diskDev> <outputFilePath>
Check if a physical disk has an Apple Recovery partition
(exit code is 0) or not (exit code is non-0). The starting byte offset,
size in bytes, and system version of each recovery partition is
written to <outputFilePath>.

vmware-rawdiskCreator copyRecovery <diskDev> <startByteOffset> <virtDiskPath>
Copies the recovery partion starting at the specified byte offset into
the virtual disk. The destination disk must be preconfigured with a
recovery partition of the same size.

vmware-rawdiskCreator create <diskDev> <partNums> <virtDiskPath> <adapterType>
Create a VMware virtual disk backed by partitions of a physical disk.


<diskDev> is a disk device, e.g. "/dev/disk0".

<partNums> is a comma-separated list of partition numbers as printed by
the "print" command, e.g. "1" or "2,3". "0" is special and means
"all Apple Boot Camp partitions" (with NTFS or FAT32 file systems).
Alternatively, "fullDevice" can be specified instead of partition numbers
to create a virtual disk backed by <diskDev>, not individual partitions.

<virtDiskPath> is the path of the virtual disk description file to
create, e.g. "~/Virtual Machines/My VM/My Raw Disk". Two files will
be created: "<virtDiskPath>.vmdk" and "<virtDiskPath>-pt.vmdk".

<adapterType> is the virtual disk type. It must be one of "ide",
"buslogic", or "lsilogic".


…avec bien peu d'effet, comme tu peux le constater sad.gif Je les ai même essayé en sudo, rien n'y fait !
Pourtant, d'après le nom des volumes, je devrais avoir un résultat, non ? (Tu peux les consulter https://www.dropbox.com/s/3pdkbbzmmqmm6en/Diskutility.png?dl=0)

Écrit par : Krazubu 4 May 2021, 19:14

Je n'avais pas envisagé l'idée que tu pouvais être dans un container APFS, du coup ça complique un peu les choses.
Il y a besoin de mettre la partition EFI pour charger le container + le volume Catalina (lui-même dans le container APFS), et ça n'est pas possible puisque ce container contient également ton volume "macintosh HD" sur lequel se trouve ton OS actuel, or il n'est pas possible de garder une partie du container montée sur l'hôte et l'autre dans la VM.
Je pense que si tu veux pouvoir faire ça il faut que tu déplace ta partition catalina hors du container pour la mettre à la racine du disque.
Concrètement ton disque physique est disk0 et ton container est disk1, il faut que ton volume Catalina soit lui aussi sur disk0 (comme Windows), là tu pourras le charger dans VMWare.

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)