web-dev-qa-db-fra.com

Comment copier les matières VDI VirtualBox sur une partition et la double démarrage du système d'exploitation?

Je suis un utilisateur Linux mais je garde une fenêtre comprimée XP=== ISO avec moi sur une clé USB pour le cas, j'ai absolument besoin de Windows pour faire quelque chose. Cela fonctionne dans la plus grande partie du temps.

Mais maintenant, je veux jouer à des jeux. Je voudrais donc exécuter l'image Windows Nativement. Mon ordinateur n'a pas de lecteur de CD alors ne peut donc pas graver l'ISO et faire une installation normalement.

ce que j'essaye de faire est de déplacer l'image Windows installée sur une partition NTFS physique sur mon disque dur et de configurer GRUB pour me laisser le double démarrer.

J'ai trouvé de nombreux tutoriels qui traitent de la fabrication de VDI à la conduite physique. Mais ils supposent que je veux écraser tout mon lecteur. Déplacement de l'image du disque brut avec dd à la partition a entraîné une partition corrompue.

J'ai également essayé le truc VMDK d'utiliser cette partition vide et d'installer les fenêtres dessus. Bien que la phase de mode texte de l'installation se termine sans problèmes, le VM ne fonctionne pas, ne se bloque pas et continue de redémarrer ou simplement de geler immédiatement (en fonction de la façon dont j'ai créé le VMDK, avec -rawdisk /dev/sda3 ou -rawdisk /dev/sda -partition 3).

12
Calmarius

J'ai passé tout hier avec des recherches et j'ai finalement pu faire windows XP boot. Il devrait être quelque peu similaire pour les autres os-es aussi. Mais l'opération est tout mais pas trivial.

Parce que cette opération dangereuse, je recommande de sauvegarder vos précieuses données.

Voici les étapes:

Préparation

Dans le cas Windows XP Vous devez l'oublier d'oublier les paramètres de la lettre de disque et de la partition actuels, vous devez donc effacer toutes les valeurs de la clé HKEY_LOCAL_MACHINE/MONTEDDEVIES de la machine virtuelle avant la migration. Le Le noyau le reconstruit sur le redémarrage suivant. Sur les machines virtuelles Linux, cette moyenne de fixation du fstab après la migration.

Montage de l'image VDI

Vous ne pouvez pas simplement copier tout le VDI à une partition, car il contient un MBR aussi. Vous devez copier uniquement la partition virtuelle, alors vous devez d'abord trouver un moyen de monter le VDI.

Vous avez besoin du pilote nbd et de la qemu-nbd commande. Sur Ubuntu c'est dans le qemu-kvm paquet.

Premier chargement du pilote NBD:

# modprobe nbd

Cela devrait faire des périphériques nbd dans /dev.

Puis montez le VDI:

# qemu-nbd -c /dev/nbd0 path_to.vdi

Cela devrait faire /dev/nbd0p1, /dev/nbd0p2, /dev/nbd0p3 etc pour toutes les partitions virtuelles. Ceux-ci peuvent être montés comme des appareils ordinaires.

Migration de la partition

Utilisez dd pour cela, démontez les deux partitions avant l'opération:

# dd -if=<nbd_device> -of=<real_partition>

par exemple.:

# dd -if=/dev/nbd0p3 -of=/dev/sda4

Le fonctionnement du dd est silencieux, cela peut prendre plusieurs minutes, même une demi-heure. Pendant l'opération, vous pouvez ouvrir un terminal et utiliser fdisk -l Pour voir tout va bien.

METTRE À JOUR:

Apparemment, NBD n'est pas une solution infaillible. Cela peut provoquer une erreur d'E/S et faire échouer DD. De plus, essayez ensuite échoue immédiatement. Vous pouvez également essayer de faire un disque brut vmdk avec cette commande (sous Linux):

$ VBoxManage internalcommands createrawvmdk -filename physical.vmdk -rawdisk /dev/sda

Vous devez être dans le groupe disk pour le faire fonctionner. Ajoutez ensuite ce VMDK à la machine virtuelle sous forme de disque dur secondaire, puis utilisez un ISO Linux en direct sur dd la partition.

Fixer le secteur de démarrage de la partition NTFS

C'est la partie pirate.

Nous sommes presque prêts, mais Windows XP====== ne va pas, car nous devons définir le nombre de secteurs cachés du système de fichiers au décalage 0x1C. Ceci essentiellement un certain nombre de secteurs avant la partition NTFS. Nous pouvons obtenir ce numéro du fdisk -ul commande. Le champ start des états de sortie que le secteur commence par la partition donnée, qui est fondamentalement le nombre de secteurs avant la partition. Donc, obtenez le numéro à partir de là, convertissez-le en hexadécimal en utilisant gcalctool par exemple.

Ouvrez la partition avec hexedit, comme celui-ci:

# hexedit /dev/sda4

Ensuite, écrivez le nombre de secteurs cachés dans la petite commande d'Endian à la 1C décalage. Petite Endean signifie: 0xABCDEFGH sera GH EF CD AB. Si le numéro hexa est plus court que 8 chiffres, précèdez-le avec zéro.

Lorsque vous avez terminé, enregistrez-le et quittez (Ctrl + X).

Mettre en place grub

Vous devez dire GRUB pour démarrer directement cette partition, pour GRUB Ajouter l'entrée de menu suivante:

title       Microsoft Windows XP Professional
root        (hd0,3)
savedefault
makeactive
chainloader +1

(hdX, Y) Identifie la partition. X est 0 pour le disque dur par défaut, 1 pour /dev/sda, 2 pour /dev/sdb etc. Y est le numéro de partition. 0 pour /dev/sda1, 1 pour /dev/sda2, etc.

Cela devrait également être similaire pour Grub2, mais il utilise une syntaxe un peu différente pour les entrées de menu.

Touches finales

La nouvelle partition NTFS est prête à démarrer. Mais vous avez toujours besoin de piratage pour atteindre le Windows XP de bureau. D'autres systèmes peuvent avoir besoin de hacks différents. D'abord, le démarrage doit être corrigé.

[boot loader]
timeout=1
default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

Définissez le numéro de la partion en conséquence. Je l'ai installé sur le/dev/sda4. Donc, le numéro de partition devrait être 3.

Vous devrez peut-être corriger la saisie de MountedDevices dans le registre si Windows gèle juste avant l'écran de connexion.

Le registre est à <path to windows>/system32/config/system Vous pouvez le voir par chntpw. Cela peut être un problème si votre lettre de lecteur système n'est pas C. Étant donné que chntpw Les capacités de la rédaction de registre sont assez limitées, vous devez replier et utiliser un hexieriteur, comme GHEX2 pour le réparer. Vous devez trouver \DosDevices\C: et remplacez le C avec une lettre d'entraînement différente, F dans mon cas.

Après ceux-ci, vous devriez pouvoir atteindre le bureau, maintenant vous devez rechercher tous les conducteurs, mais cela est hors de portée de ce tutoriel.

Sources

déplacer Windows XP à une partition différente

Montez un VDI sous Linux

4
Calmarius