J'ai une machine qui a des partitions multi-boot. J'ai Ubuntu 14.04 sur une partition, Ubuntu 15.04 sur la deuxième et Ubuntu 16.04 sur une troisième. Existe-t-il un moyen de savoir, à partir de la ligne de commande, à partir de quelle partition j'ai démarré, afin de vous trouver sur quelle partition se trouve le système d'exploitation Ubuntu. /boot/grub/grub.cfg
qui a été utilisé pour le processus de démarrage ? J'ai /boot/grub/grub.cfg
sur chacune des trois partitions.
Réponse
Trop de publicités?Pour savoir à partir de quelle partition l'utilisateur a démarré, regardez le menu boot loader. avant de démarrer un des systèmes installés. C'est difficile à dire sans voir le menu boot loader.
Où regarder
Dans les captures d'écran combinées suivantes, j'ai étiqueté trois indices permettant de savoir à partir de quelle partition l'utilisateur a démarré.
Étiquette (1) : Entrées du menu GNU Grub sous la première entrée.
Étiquette (2) : Version de GNU Grub en haut du menu Grub.
Étiquette (3) : Image de fond de GNU Grub (configuration manuelle requise)
L'indice le plus apparent est l'étiquette (3), qui consiste à changer l'image de fond de GNU Grub sur le système qui a le contrôle du menu Grub. C'est le plus facile à dire, à condition que l'utilisateur le configure au préalable.
Étiquette (1) expliquée
Recherchez une partition qui est no énumérés dans les entrées de menu en dessous de la première entrée. Dans la capture d'écran, seuls deux systèmes d'exploitation sont installés, à savoir "Ubuntu" et "Ubuntu 14.04.5 LTS".
Ubuntu
Advanced options for Ubuntu
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)
Ubuntu 14.04.5 LTS (14.04) (on /dev/sda3)
Advanced options for Ubuntu 14.04.5 LTS (14.04) (on /dev/sda3)
Ce dernier a mentionné (on /dev/sda3)
ce qui signifie que le premier pourrait être situé sur /dev/sda2
o /dev/sda1
. Pour être sûr, après avoir démarré le système, c'est-à-dire "Ubuntu", exécutez la commande appropriée pour lister les partitions disponibles ( lsblk
semble être la plus simple).
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 13G 0 disk
sda1 8:1 0 976M 0 part [SWAP]
sda2 8:2 0 6G 0 part /
sda3 8:3 0 6G 0 part
sr0 11:0 1 55.7M 0 rom
Seulement après avoir comparé avec la sortie de lsblk
alors nous savons que le système, c'est-à-dire "Ubuntu", se trouve à l'adresse suivante /dev/sda2
(qui était no énumérés dans les entrées de menu) à partir desquels le menu boot loader est géré.
Étiquette (2) expliquée
Recherchez la version Grub qui est imprimée en haut du menu Grub. Notez cette version et comparez-la à la version Grub qui se trouve sur le système démarré, c'est-à-dire "Ubuntu".
Dans la capture d'écran (moitié inférieure) : GNU GRUB version 2.02~beta2-9
Après avoir démarré le système, c'est-à-dire "Ubuntu", exécutez la commande pertinente pour vérifier la version du paquet Grub ( grub-install --version
est pertinente et la plus simple).
$ grub-install --version
grub-install (GRUB) 2.02~beta2-9
En quoi cela est-il pertinent ? Parce que grub-install
y update-grub
sont toutes deux fournies par le même paquet grub2-common
. Étant donné que le menu boot loader est créé et mis à jour à l'aide d'outils du même paquet, la version imprimée en haut du menu boot loader sera la même.
Étiquette (3) expliquée
Cette indication nécessite d'être configurée manuellement, car l'image de fond par défaut du menu boot loader est nulle (juste noir uni). L'image de fond doit avoir une profondeur de 8 bits.
Si desktop-base
est installé sur votre système, de telles images de fond qui sont faites spécialement pour Grub sont facilement trouvées avec le suffixe de nom de fichier *grub.png
dans le répertoire cible.
$ ls /usr/share/images/desktop-base/*grub.png
/usr/share/images/desktop-base/desktop-grub.png
/usr/share/images/desktop-base/joy-grub.png
/usr/share/images/desktop-base/moreblue-orbit-grub.png
/usr/share/images/desktop-base/spacefun-grub.png
Pour configurer l'image de fond :
-
Ouvrir
/etc/default/grub
en tant que superutilisateur, puis ajoutez la ligneGRUB_BACKGROUND=
avec le chemin complet de l'image choisie et citée.$ sudo nano /etc/default/grub ... GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX="" # Show background in GRUB boot menu GRUB_BACKGROUND="/usr/share/images/desktop-base/spacefun-grub.png" ...
-
Ensuite, exécutez
sudo update-grub
de mettre à jour/boot/grub/grub.cfg
qui comprend le menu boot loader. L'utilisateur verra une sortie similaire à ce qui suit.$ sudo update-grub Generating grub configuration file ... Found background: /usr/share/images/desktop-base/spacefun-grub.png Found background image: /usr/share/images/desktop-base/spacefun-grub.png Found linux image: /boot/vmlinuz-3.13.0-24-generic Found initrd image: /boot/initrd.img-3.13.0-24-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin Found Ubuntu 14.04.5 LTS (14.04) on /dev/sda3 done
-
Redémarrez la machine et voyez si le menu boot loader a eu des modifications visibles apportées par la commande de mise à jour du système.
Sinon, répétez les étapes pour les autres systèmes, un par un. Les étapes répétées auraient été inutiles, si l'utilisateur avait su quel système avait le contrôle du menu boot loader (encore une fois, cela dépend de la façon dont l'installation a été faite).
Avis de non-responsabilité
Cette réponse explique pour les critères éprouvés et bien testés pour le système BIOS avec la configuration multi-boot utilisant GNU Grub version PC/BIOS. Les exceptions suivantes s'appliquent.
-
Pour la contrepartie du système UEFI utilisant la version EFI de GNU Grub, il s'agit de no garanti ou no connu si les critères semblent être les mêmes que ceux décrits ci-dessus.
-
L'accent est mis sur le regarde du menu boot loader (comment il peut apparaître différent c'est-à-dire la moitié supérieure de la capture d'écran) plutôt que de démontrer comment le chargement en chaîne fonctionne. En tant que tel, en ce qui concerne "comment le démarrage multiple a été configuré comme on le voit dans la capture d'écran". no être expliqué dans cette réponse.
-
Si la configuration de démarrage multiple est faite d'exactement les mêmes copies d'un système d'exploitation similaire, c'est-à-dire Ubuntu 14.04, Kubuntu 14.04, Xubuntu 14.04, etc., alors le seul moyen fiable de savoir à partir de quelle partition l'utilisateur a démarré est l'étiquette (3).
-
L'étiquette (3) pourrait mieux fonctionner en utilisant une image d'arrière-plan personnalisée qui écrit explicitement à partir de laquelle elle est démarrée, c'est-à-dire "Ce menu de démarrage est géré à partir de /dev/sda1". De même, en ce qui concerne "comment créer une image d'arrière-plan personnalisée pour Grub", la question suivante se poserait no être expliqué dans cette réponse.
TL;DR Regardez le menu boot loader. avant le démarrage de l'un des systèmes installés. Le moyen le plus simple et le plus fiable de le savoir est l'étiquette (3), qui consiste à configurer manuellement l'image d'arrière-plan de Grub.
- Réponses précédentes
- Plus de réponses