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 perdre l’option pour 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
(Il s'agit d'une table de partition au format MBR)
Repérer la partition qui a une étoile (*) dans sa colonne Boot. Ici il s’agit de la partition mixte UEFI + CSM 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). Notez que cette partition est formatée en NTFS alors que pour du pur UEFI seul FAT32 est possible.
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 B4FC7F32FC7EEE4C
#!/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 B4FC7F32FC7EEE4C
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.
IMPORTANT:
Bien souvent les problèmes de ce type (OS installé mais non bootable) viennent de l'inadéquation entre
- la configuration de la procédure de boot utilisée par le bios (Legacy ou UEFI+CSM ou UEFI)
- le partitionnement du disque (MBR ou GPT)
- le mode d’installation du nouvel l'OS (Legacy, UEFI), qui découle souvent de comment l'installateur a été démarré.
Les live CD linux sont alors très utiles pour analyser la configuration du disque.