31 janvier 2020

Restorer le boot de Windows après installation de CentOS

Il semble que dans certaines configurations RedHat et Centos n’aiment pas cohabiter sur la même machine avec Windows… En effet si sur une machine qui boote déjà sous Windows on installe en plus (Dual Boot) RH/Centos 7 ou 8 on risque de ne pas avoir l’option  booter sous Windows.

Heureusement il est facile de rattraper cela à la main.
Voici comment.

Depuis une session root exécuter ces 5 étapes:

1) Avec fdisk trouver la partition de boot

# fdisk -l
Device     Boot     Start        End   Sectors   Size Id Type
/dev/sda1  *         2048    1026047   1024000   500M  7 HPFS/NTFS/exFAT
/dev/sda2         1026048  501093039 500066992 238.5G  7 HPFS/NTFS/exFAT
/dev/sda3       501094400  503191551   2097152     1G 83 Linux
/dev/sda4       503191552 1000214527 497022976   237G  5 Extended
/dev/sda5       503193600 1000214527 497020928   237G 8e Linux LVM


Repérer la partition qui a une étoile (*) dans sa colonne Boot. Il s’agit de la partition UEFI qui servait à booter  Windows, mais que RH/Centos a ignoré. (Il parait que Fedora n'a pas ce problème).

Ici c’est la partition sda1 (partition 1 du disque sda).

2) Avec blkid trouver l’identifiant de cette partition de boot

# blkid /dev/sda1
/dev/sda1: UUID="B4FC7F32FC7EEE4C" TYPE="ntfs" PARTUUID="646e83a4-01"

Noter la valeur de UUID (sans les quotes).

Ici c'est B4FC7F32FC7EEE4C

3) Modifier la configuration de grub2

# vim /etc/grub.d/grub40_custom

Ne surtout pas toucher aux 5 lignes déjà en place, et ajouter le menuentry comme indiqué ci-dessous.
Dans ce qui suit:
- hd0 c’est sda
- msdos1 c’est la partition 1
- Remplacer    par le UUID affiché par blkid.

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Windows 10" {
  insmod part_msdos
  insmod ntfs
  set root='(hd0,msdos1)'
  search --no-floppy --fs-uuid --set=root
  chainloader +1
}



4) Re-construite la configuration de grub :

# grub2-mkconfig -o /boot/grub2/grub.cfg


5) Rebooter

 # reboot

Vous devriez avoir une option de menu « Windows 10 » et vous devriez pouvoir booter sur Windows.

Aucun commentaire:

Enregistrer un commentaire