J'ai installé Windows 10 sur un disque dur USB 3.0 externe. Actuellement, le seul moyen de le démarrer consiste à accéder à mes options de démarrage du BIOS et à le choisir dans la liste.
J'ai installé Ubuntu 16.04 sur un SSD M.2 interne, mais le programme d'installation d'Ubuntu n'a pas ajouté automatiquement une option permettant à GRUB2 de démarrer le lecteur externe comme prévu.
Je ne sais pas comment ajouter une entrée de menu qui indique à grub de démarrer à partir du lecteur externe sur lequel Windows 10 est installé. Je sais que je peux utiliser la commande de recherche avec l'uuid du lecteur externe pour définir la variable racine, mais je ne sais pas comment utiliser la commande de démarrage après cela, ni le fichier à modifier pour ajouter des options de démarrage.
UPDATE: J'ai fini par faire quelque chose comme la réponse acceptée, mais beaucoup plus simple
menuentry "Windows 10" {
set root=(hd0,msdos1)
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
Typiquement, Grub exécute os-prober
sur monté et ajoute des entrées automatiquement.
Pour les entrées de menu personnalisées, vous pouvez ajouter votre propre configuration à /etc/grub.d/40_custom
. Je recommanderais cette option car, s’appuyant sur os-prober, la partition de l’autre système d'exploitation est toujours montée lorsque la configuration de Grub est mise à jour, ce qui est le cas lorsque le gestionnaire de mise à jour installe un nouveau noyau Linux ou met à jour le paquet grub lui-même (par exemple, sécurité). mises à jour).
Pour les prochaines étapes, je suppose que vos démarrages Ubuntu avec UEFI et Windows 10 font de même, si ce n’est pas le cas, regardez ici ou dans la section MBR du the article du arch wiki où j'ai emprunté le code suivant:
menuentry "Microsoft Windows Vista/7/8/8.1 UEFI-GPT" {
insmod part_gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --set=root $hints_string $fs_uuid
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
Placez ceci dans votre 40_custom et remplacez les variables $hints_string
et $fs_uuid
par le résultat des commandes grub-probe
. Pour ce faire, vous devez monter la partition système EFI (c'est ce que ESP) du lecteur Windows To Go. Le moyen le plus simple est de lancer gnome-disks
, de sélectionner votre lecteur et la partition, puis de cliquer sur le bouton de lecture () et de noter où il a monté le lecteur (généralement/media/votre_nom_utilisateur) et de remplacer $esp
par ceci. chaîne (ajoutez des guillemets si nécessaire) dans les commandes suivantes:
# fs_uuid
grub-probe --target=fs_uuid $esp/EFI/Microsoft/Boot/bootmgfw.efi
# hints_string
grub-probe --target=hints_string $esp/EFI/Microsoft/Boot/bootmgfw.efi
Essayez simplement de dire à GRUB d'essayer de détecter d'autres systèmes d'exploitation.
Lancez un terminal (CTRL+ALT+T) et exécutez la commande suivante:
Sudo update-grub
Si cela ne fonctionne pas, essayez de démarrer à partir d'un DVD/USB en direct et d'exécuter cette commande à partir du terminal:
Sudo grub-install /dev/sda #Replace block accordingly