web-dev-qa-db-fra.com

Déplacer la partition système EFI sur un autre lecteur

J'avais une installation de Windows 8 sur un disque dur, en utilisant UEFI comme démarrage. Le disque dur a la table GPT suivante:

DISKPART> list partition

Partizione ###   Tipo              Dim.     Offset
---------------  ----------------  -------  -------
Partizione 1     Ripristino         300 Mb  1024 Kb
Partizione 2     Sistema            100 Mb   301 Mb
Partizione 3     Riservato          128 Mb   401 Mb
Partizione 4     Primario           390 Gb   529 Mb
Partizione 5     Primario           540 Gb   390 Gb

(Je m'excuse, c'est en italien, mais la traduction est assez simple).

J'ai récemment acheté un disque SSD, je l'ai connecté et installé un nouveau Windows 8. Maintenant, j'ai un système à double démarrage qui fonctionne, mais la partition UEFI se trouve sur le disque dur au lieu du disque SSD. Voici la liste des partitions SDD:

Partizione ###   Tipo              Dim.     Offset
---------------  ----------------  -------  -------
Partizione 1     Riservato          128 Mb  1024 Kb
Partizione 2     Primario           221 Gb   129 Mb

Je pense que la meilleure solution serait de l'avoir sur le SSD pour deux raisons:

le premier est la performance (je suppose que ce serait un peu plus rapide sur le SSD en raison du temps de mise en route d'un disque dur, mais je me trompe peut-être à ce sujet)

la deuxième raison est la cohérence. Comme je prévois d’utiliser uniquement l’installation de Windows 8 située sur le SSD et que je vais probablement effacer la partition système du disque dur pour l’utiliser comme périphérique de stockage de données, je pense que la partition de démarrage doit se trouver sur le même disque. conduire comme l'OS.

La question est donc de savoir comment déplacer la partition système EFI vers le disque SSD?

14
Pincopallino

Ma recommandation est de ne pas déranger. L’amélioration des performances sera négligeable, car les fichiers lus à partir du ESP sont minuscules et ne sont lus qu’au démarrage de l’ordinateur. De plus, la partition elle-même est minuscule par rapport aux normes modernes, vous ne récupérerez donc pas assez d'espace pour rendre l'effort rentable. En outre, la tentative de déplacement du ESP risque de créer des problèmes de démarrage dont la résolution nécessitera beaucoup plus de temps que le temps que vous pourriez éventuellement économiser en temps de démarrage amélioré.

Si vous voulez continuer et faire cela comme une expérience d'apprentissage malgré ma recommandation, vous devrez vous pencher sur:

  • Créer un ESP avec le logiciel de partitionnement de votre choix. Je ne sais pas comment vous allez procéder avec les outils Windows standard. Avec gdisk, , vous créez une partition de type EF00, mais vous devez ensuite créer un système de fichiers FAT dessus, car gdisk est un outil destiné uniquement au partitionnement (il ne gère pas les systèmes de fichiers). .
  • Monter les deux ESP simultanément pour copier des fichiers (ou en séquence en utilisant un stockage temporaire). Je ne sais pas comment faire cela sous Windows, même si ce serait facile sous Linux ou à partir d'un shell EFI. (En fait, ce serait automatique dans un shell EFI.)
  • Enregistrement du chargeur de démarrage sur sa nouvelle maison. (Utiliser le nom de fichier de remplacement de EFI\BOOT\bootx64.efi serait probablement une solution plus simple, mais constitue la méthode moins recommandée de chargement du chargeur de démarrage.) La commande Windows bcdedit et l'outil bcfg du shell EFI peuvent tous les deux enregistrer des chargeurs de démarrage. Cependant, bcdedit est inflexible car Windows ne prend en charge qu'un seul ESP, ce qui crée des problèmes lors de la copie de l'ESP.
4
Rod Smith

Pour les personnes comme moi venant de Google: Oui, il est possible de le faire avec Windows, sans aucun outil tiers. Testé avec Windows 10 Pro x64. J'ai utilisé cette procédure pour déplacer à la fois la partition système EFI et la Partition réservée au système, elle devrait également fonctionner sous Windows 8.

Si votre disque principal manque d'espace, vous devez d'abord réduire votre partition C: (ou son équivalent). J'utilise 260 Mo dans cet exemple, car c'est ce que les nouveaux disques requièrent, mais les lecteurs plus anciens avec des secteurs plus petits ne nécessitent que 100 Mo. Si vous n'avez pas besoin de laisser de la place, notez les commentaires indiquant les étapes à sauter.

Pendant que vous y êtes, vous voudrez probablement déplacer votre partition réservée au système. Ce sont généralement 1000 Mo et stockent des métadonnées Windows utiles. Vous constaterez peut-être que certaines fonctionnalités de Windows ne fonctionnent pas sans une partition réservée au système. J'ai inclus les étapes pour créer une telle partition sur votre disque principal et les ai marquées avec des commentaires. Il devrait être facile d'exclure ces étapes si vous préférez les ignorer, mais vous devrez modifier les nombres lors de la réduction (par exemple, 260 Mo au lieu de 1260 Mo).

Les commentaires sont précédés de REM (pour "remarque"), car ils sont pris en charge par cmd.exe et diskpart.exe.

A partir de cmd.exe exécuté en tant qu'administrateur:

diskpart
list disk
REM Choose the appropriate disk number from the list.  If you're unsure, you can open diskmgmt.msc; the numbers will be the same.
sel disk 0
list part

REM Perform the following only if you need to shrink a partition to make space for the EFI partition.
REM Choose the appropriate partition from the list.  I used my C: partition.
sel part 2
shrink desired=260
REM End of shrinking operation.

REM Create a new EFI partition:
create part efi size=260
format quick fs=fat32
list vol
REM Find your newly created volume in the list.  If it's not already selected (marked with an asterisk), select it now with "sel vol #".
REM You'll need to give the volume a drive letter for later:
assign
list vol
REM Note the drive letter that the volume has been given.  Mine was F:, so I'll use that in the example.
REM Done creating new EFI partition.

REM Optionally create a new System Reserved partition:
create part msr size=1000
REM Done creating new System Reserved partition.

REM We're done with diskpart.exe:
exit
REM You should no longer see the DISKPART> Prompt.

REM Note that you may need to change these drive letters, particularly F:.  F: should match the volume you created previously.
bcdboot C:\Windows /s F: /f UEFI

REM We no longer need a drive letter for the EFI partition, so we should remove it:
diskpart
list disk
REM Change disk number appropriately.
sel disk 0
list vol
REM Change volume number appropriately.
sel vol 2
REM Remove drive letter assignment:
remove
REM Exit diskpart.exe:
exit

REM Exit cmd.exe:
exit

Il est temps de redémarrer pour s'assurer que tout fonctionne. Vous devrez peut-être mettre à jour vos paramètres d'ordre de démarrage du BIOS pour qu'ils correspondent aux modifications. Dans mon cas, les paramètres du BIOS étaient déjà corrects, alors je suis resté bloqué dans une boucle de redémarrage; chaque fois que je voulais démarrer mon ordinateur, je devais sélectionner manuellement l'ancien disque avec la partition EFI égarée.

Si tout a fonctionné comme prévu, vous pourrez supprimer l'ancienne partition EFI. Si cela ne fonctionne pas ou si votre BIOS est toujours configuré pour démarrer à partir de l'ancienne partition, Windows ne vous laissera pas la supprimer, même si vous utilisez l'indicateur de substitution dans diskpart.exe. Puisque vous voulez probablement vous débarrasser de cette ancienne partition de toute façon, sa suppression est un excellent moyen de vous assurer que vous démarrez à partir de la nouvelle partition.

diskpart
list disk
REM Change disk number appropriately.
sel disk 2
list part

REM You can repeat this next group of steps to delete as many "special" partitions as you like.  I had 4 reserved partitions from an old OEM installation.  Just make sure you don't delete your data!  The "override" flag is only necessary for partitions that can't normally be deleted.
REM Change partition number appropriately.
sel part 1
del part override

REM When you're done, exit diskpart.exe:
exit

REM Exit cmd.exe:
exit
8
Zenexer

Je sais que c'est un ancien post, mais je pense qu'une bonne réponse est toujours recherchée par beaucoup.

Ceci s'applique à Windows 7, 8, 10. Et est également valable pour Event id: 12290 si la partition EFI est située sur un disque autre que celui qui est le système d'exploitation actif et doit être sauvegardé.

Commencez par déconnecter tout autre lecteur contenant des partitions EFI afin de ne pas le modifier par inadvertance.

Ensuite, vous devez créer une nouvelle partition de 100 à 300 Mo sur le disque sur lequel la partition EFI doit résider. Si le lecteur est plein, vous devez d'abord réduire l'une des partitions existantes.

Boot, dans mon cas, xubuntu 13 (Ubuntu supérieur à 12.1 je pense) à partir d'une clé USB, en direct. Ne l'installez pas.

Ouvrez Gparted, créez la partition et formatez-la en FAT32. Marquez le lecteur en tant que "boot" et annulez toute autre partition flagonnée en "boot". Attribuez également une lettre de lecteur à la nouvelle partition, si possible. Sinon, vous pourrez le faire plus tard avec diskpart.

Redémarrez et démarrez maintenant avec Windows (RE) Recovery à partir du DVD d'installation de Windows. Allez à la commande promt. Démarrez diskpart et assignez une nouvelle liste de pilotes à la nouvelle partition si cela n’était pas possible dans Gparted. Quittez diskpart mais restez dans la commande promt.

Vous allez maintenant copier les fichiers nécessaires dans la nouvelle partition.

{bcdboot/S:/f UEFI} NOTE les espaces!

Exemple: {bcdboot c:\Windows/s:/f UEFI}

Cette commande donnera également à la partition le statut EFI.

Reconstruisez le BCD à l'aide de la commande suivante:

{bootrec/RebuildBcd}

Maintenant, quand on vous demande quel système d'exploitation vous souhaitez ajouter à la partition EFI, vous dites oui à ceux que vous souhaitez inclure et non à ceux que vous ne voulez pas pouvoir démarrer. Comme dans mon cas, j'ai récemment mis à niveau vers Windows 10 et, comme vous le savez peut-être, Windows conservera votre ancienne version de Windows 7/8 pendant un certain temps si vous ne l'avez pas supprimée vous-même. Cette copie de votre ancien système d’exploitation n’est pas quelque chose que vous aimez normalement pouvoir démarrer. Il réclame normalement dans Windows.old. Donc, ne choisissez pas l'option Tous.

Je ne sais pas, mais je pense que cette commande ne recherche que les installations Windows. Si vous avez un système d'exploitation Linux par exemple sur le même ordinateur. Ensuite, vous devez utiliser quelque chose comme bcdedit par la suite pour obtenir le sur le démarrage également.

Il y a une dernière commande, celle que je n'ai pas utilisée.

{bootrec/fixboot}

J'ai essayé d'en apprendre plus sur absout et je pense que cela suffit à définir l'indicateur de démarrage sur la partition efi et à le rendre amorçable. Cela devrait être la même chose que lorsque j'ai marqué la partition efi en tant que démarrage dans Gparted.

Si vous ne souhaitez plus utiliser une autre partition efi, le moyen le plus simple consiste à redémarrer Linux/gparted et à le supprimer.

2
Joelbit

J'ai créé une nouvelle installation sur un nouveau disque SSD en utilisant une véritable installation ISO W10 (DVD). L'installation est passée au type MBR au lieu de GPT. J'avais besoin d'un démarrage sécurisé et j'ai donc dû convertir cette nouvelle installation (sans perte de données) de MBR en GPT.

Ensuite, j'ai créé de l'espace libre (260 Mo) en réduisant la dernière partition NTFS à la fin du disque (j'ai démarré Linux à partir de SystemRecueCD à partir d'une clé USB et utilisé gparted, mais le gestionnaire de disque à partir de Windows 10 pouvait également être utilisé).

Ensuite, j'ai formaté cette nouvelle petite partition en FAT32 (cela pourrait aussi être fait sous Windows ou sous Linux). J'ai copié des fichiers de l'EFI d'origine sur cette nouvelle partition (je l'ai fait sous Linux car Windows n'aime pas deux disques avec la lettre de lecteur nommée C :).

Ensuite, j'ai changé MBR en GPT par gdisk sous Linux. J'ai utilisé gdisk, puis cette petite partition doit être remplacée par le type ef00 (EFI) et marquée comme amorçable (ne doit en contenir qu'un, de sorte que l'indicateur d'amorçage doit être supprimé du lecteur amorçable d'origine C :).

Ensuite, j'ai changé le type de démarrage dans le menu SETUP du portable en UEFI uniquement pour m'assurer que le système démarre réellement avec EFI. Windows n'a pas démarré car il manquait un fichier (avec "efi" dans son nom).

Ensuite, j’ai démarré à partir du DVD d’installation de Windows 10, puis choisi "Système de secours", puis "Résolution des problèmes de démarrage". Ensuite, Win10 a démarré sans problème. Aucune intervention manuelle requise par bcdboot.

La configuration EFI peut être vérifiée par l’utilitaire efibootmgr sous Linux.

1
Milan Kerslager

Eh bien, ajoutons encore une autre solution. Mon objectif n’était pas seulement de copier une partition EFI, mais de prendre en compte les autres (cachés). Je ne suis pas sûr que l'ordre compte (j'ai personnellement eu un ordre différent de celui décrit sur msdn) mais w/e.

Quoi qu'il en soit, j'ai utilisé GParted Live pour l'exploit. Une fois que vous avez démarré, réduisez la partition principale Windows (ce qui devrait être C:) de la même quantité de Mo que les partitions manquantes sur le nouveau disque et déplacez-le à la fin. Cela prendra un certain temps.

Ensuite, j'ai procédé à la création d'une nouvelle partition de 16 Mo juste en dessous de celle récemment redimensionnée, où dd la partition réservée de Microsoft (pour raisons , il semble que Parted ne puisse pas gérer les fichiers FS non formatés). Comme toujours, lorsque vous utilisez dd, soyez extrêmement prudent avec les commandes.

Une fois cela fait, je suis retourné à l'interface graphique GParted et ai défini manuellement les bons indicateurs et le nom de la nouvelle partition MSR, puis supprimé celui d'origine. Enfin, j’ai finalement copié les partitions de récupération et EFI du disque dur d’origine sur le disque SSD (et ai répété l’opération de noms/indicateur) et exécuter sgdisk -s pour fixer l'ordre de la partition.

Redémarrez et profitez! Pas besoin de bricoler efibootmgr ou bcdboot , au moins sur mon ordinateur portable, il a automatiquement trouvé le nouvel ESP.

EDIT: si, lors de l’extension du premier disque, Windows Disk Manager le convertit en un volume dynamique. Vérifier cette solution de contournement .

0
mirh