web-dev-qa-db-fra.com

Comment utiliser une vraie partition avec Windows 7 installé, dans une virtualbox vm?

Mon Ubuntu 12.04 est installé sur /dev/sda5 et Windows 7 sur /dev/sda1. Lorsque j'exécute Ubuntu, j'aimerais utiliser Virtualbox pour exécuter Windows 7 sur un ordinateur virtuel. La partition Windows 7 est 1 TB et est à moitié pleine, c'est-à-dire grande, je ne veux donc pas la copier sur un disque dur virtuel.

J'ai lu qu'il est possible d'utiliser un vrai disque dur pour une machine virtuelle Virtualbox, mais les diverses instructions que j'ai trouvées diffèrent les unes des autres et je n'arrive pas à le faire fonctionner. Est-ce que quelqu'un connaît un moyen de le faire fonctionner dans Ubuntu 12.04 et Virtualbox 2.1.12_Ubuntu r77245 (le dernier Ubuntu a installé le dépôt)?

S'il vous plaît postez comment cela fonctionne pour vous car je veux réessayer toute méthode qui pourrait fonctionner.

36
Jazz

La commande que vous voulez est

VBoxManage internalcommands createrawvmdk -filename Win7.vmdk -rawdisk /dev/sda -partitions 1

Cela créera un fichier de disque virtuel VMDK spécial (Win7.vmdk), qui est en réalité un pointeur sur la partition de disque hôte /dev/sda1.

En théorie, vous pouvez ensuite l'utiliser comme fichier de disque pour qu'un VM s'exécute directement à partir de la partition de disque réelle, mais ...

  • (a) Je n'ai jamais essayé cela, alors je ne sais pas à quel point c'est fiable
  • (b) vous pouvez avoir des problèmes avec l'activation de Windows en fonction de votre clé de licence et du fait que Windows décide que le "matériel" détecté a considérablement changé
26
StarNamer

Oui, vous pouvez le faire avec la commande interne createrawvmdk, qui créera pas , mais un pointeur sur le matériel réel.

Il y a deux façons de faire ça

  • A. Image de disque complète (de/dev/sdb)

    Sudo VBoxManage internalcommands createrawvmdk -filename sdb.vmdk -rawdisk /dev/sdb
    
  • B. Image de partition

    Comme @StarNamer l'a montré, vous ne pouvez utiliser qu'une ou plusieurs partitions.

    Pour créer l'image d'une seule partition (/ dev/sda1):

    Sudo VBoxManage internalcommands createrawvmdk -filename sda1.vmdk -rawdisk /dev/sda -partitions 1
    

    Pour créer une table de partition personnalisée qui mappera/dev/sda2 et/dev/sda1 dans cet ordre:

    Sudo VBoxManage internalcommands createrawvmdk -filename sda2_1.vmdk -rawdisk /dev/sda -partitions 2,1
    

La différence la plus frappante sera que l'image de disque complète utilisera le chargeur de démarrage et la table de partition exactement comme ils se trouvent sur votre disque, donc en théorie (je ne l'avais auparavant que dans qemu), vous pourrez configurer le système d'exploitation à partir de votre machine virtuelle. Et de par mon expérience limitée, je peux dire que l’image disque complète fonctionnera exactement comme qemu -hda /dev/sdb.

Remarque: Si vous utilisez l’utilisateur pour accéder au disque, vous devez l’ajouter aux groupes disk et vboxusers, par exemple.

Sudo usermod -aG disk,vboxusers ubuntu

puis assurez-vous de vous reconnecter ou de redémarrer votre ordinateur.

Lectures supplémentaires:

16
JLarky

VirtualBox a beaucoup d'inconvénients. Je le quitte il y a quelques années. Maintenant, j'utilise qemu-kvm et, à côté d'une autre fonctionnalité, il peut être configuré pour utiliser le périphérique de disque de la même manière que l'image du disque. L'astuce consiste à configurer le "-drive virtuel si = sd, id = sda, format = raw, fichier =/dev/sda".

Mais! Avant d’essayer de le virtualiser, vous devez d’abord apporter des modifications lorsque vous exécutez le MSW sur le système "nu": consultez le dossier "Pilotes" pour connaître les pilotes appropriés et l’arborescence "Registre" pour que ces pilotes soient activés et configurés de manière à être présents. exécuter avant le démarrage du système comme:

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\msahci] "Start"=dword:00000000

Vous devez rechercher un pilote approprié par rapport à la machine virtuelle si vous ne voulez pas voir le BSOD.

Il est difficile de dire quels pilotes activer. La meilleure méthode consiste à installer d'abord un système de test, puis à rechercher dans le registre sa clé de registre avec le mot de passe "Démarrer" = dword: 00000000, puis à définir ces clés sur la machine nue. Il est également recommandé de vérifier l'adresse MAC sur le bare metal pour la mettre dans la configuration qemu. Vous pouvez empêcher le système de demander une nouvelle activation.

0
schweik

Il existe une option de disque appelée "Immutable". En théorie, si vous sélectionnez cette option pour le lien entre vmdk et votre disque brut, la partition d'origine ne devrait pas être modifiée.

Pour ce faire, ouvrez "Virtual Media Manager" sous "Fichier", sélectionnez votre image, puis cliquez sur "Modifier" (vous devez vous assurer que cette image n'est attachée à aucun ordinateur, sinon vous obtiendrez une erreur). Vous pouvez maintenant définir le type de support sur "Immutable".

Je n'ai pas testé cela, cependant. Si quelqu'un le fait (bien sûr avec une configuration de test), il serait bon de faire rapport ici.

Y a-t-il des considérations qui vont à l'encontre de cette idée?

0
Esokrates

Après de nombreux essais, je me suis retrouvé avec une solution nette et propre:

  1. Démarrez la partition Windows que vous souhaitez virtualiser
  2. Téléchargez Disk2VHD utilitaire de Sysinternals
  3. Si vous avez une partition UEFI , suivez ces instructions
  4. Créez une image VHD (et non VHD X) de votre partition C: partition, récupération, UEFI (le cas échéant) et de ce que vous voulez d'autre
  5. Revenez sous Linux, ouvrez VirtualBox et créez un VM conformément aux spécifications de votre système d'exploitation Windows.
  6. Joignez à ce VM le disque dur virtuel créé au point 4
  7. C'est tout
  8. Profit

Dépannage en cas d'UEFI:

  1. Dans les paramètres VM, dans VirtualBox, cochez l'option "Activer EFI" sous l'onglet Système.
  2. Si vous êtes bloqué sur le shell EFI, exécutez la commande suivante:

    fs0:\EFI\Boot\bkpbootx64.efi
    
0
garlix

Depuis plusieurs années, j'utilise Windows à double démarrage et Ubuntu. La partition Ubuntu démarre également dans Windows VirtualBox pour tirer parti des fonctionnalités de l'écran tactile que Linux n'a pas encore maîtrisées.

Je l'ai mis en place avec des instructions similaires à ci-dessous;

Les nouvelles machines peuvent simultanément gérer les deux systèmes d’exploitation mieux que les systèmes simples des anciennes machines.

Inconvénient: vous devez enregistrer les instructions que vous utilisez pour la configuration au cas où une mise à jour désactive la connexion VirtualBox (mon problème actuel).

0
Desprit