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
).
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:
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.
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.
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.
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).
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
Où (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.
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.