dual-boot: installer Win 10 à côté de sa Fedora

Après avoir acheté une carte graphique, je voulais voir ce qu’elle avait dans le ventre avec un gros jeu de shoot ou de caisse. Et par la même occasion tester le jeu en streaming avec ma Nvidia Shield. Je ne suis clairement pas un gamer mais j’aime bien m’emmerder avec des problématiques à la cons. A savoir installer les drivers Nvidia sur une machine Linux ou gérer le double boot avec un bios UEFI.

L’installation des drivers Nvidia sur sa distribution préférée ça marche plutôt bien depuis quelques années sauf lors de quelques upgrades. Plusieurs fois, je me suis retrouvé  avec un écran noir ou autre problème au reboot suite à la mise à jour de l’OS, on arrive toujours à fixer mais c’est une source d’emmerde.

Du côté de Microsoft j’ai installé un Windows 10, j’avais pas fait ça depuis Win XP donc j’ai pas été déçu par les changements. J’ai trouvé une licence à 10€ sur SCDKey et je veux juste lancer des jeux donc je suis pas trop regardant. Ils ont toujours pas unifié leur installeur via leur store, il est toujours possible d’installer ce qu’on veut où l’on veut histoire de bien foutre le bordel. Par contre grosse amélioration j’ai uniquement installé les drivers de ma carte graphique plus besoin d’installer les n drivers du système, c’était pas trop tôt!

Pour démarrer de l’un à l’autre j’ai besoin d’un dual-boot. Et pour ça il faut se pencher sur les basics de l’UEFI,  en 2018 nous avons de la chance c’est une chose plutôt commune et supportée par la majorité des machines. Contrairement aux articles qu’on peut retrouver sur le net j’ai une installation stable avec une Fedora et je souhaite ajouter un Windows en dual-boot pas l’inverse. L’ensemble des articles stipulent d’installer Windows en premier car Windows se met bien et s’assure son propre démarrage sans se préoccuper des voisins…

Pour atteindre l’objectif du titre de cet article il faut avoir une partition libre pour installer Windows, une clé USB avec un Windows 10 bootable et pour finir il faudra fixer la configuration GRUB pour ajouter Windows dans la liste des OS bootables.

Ma configuration

  • une carte mére avec l’UEFI
  • 120 Go M.2 SATA pour les OS Fedora, Windows et la partition /boot/efi

Ci-dessous le partitionnement de mon disque dédié aux partitions de boots. 100Mo pour le système EFI , le reste pour Fedora et Windows.

Disque /dev/sda : 111,8 GiB, 120034123776 octets, 234441648 secteurs                        
Unités : secteur de 1 × 512 = 512 octets                                                    
Taille de secteur (logique / physique) : 512 octets / 512 octets                            
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : gpt                                                            
Identifiant de disque : 7557B189-3742-4C71-9AC3-1ABB63A58D17                                
                                                                                            
Périphérique     Début       Fin  Secteurs Taille Type                                      
/dev/sda1         2048    206847    204800   100M Système EFI
/dev/sda2       206848  94578687  94371840    45G Système de fichiers Linux                 
/dev/sda3     94578688 102967295   8388608     4G Partition d'échange Linux                 
/dev/sda4    102967296 234440703 131473408  62,7G Données de base Microsoft

Précautions avant de commencer

Sauvegarder la partition de boot

Dès l’instant où on commence à bidouiller le boot de sa machine ça peut mal se passer mais c’est formateur. Pour éviter de devoir tout réinstaller il faut prendre quelques précautions pour être capable de restaurer son système dans l’état initial. Pour cela il faut prévoir une petite sauvegarde de la partition /boot/efi et de se munir d’un Live CD Linux en cas de problème. (j’ai pas eu besoin de faire ça)

tar cjf boot-backup.tar.bz2 /boot/efi

Pour restaurer le boot il suffira de lancer le live CD, de monter la partition et de copier la sauvegarde à la place.

mount /dev/sda1 /boot/efi

Démarrer le système sans secure boot et sans fastboot

Pour éviter les problèmes et le obtenir le support de nombreuse distributions il est plus simple de démarrer le système en désactivant le secure boot et le fastboot. Pour ça il faut aller fouiller dans les paramètres de votre bios. Pour le type de système d’exploitation j’ai activé « Autre SE » même si Fedora est capable de démarrer avec « Microsoft UEFI » je sais pas trop ce que ça change au final.

Obtenir Windows et créer une clé bootable

Tout d’abord il faut télécharger Window, pendant ce temps vous pouvez préparer votre media de destination. Il y a plusieurs utilitaires pour faire ça principalement disponible sur Windows mais on peut le faire assez simplement avec 2/3 commandes shell. Avec fdisk il faut créer une table GPT et une partition Fat pour installer les fichiers Windows. Pour la copie de l’ISO on peut pas utiliser dd sinon on se retrouve avec un disque en read-only et il faut modifier son contenu pour pouvoir démarrer en UEFI. Pour faire ça, on va faire la copie à la main après avoir monté la partition Fat et l’image ISO. Le patch pour booté correctement c’est de déplacer le répertoire efi dans le répertoire de boot.

fdisk /dev/sde
Commande (m pour l'aide) : g
Une nouvelle étiquette de disque GPT a été créée (GUID : 3B77E60B-0117-4419-B9DD-209CC474BA43).

Commande (m pour l'aide) : n
Numéro de partition (1-128, 1 par défaut) : 
Premier secteur (2048-15523806, 2048 par défaut) : 
Dernier secteur, +secteurs ou +taille{K,M,G,T,P} (2048-15523806, 15523806 par défaut) : 

Une nouvelle partition 1 de type « Linux filesystem » et de taille 7,4 GiB a été créée.

Type de partition (taper L pour afficher tous les types) : 11
Type de partition « Linux filesystem » modifié en « Microsoft basic data ».

Commande (m pour l'aide) : p
Disque /dev/sde : 7,4 GiB, 7948206080 octets, 15523840 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : gpt
Identifiant de disque : 3B77E60B-0117-4419-B9DD-209CC474BA43

Périphérique Début      Fin Secteurs Taille Type
/dev/sde1     2048 15523806 15521759   7,4G Données de base Microsoft

Commande (m pour l'aide) : w
La table de partitions a été altérée.
Appel d'ioctl() pour relire la table de partitions.
Synchronisation des disques.

mkfs.vfat /dev/sde1
mkdir /tmp/winusb
mount /dev/sde1 /tmp/winusb/
mount -o loop ./Win10_1709_French_x64.iso /tmp/winiso
mount: /tmp/winiso : WARNING: device write-protected, mounted read-only.
cp -r /tmp/winiso/* /tmp/winusb/
cp -r /tmp/winusb/efi /tmp/winusb/boot/

Installer Windows

Un redémarrage est nécessaire pour booter sur la clé depuis le bios de votre carte mére. Celui-ci doit détecter un device bootable en UEFI comme sur l’image ci-dessous. La suite c’est une installation  classique Windows avec des redémarrages et des mises à jour.

Fixer Grub pour ajouter Window

Comme dit au début de l’article après l’installation de Windows celui-ci s’est automatiquement placé en boot par défaut. Un retour dans le bios est nécessaire pour redéfinir le disque de boot par défaut dans mon cas sur Fedora.

Une fois le reboot fait sur votre distribution la reconfiguration de GRUB est nécessaire pour que celui-ci ajoute Windows dans sa table de boot. Pour faire ça il faute utiliser grub2-mkconfig, normalement il doit détecter Windows comme ci-dessous.

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg 
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.14.11-300.fc27.x86_64
Found initrd image: /boot/initramfs-4.14.11-300.fc27.x86_64.img
Found linux image: /boot/vmlinuz-4.14.8-300.fc27.x86_64
Found initrd image: /boot/initramfs-4.14.8-300.fc27.x86_64.img
Found linux image: /boot/vmlinuz-4.13.16-302.fc27.x86_64
Found initrd image: /boot/initramfs-4.13.16-302.fc27.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-3c95657ac37e4dc99ed9d6d2cd5a5579
Found initrd image: /boot/initramfs-0-rescue-3c95657ac37e4dc99ed9d6d2cd5a5579.img
Found Windows Boot Manager on /dev/sda1@/EFI/Microsoft/Boot/bootmgfw.efi
done

Dual boot OK

 

A présent votre système boot sur grub à chaque démarrage et libre à vous de choisir suivant votre humeur du moment.

About the Author: nicofonk

Laisser un commentaire