Comment savoir si grub est installé sur un disque et quels sont ses paramètres (en particulier ce qu’il a pour le paramètre root)
Je dois vérifier un grand nombre de disques dans les baies logicielles RAID1 pour m'assurer que grub est installé sur les deux disques, le grub de chaque disque ayant la valeur racine appropriée.
software-raid
grub
DrStalker
la source
la source
grub
0,9 x ou moins était couramment utilisé et longtemps avant qu'il ne soit renommégrub-legacy
. Si cela vous dérange, je suggère de poser une nouvelle question spécifiquement surgrub2
. Vous pouvez également mener une campagne pour corriger toutes les questions et réponses devenues obsolètes avec le temps.Réponses:
MISE À JOUR:
Cette réponse date de 2009 et s'applique à grub-legacy, pas à grub2.
Vous pouvez utiliser
file
pour identifier GRUB dans un MBR. par exempleLe
root=
paramètre n'est pas stocké dans le MBR, mais dans lemenu.lst
fichier GRUB stocké dans un système de fichiers (généralement dans le répertoire / boot / grub de la racine fs ou le répertoire grub du système de fichiers / boot - mais pas toujours pourrait être n'importe où).Vous devrez analyser la sortie du fichier ci-dessus, déterminer le disque / la partition sur lequel se trouve le
menu.lst
fichier, le monter, le lire et l’analyser. Vous voudrez aussi lire dans le fichier grub / default pour déterminer quelle entrée de menu est la valeur par défaut, car c'est probablement celle qui a le paramètre root = qui vous intéresse le plus.la source
Méthode alternative
file -s
ne fonctionnait pas pour moi dans Ubuntu Lucid, car les fichiers magiques de ma commande de fichier étaient obsolètes . Une autre façon de procéder si vos fichiers magiques n’ont pas suivi les modifications de GRUB consiste à examiner les 512 premiers octets du périphérique à l’aide de ladd
commande suivante:Cela envoie la sortie de la
dd
commande à travers lastrings
commande, éliminant ainsi les caractères non imprimables (les statistiques de transfert sont ignorées/dev/null
).Si vous voyez des messages que GRUB afficherait en cas d'échec, vous avez installé grub.
Chapeau de chapeau à louib sur ubuntuforums.org pour avoir répondu à cet article protégé par mot de passe: http://ubuntuforums.org/showthread.php?t=363372
Pour les curieux, voici ce que j'ai obtenu
file -s
:Il n'y a rien spécifiquement à propos de GRUB.
la source
file -s
sur lequel j'ai initialement essayé la commande utilise grub-pc, qui est apparemment GRUB2, donc on dirait que vous êtes partiellement correct. Cependant, j'aifile -s
utilisé GRUB 0.97 sur d’autres systèmes, mais cela ne fonctionnait pas sur d’autres. La différence entre ces systèmes résidait dans les numéros des fichiers magiques fournis avec la commande de fichier. L'échange de fichiers de nombres magiques a confirmé que les définitions du système inutilisé entraînaient l'échec de ce dernier.Vous pouvez utiliser
grub-emu
pour voir le menu que grub affichera lors du prochain redémarrage de la machine.Sur mon ordinateur de bureau, le menu était affiché comme prévu, bien que si je prétendais réellement démarrer un noyau, je reçois une erreur «aucun de ces périphériques». Je pense que c'est le comportement attendu.
Sur mon DigitalOcean VPS, aucune entrée n’était affichée dans le menu grub, bien que le serveur ait réellement redémarré. (Il s'agit d'un VPS 2013, votre kilométrage peut donc varier.)
Quelques notes lors de l'exécution
grub-emu
:c
puis en tapantexit
.reset
. (Ne vous inquiétez pas, il ne redémarrera pas votre ordinateur. Il ne fera que nettoyer votre terminal.)la source
c
suivie deexit
ne fonctionnait pas pour moi.