Installation Windows 10 + Linux avec USB et Grub2

En préambule, cet article s’adresse à des utilisateurs curieux ou moyennement avancés.

Préparer une installation Windows depuis GNU/Linux

Que faire quand on n’a pas de DVD assez gros pour des images disque de plus de 5 Go ? Et si en plus on n’a pas de système Windows sous la main et qu’on ne peut pas utiliser les méthodes les plus souvent trouvées sur Internet ? 😮 Réponse : on démarre l’installation avec Grub2. 😀

Boitier USB pour HDD ou SSD

Boitier USB pour HDD ou SSD

En prime on pourra aussi préparer notre périphérique pour démarrer des distributions Linux ! 😎 ❤️

Aujourd’hui je dispose d’un petit disque SSD de 60 Go et d’un boitier USB pour disques durs et SSD au format 2,5″.

Ce qui sera présenté est aussi valable pour une clé USB offrant un stockage d’au moins 6 Go, pour préparer une installation de Windows.

Avec plus d’espace encore vous pourrez disposer d’un périphérique auto-amorçable pour démarrer un ou plusieurs systèmes GNU/Linux. 😍

Pourquoi pas des CD et des DVD ? 😛

Vous pouvez peut-être graver un DVD 💽 pour faire ça  (en recompressant l’image ISO de Windows ? 😬 ) et graver des DVD ou des CDROM pour les distributions Linux. 😔

Mais les supports CD/DVD même réinscriptibles ont une durée de vie moins longue que les clés USB, qui ont aussi une durée de vie moins longue que les disques durs et même les SSD les plus récents. 🙁

Et contrairement aux clés USB et disques durs ou disques SSD, le nombre de fois où on peut utiliser les CD et les DVD même réinscriptibles est très limité.

Les arguments en plus en faveur des périphériques USB, ce sont des avantages multiples qui impliquent des économies et plus d’écologie. 💚 Et la plupart des ordinateurs fixes ou portables sont capables de démarrer sur l’USB.

Si vous souhaitez acquérir une clé USB ou un disque dur USB prêt à l’emploi pour lancer une installation Windows, (et un ou plusieurs systèmes Linux), nous pouvons en parler, contactez-nous.

Les étapes dans l’ordre

il s’agira d’installer le SSD ou le disque dur dans le boitier, puis de brancher le boitier USB sur votre PC installé avec Linux, et si le périphérique cible est neuf, vous allez créer une table de partitions à l’aide de Gparted. 🙇

Vous pouvez vous référer à la documentation de Gparted pour en savoir plus.

Je choisirai une table de partitions de type ms-dos.

Nouvelle table de partition

Nouvelle table de partition

Dans votre système, ce sera en français. (Menu Périphérique > Créer une table de partition, puis vous verrez une fenêtre depuis laquelle vous pourrez choisir parmi plusieurs types de tables de partition).

Ensuite  je créerai une nouvelle partition que je formaterai en Ntfs, j’ajouterai un drapeau “boot” (à toutes fins utiles) et une étiquette (label) sur la partition pour reconnaître facilement le périphérique lors des montages. (Ici, ce sera win-10 pour faire simple). 🙂

Après quoi j’installerai les fichiers issus de l’image disque Windows, j’ajouterai Grub2 puis un fichier de configuration grub.cfg avec les infos nécessaires pour démarrer Windows.

Dans le détail

Je passe sur la mise en place du SSD dans le boitier et sur l’utilisation de Gparted, qui sont largement décrits sur Internet, et pour Gparted en particulier dans le lien un peu plus haut. Passons à la phase suivante.

Monter l’image disque Windows

Le but est d’accéder aux fichiers de l’image disque.
Ouvrez un terminal depuis le répertoire où l’image disque se trouve et saisissez la ligne de commande suivante:
sudo mount -o loop Win10-xyz.iso /mnt

Dans cette ligne de commande “Win10-xyz.iso” est à remplacer par le nom exact et complet de l’image disque que vous utiliserez (nom + numéro de version + langue si c’est indiqué dans le nom).

Se déplacer dans l’arborescence

Déplacez-vous à la racine de votre système, au dessus du répertoire “mnt”
cd /

Copier les fichiers de l’image disque montée précédemment

Toujours en console copiez à l’aide de la commande “rsync” tous les fichiers de Windows.
Ces fichiers sont montés en lecture seule sous /mnt
rsync -v --progress mnt/  /media/user/nom-de-la-partition/

remplacez la partie de la ligne de commande ci-dessus :  user/nom-de-la-partition par les bons arguments, par exemple, si la partition Ntfs du SSD (ou disques dur) est accessible depuis /media/alice/  et se nomme win-10 écrivez:
rsync -v --progress mnt/  /media/alice/win-10/

Respectez bien les espaces et l’emplacement des signes “/” : dans la commande ci-dessus, “mnt/” signifie pour rsync qu’il copiera tout ce qui est dans le répertoire “mnt” mais pas le répertoire “mnt” lui-même !
(Si on écrivait juste “mnt” rsync copierait tout le répertoire “mnt” avec ce qu’il contient dans la partition win-10 et non juste son contenu, et ce n’est pas ce que nous voulons).

Les fichiers de l'ISO Windows

Les fichiers de l’ISO Windows

Une fois la copie terminée, l’invite de commande revient à sa position initiale.

Installons Grub

Nous avons besoin de connaître le nom du périphérique USB où Grub va être installé. Pour rappel, j’ai utilisé une table de partitions ms-dos, pour une installation classique sur BIOS legacy (ou BIOS Uefi pouvant être positionné sur l’option Legacy).

/!\ Important : nous vérifions le nommage du périphérique cible pour ne pas risquer d’endommager la configuration de Grub2 sur l’ordinateur que nous utilisons. En cas d’erreur, lors de la prochaine session, on ne pourrait plus le démarrer.

La commande “sudo blkid” dans le terminal nous permet de faire cette vérification en fournissant la liste des partitions dans laquelle on retrouve facilement celle qui nous intéresse grâce à son label (ici win-10).

Disons que le périphérique cible est “/dev/sdb” (si il y a plus d’un périphérique disque dans l’ordinateur, cela pourra être /dev/sdc, ou /dev/sdd etc.) la ligne de commande pour installer le chargeur de démarrage Grub sera:

sudo grub-install /dev/sdb --root-directory /media/alice/win-10/

et normalement, après quelques lignes d’information Grub déclarera avoir été bien installé sur “/dev/sdb”.

Créons le fichier de configuration de Grub

On peut ensuite ajouter le fichier de configuration de Grub dans cette installation → nommez-le grub.cfg et ajoutez-y les lignes suivantes:
set timeout=10 set default=0
menuentry "Windows 10 Installer" {
insmod ntfs
search --set=root --file /bootmgr
ntldr
boot
}

Fichier grub.cfg pour booter Windows

Fichier grub.cfg pour booter Windows

 

si on veut  un démarrage en couleurs on peut ajouter ces lignes en plus au début du fichier:
# Set default colors
color yellow/light-blue

Pour plus d’options de personnalisation, vous pouvez consulter cette page de la documentation Ubuntu :  Grub2/Displays.

Une fois le fichier grub.cfg au point et sauvegardé sous le nom “grub.cfg”, on le copie dans le répertoire “boot/grub/” installé dans le périphérique USB.

Fichier grub.cfg sous /boot/grub

Fichier grub.cfg sous /boot/grub

On ne fera pas trop attention au nombre des fichiers qui y sont maintenant installés, il y en a pas mal. L’important est de placer le fichier grub.cfg au bon emplacement. Dans l’exemple ci-dessus, ce serait sous /media/alice/win-10/boot/grub/.

Il ne reste plus qu’à brancher le périphérique USB ainsi préparé sur l’ordinateur sur lequel on veut procéder à l’installation d’un nouveau système et à le démarrer.

On devra s’assurer que le BIOS ou l’UEFI a bien été paramétré pour démarrer sur l’USB. 😇

(Ou bien à appuyer sur la touche F12, ou F10, ou F9, suivant les ordinateurs, pour que l’ordinateur propose le choix du démarrage). 🙄

Ajouter de quoi installer une distribution GNU/Linux

Choisissez une image disque de votre distribution Linux, ici ce sera  Bento Openbox 16.04, version “test”.

Copiez-la telle quelle sans la désarchiver à la racine de votre disque dur, disque ssd ou clé USB préparée comme dans la première partie de cet article.

Installeur Windows et Linux

Installeur Windows et Linux

Ajoutez le texte suivant à la fin du fichier grub.cfg précédemment préparé
menuentry "Bento 16.04" {
set isofile="/bento-openbox-16.04.test-x86_64.iso"
search --set=root --file $isofile
loopback loop $isofile
linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper noprompt quiet splash --
initrd (loop)/casper/initrd.lz
}

Vous pouvez remplacer les parties suivantes pour les adapter en fonction de la version de Ubuntu que vous voudrez utiliser:
ligne 1 : menuentry "Bento 16.04" // ici vous remplacerez le texte entre guillemets
ligne 2 : set isofile="/bento-openbox-16.04.test-x86_64.iso" // ici vous remplacerez le nom du fichier iso par celui que vous avez choisi

C’est presque tout : si ça ne fonctionnait pas direct quand vous démarrez, montez l’image disque Linux comme présenté précédemment pour celle de Windows:
Entrez dans le sous-répertoire isolinux, ouvrez le fichier txt.cfg à l’aide de votre éditeur de texte préféré, et… Essayez de voir si vous avez besoin d’autres paramètres dans votre bloc de texte.

Pour Bento Openbox, qui est une version dérivée de Ubuntu, la partie intéressante dans le contenu du fichier est celle-ci:

menu label ^Try Ubuntu without installing
kernel /casper/vmlinuz
append file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash --
label live-install

Je n’avais pas réussi à démarrer du premier coup, ayant utilisé un bloc de texte copié depuis une documentation en ligne. Après avoir consulté ce fichier j’ai pu voir que le nom du fichier initrd dans l’image est “initrd.lz”, alors que le texte que j’avais copié contenait juste “initrd”. Il a suffit de rectifier cette partie pour réussir à démarrer sur le disque externe USB.

Si vous voulez voir défiler les messages du démarrage, vous pouvez aussi supprimer la partie « quiet splash » pour la remplacer par « noquiet » dans la 5ème ligne du bloc de texte. Et vous aurez alors:
linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper noprompt noquiet --

au lieu de:
linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper noprompt quiet splash --

Toutes les lignes de code présentées ici peuvent être copié-collées respectivement dans le terminal pour les unes, et dans votre éditeur de textes pour les autres. Le formatage de couleur ne sera pas un problème, sauf si vous utilisez un logiciel de traitement de textes au lieu d’un éditeur de textes.

Si vous voulez préparer votre périphérique auto-amorçable pour démarrer d’autres distributions Linux, de nombreuses méthodes sont disponibles en ligne, et nous pouvons aussi vous aider.

Avez-vous aimé cet article ? Si vous l’avez trouvé utile ou que vous ayez des questions, vous pouvez poster un commentaire en dessous.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.