2 votes

Installation de Windows 7/8 64-bit sur une table de partition GPT sans UEFI

Je vais commencer par dire que j'ai essayé tout ce que j'ai trouvé. Et toujours rien n'a marché.

Préface

J'ai converti mon ancien MBR en table de partition GPT. Je pensais en fait qu'il me suffirait de réinstaller GRUB2 et éventuellement Windows et que tout irait bien. Ce n'était pas le cas. J'ai utilisé gdisk(GPT fdisk) pour faire la conversion sans perte de données.

Problème

Au début, mon Windows ne voulait pas se charger. Ensuite, je faisais une réparation du BCD, où se trouvait le problème, et je finissais par ne plus pouvoir démarrer du tout sur le disque dur et par rester bloqué à l'écran de secours Grub. J'ai essayé la réparation complète, et toutes les autres réparations que je rencontre, même chose. Lorsque je réinstalle/répare Grub, j'obtiens une erreur BCD au démarrage de Windows.

Solutions et autres problèmes

La plus évidente : réinstaller Windows. Eh bien, ça n'arrivera pas. Il ne s'installera pas sur GPT sans matériel UEFI. Me protéger de moi-même, à la manière de Microsoft. J'ai fait une terrible erreur et n'ai pas réalisé que le problème se situait au niveau de la TABLE de partition, et non de la partition elle-même, et j'ai formaté la partition Windows. Je n'ai rien perdu d'important - enfin, sauf Windows.

J'ai ensuite essayé l'hybride-MBR. Je suppose que personne n'a dit à l'installateur de Windows que, puisqu'il donne la même erreur (a essayé Windows 7 et 8 à la fois 64-bit). J'ai utilisé gdisk recovery menu pour cela, et suis passé par toutes les entrées, et a fini par fonctionner correctement.

Ensuite, il y a eu la tentative d'installation de DUET. Là où je m'attendais à ce qu'il échoue au démarrage, à cause de mon processeur AMD, il n'a même pas réussi à s'installer. J'ai utilisé duet-install script que j'ai téléchargé avec les fichiers aquí . Le script s'arrête toujours au même endroit : Partition starts at sector 2048 . Et j'ai regardé la source du script, il devrait bientôt imprimer la ligne suivante(il a imprimé 13 lignes en un instant), mais rien ne se passe, pendant des heures. J'ai essayé de ré-exécuter, de re-télécharger, d'exécuter depuis un CD live, et rien. Voici la sortie complète :

Installera SYSLINUX dans le MBR Le chemin vers SYSLINUX est le suivant /usr/share/syslinux

Le chemin vers le bootduet est /home/ubuntu/Downloads/tianocore_uefi_duet_builds-tianocore_uefi_duet_installer/BootSector

Le chemin vers UEFI DUET est /home/ubuntu/Downloads/tianocore_uefi_duet_builds-tianocore_uefi_duet_installer

Installera la version UEFI UDK La partition cible est /dev/sda1

Will créer un système de fichiers FAT appelé "ESP" sur la partition cible.

Le disque cible (pour stocker le code de démarrage MBR) est /dev/sda Numéro de partition est 1

La partition commence au secteur 2048

[ modifier ] J'ai essayé d'installer XP, mais il ne peut pas formater l'espace non formaté. J'ai essayé de le formater avec GParted en ntfs, mais l'installation l'enregistre toujours comme espace non formaté (et rien d'autre à part lui). Mais pour être tout à fait honnête - ce cd a été mis en rayon pendant longtemps, je l'ai à peine trouvé, et je n'ai aucune idée s'il est x64(probablement n'est pas donc ne va pas travailler).

Donc, je suis coincé maintenant. Vous pouvez m'aider ?

De plus, le reformatage de tout le disque dur n'est pas une option. Windows n'en vaut pas la peine, je préfère rester sous Linux. De même, le retour au MBR non plus, puisque d'après ce que j'ai lu, il inclut le formatage. De plus, j'ai 7 (ou 8 ?) partitions (5 sur l'ancien MBR, mais j'ai utilisé des partitions étendues... c'était le bordel).

Specs

MoBo : ASUS M5A78l-M LX CPU : AMD Athlon II x3 450

Solution actuelle (enfin, sauf les obus (linux))

J'ai réussi à faire démarrer l'installation de Windows 8 dans VirtualBox. C'est un progrès, mais je ne veux pas être coincé avec VM chaque fois que je veux lancer Windows.

Edits

J'ai joué avec un duet-install script. Si je tape une lettre et que j'appuie sur la touche Entrée, il imprime parted: invalid token: [letter] . Si cette lettre est 'c', il imprime Unknown partition table type ! Aborting! ce qui n'est évidemment pas le cas. Je suppose que je vais devoir analyser la source plus profondément pour arriver à la racine du problème, parce que ce script est la meilleure solution pour moi maintenant.

Je suis arrivé au point où le script arrête de s'exécuter : ptLine= parted "${targetDisk}" print | grep "Partition Table"`. Je vais essayer de trouver une solution en sautant les vérifications et en définissant des valeurs qui correspondent à mon système.

J'ai édité le script, et supprimé la partie qui ne fonctionnait pas, et j'ai finalement réussi à installer DUET. Ou du moins, c'est ce qu'il a dit... Je ne remarque aucun changement dans le BIOS, c'est tout comme au début. Mais ça ne marche toujours pas.

0voto

dimatura Points 762

J'ai fini par reconvertir en MBR en utilisant le même outil que celui que j'avais utilisé pour convertir en GPT, et la table de partition est à peu près comme elle était avant.

Les trucs que j'ai essayés, et qui peuvent être utiles à quelqu'un dans le futur :

Installer DUET : Je recommande utiliser ce guide mais je vais (très) rapidement expliquer ce que j'ai fait.

D'abord, j'ai créé une nouvelle partition FAT32 de 200 Mo pour EFI. Puis j'ai téléchargé les fichiers de aquí et j'ai utilisé cd pour aller dans le répertoire où je l'ai extrait. Ensuite, j'ai exécuté chmod +x ./duet-install y ./duet-install -64 -F -s /usr/lib/syslinux -m /dev/sda1 , donde /usr/lib/syslinux est le chemin vers votre syslinux (la valeur par défaut devrait être /usr/share/syslinux mais cherchez dans votre système pour plus d'informations). Vous pouvez également le télécharger sur Internet et le compiler. Un avertissement : il nécessite nasm qui a ses propres dépendances, et comme je ne l'ai pas utilisé, je ne peux pas beaucoup aider avec lui. /dev/sda1 est le chemin vers la partition que vous avez créée plus tôt.

Cependant, le script ne dépassait pas la ligne 275, j'ai donc supprimé tout ce qui allait de la ligne 275 à la fin du outter if (qui commence à la ligne 276 ou 277) et je l'ai remplacé par tableType="gpt".

Pour créer un MBR hybride : Là encore, il existe un guide moyennement long sur le sujet, que je recommande, aquí . Pour un guide rapide, continuez à lire.

J'ai ouvert gdisk et l'ai lancé avec gdisk /dev/sda et je suis entré dans le menu de récupération avec r et dans le menu de récupération, tapez h . A l'invite, j'ai entré les partitions que je voulais ajouter au MBR hybride et j'ai placé la partition EFI GPT en premier en entrant y après. Si vous avez besoin de connaître les numéros de partition des partitions que vous voulez utiliser p dans le menu de récupération, ou votre outil de partitionnement préféré (GParted pour moi). Après cela, j'ai entré les codes hexagonaux MBR par défaut (07 pour ntfs), et je n'ai pas mis de drapeau bootable pour aucun, parce que j'utilise Grub.

Donc, c'est tout. Ces deux opérations n'ont donné aucun résultat - pas d'erreur, rien, il a continué à fonctionner comme le BIOS habituel avec GPT complet. J'ai peut-être fait une erreur quelque part, qui a causé le problème - n'hésitez pas à me corriger.

J'espère que cela aidera quelqu'un, mais si ce n'est pas le cas, vous pouvez toujours reconvertir en MBR, ce qui ne devrait pas être douloureux si vous avez initialement converti un disque MBR en GPT. Entrez simplement gdisk avec votre disque dur( gdisk /dev/sda pour moi), entrez r , Enter , g , Enter , q , Enter , Y , Enter . Si vous avez besoin d'un guide plus complet, lisez la deuxième partie de l'article. cet article

0voto

Milind R Points 827

Vous pouvez démarrer Windows sur GPT à partir du BIOS. SI vous avez petit Un lecteur MBR sur lequel vous pouvez démarrer, ou même une disquette. Ce n'est même pas un hack et cela fonctionnera même sous Windows 32 bits.

En gros, démarrez sur le disque d'installation/réparation de Windows. Il suffit de créer le lecteur système sur la disquette, et d'utiliser la fonction bcdboot pour mettre vos fichiers de démarrage sur la disquette. Ajoutez un secteur de démarrage avec bootsect . Changez le {bootmgr} device a boot . Démarrer à partir d'une disquette.

Les étapes sont détaillées aquí .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X