Donc, j'ai utilisé Ubuntu pendant un mois ou deux en double démarrage avec Windows 8, ça avait l'air bien et ça fonctionnait bien, mais il est tombé en panne pour une raison quelconque et j'ai dû restaurer tout le PC. En raison de cette mauvaise expérience, j'ai décidé de réinstaller Ubuntu sur un disque dur externe séparé de mon ordinateur Windows principal. Cette option semble être bonne pour les deux systèmes d'exploitation.
Cependant, lors de l’installation d’Ubuntu, le chargeur de démarrage Grub n’était pas installé sur le lecteur externe, alors que l’ancien chargeur de démarrage Grub n’était jamais effacé du disque dur interne du PC. En conséquence, je me trouve dans une situation étrange: lorsque je veux utiliser Windows, je mets simplement le PC sous tension et je pars. Quand je veux utiliser Linux, je dois brancher le lecteur externe, aller dans le menu de démarrage et changer le chargeur de démarrage de Windows en Grub. Le disque dur externe n'est pas amorçable (comme une clé USB par exemple) et cette longue séquence d'opérations doit être répétée à chaque fois.
Récapitulation rapide:
Ma question: comment puis-je rendre le lecteur externe amorçable de sorte que, lorsque je souhaite passer de Windows à Linux, je mette simplement le PC hors tension, branchez la clé USB, allumez le PC et continuez? (sans perdre les données que j'ai déjà stockées et toutes les préférences)
PS Pour une raison quelconque, Windows est terriblement lent lorsqu'il est chargé via le chargeur de démarrage Grub disponible dans le lecteur interne. De plus, si le disque dur externe n’est pas branché, le chargeur de démarrage Grub affiche uniquement le panneau de secours Grub. Donc, utiliser Grub déjà installé comme seul chargeur de démarrage n’est pas une option.
J'ai finalement trouvé la solution à mon problème. Je le posterai ici au cas où quelqu'un en aurait besoin. De plus, je ne suis pas tout à fait sûr de ce qui a fonctionné et si toutes les mesures que j'ai prises étaient vraiment nécessaires, mais cela a fonctionné.
pour vérifier l'UUID des partitions, tapez simplement le terminal
ls -l /dev/disk/by-uuid
pendant la modification du fichier fstab
Sudo nano /etc/fstab
Maintenant, installez Grub. (Vous pouvez également essayer de copier grub du lecteur interne vers la partition du lecteur externe, mais cela ne fonctionne pas pour moi).
Sudo grub-install/dev/sdX
remplacez sdX par le lecteur actuel.
C'est ainsi que j'ai installé grub sur mon disque dur externe sur lequel Ubuntu 17.04 était installé. Lorsque vous faites cela, il vous permet de démarrer votre Ubuntu sur n’importe quel PC prenant en charge UEFI en utilisant le grub de l’extérieur sans s’appuyer sur le grub du PC. Il peut également servir de sauvegarde au cas où il y aurait un problème avec EFI de Windows.
Démarrez dans une clé USB Live Ubuntu et connectez le disque dur externe.
Liste des partitions de tous les périphériques:
lsblk
À partir des résultats de lsblk
, identifiez la partition linux ainsi que la partition efi du disque dur externe, à savoir /dev/sdXY1
et /dev/sdXY2
respectivement. Remplacez XY1
et XY2
par vos propres noms de partition.
Monter spécialement la partition linux:
Sudo mount /dev/sdXY1 /mnt
Monter des systèmes de fichiers virtuels critiques:
for i in /dev /dev/pts /proc /sys /run; do Sudo mount -B $i /mnt$i; done
chroot
dans la partition Linux que vous avez montée:
Sudo chroot /mnt
Vous êtes maintenant dans le système de fichiers Linux du disque dur externe.
Créez le répertoire où grub installera ses fichiers:
mkdir -p /boot/efi
S'il existe déjà, passez à l'étape 8.
Montez la partition efi à partir de l'étape 3:
mount /dev/sdXY2 /boot/efi
Installez grub sur le disque dur externe:
grub-install /dev/sdX
Mettre à jour la nourriture:
update-grub
Trouvez l'UUID de la partition efi (aka 'vfat') et notez-le:
blkid
ou
ls -l /dev/disk/by-uuid
Maintenant, nous devons dire à fstab de monter cette partition au démarrage:
cp /etc/fstab /etc/fstab.bak
Sudo nano /etc/fstab
Ajoutez les deux lignes ci-dessous à fstab en remplaçant xxxx-xxxx par l'UUID de l'étape 11:
#my modified fstab to mount external hard drive's esp
UUID=xxxx-xxxx /boot/efi vfat umask=0077 0 1
Assurez-vous de commenter l'entrée fstab de Windows esp pour qu'elle ne soit pas en conflit.
Quittez le chroot:
exit
Redémarrez le PC:
Sudo reboot
À ce stade, lorsque vous redémarrez et choisissez votre périphérique externe à partir du gestionnaire de démarrage EFI, il démarrera sur grub.
Pour que Ubuntu démarre automatiquement lorsque vous insérez l'externe et que Windows démarre automatiquement lorsque l'externe n'est pas inséré, vous devez créer une entrée de démarrage personnalisée pour qu'Ubuntu pointe vers l'efi du lecteur externe:
Depuis Windows , EasyUEFI peut ajouter ou supprimer des entrées de démarrage.
Depuis Linux , efibootmgr peut ajouter ou supprimer des entrées de démarrage.
Alternative # 1 - en utilisant EasyUEFI
Sous Windows, téléchargez EasyUEFI, installez-le et lancez-le.
Choisissez le gestionnaire d'options EFI
Choisissez créez une nouvelle entrée avec le signe +
Choisissez Linux ou autre système d'exploitation et nommez-le dans la zone de description.
Sélectionnez la partition FAT32 EFI sur le lecteur externe contenant le chargeur de démarrage Grub.
Choisissez parcourir
Naviguez jusqu'à / efi/ubuntu/shimx64.efi ou / efi/ubuntu/grubx64
Sauver
Déplacez-le en haut de la liste des entrées de démarrage
Redémarrer
Alternative # 2 - en utilisant efibootmgr
Liste des entrées du menu de démarrage:
efibootmgr
Créez une entrée de démarrage:
efibootmgr -c [-L label] [-d /dev/sdX]
exemple: efibootmgr -c -L myubuntu -d /dev/sdX
Cette entrée de démarrage serait automatiquement la première entrée.
/dev/sdX
est le disque dur externe avec le chargeur de démarrage grub.
Vous pouvez maintenant redémarrer et sans votre intervention, Ubuntu s’amorcerait automatiquement lorsque le disque dur externe est branché. Lorsque le disque dur externe n’est pas branché, le PC saute notre entrée bunt à la prochaine entrée qui est probablement Gestionnaire de démarrage Windows.