Comment exécutez-vous update-grub?

25

Je suis allé sur Live CD et j'ai activé Terminal. Ensuite, j'ai tapé gksu nautiluspour obtenir un accès temporaire à mon répertoire racine. Une fois la fenêtre du gestionnaire ouverte, j'ai cliqué sur Système de fichiers et accédé au /etc/default/grubrépertoire. J'ai ensuite double-cliqué sur le fichier Grub pour apporter des modifications à TIMEOUTet TIMEOUT_QUIET.

J'ai enregistré le fichier après avoir effectué les modifications. Ensuite, je suis retourné au mode terminal et j'ai tapé:

gksu update-grub

Le message d'erreur que j'ai reçu était:

Impossible de trouver un périphérique pour / (est / dev monté?)

Je ne sais pas quoi faire à ce stade. Comment puis-je exécuter update-grubpour mettre à jour les modifications? Merci d'avance pour votre aide. Veuillez être très détaillé et précis avec votre réponse car je suis totalement nouveau dans cet environnement.

newbietoubu
la source

Réponses:

24

Phase 1 - Remarque: n'utilisez pas de Live CD.

  • Dans votre Ubuntu, ouvrez un terminal (appuyez sur Ctrl+ Alt+ Ten même temps)
  • Tapez gedit admin:///etc/default/grub
    Cela exécutera l'éditeur de texte gedit , si vous en utilisez un autre, tapez simplement son nom à la place de gedit.
  • Apportez les modifications que vous souhaitez apporter et enregistrez-les.
  • Fermez gedit.
    Votre terminal doit toujours être ouvert.
  • Dans le type de terminal sudo update-grub, attendez la fin de la mise à jour.
  • Redémarrez votre ordinateur.

Phase 2 - Après vous être connecté à votre système

  • Ouvrez à nouveau un terminal ( Ctrl+ Alt+ T).
  • Tapez dans le terminal gksu gedit /etc/default/grub
  • Pour voir le menu grub au démarrage,
    commentez ou supprimez la ligne suivante:GRUB_HIDDEN_TIMEOUT=0
    • Pour commenter, ajouter #au début de cette ligne, le résultat sera#GRUB_HIDDEN_TIMEOUT=0
  • Enregistrez le fichier.
  • Encore une fois dans la course du terminal sudo update-grub.

Si voir le menu grub au démarrage est la seule chose que vous voulez, vous devez annuler les modifications antérieures du fichier.

jeroen
la source
Merci pour votre réponse. Le problème d'origine que j'essaie de résoudre est que je ne parviens pas à ouvrir le menu grub. J'ai donc pensé que je devais utiliser le Live CD pour accéder au fichier de configuration grub et apporter mes modifications. J'ai lu que si je modifiais TIMEOUT à 10 et TIMEOUT_QUIT à true, je serais en mesure d'accéder au menu Grub. Lorsque je démarre le système, je maintiens la touche Maj enfoncée. Je vois les mots GRUB MENU apparaître juste une fraction de seconde. Donc, sans pouvoir utiliser le Live CD pour accéder à Terminal, je ne sais pas comment modifier le fichier de configuration GRUB. Des suggestions sur la façon d'accomplir cela?
newbietoubu
Je pense que jeroen a répondu directement à cette question. Peut-être que vous essayez de modifier le menu grub dans grub ???
pfeiffep
2
Voir ma réponse améliorée.
jeroen
6

Vous obtenez ce message car le Live CD ne monte pas de système de fichiers inscriptible. Il est uniquement destiné à être utilisé pour essayer Ubuntu ou pour sauver un système endommagé. L'exécution d'un sudo update-grubne fonctionne que sur une version installée d'Ubuntu, où vous avez un accès en écriture aux fichiers GRUB sous-jacents (et sur un Live CD, vous ne l'avez pas).

Aaron
la source
4
Bonne info, mais le PO aimerait également savoir comment il peut apporter les modifications qu'il souhaite /etc/default/grubet ensuite update-grub.
chasse le
2

Vous pouvez faire la mise à jour-grub à partir d'un CD live sur une distribution Ubuntu installée (bien que je suppose que cela fonctionne avec n'importe quelle distribution Linux [basée sur Debian?]. Elle est "requise" (il peut y avoir d'autres méthodes mais sachant celle-ci, je ne ne vous en souciez pas du tout) si vous clonez votre disque et avez déjà installé le nouveau dans l'ordinateur. Je mentionne le clonage ici en détail, parce que dans un sens, l'étape de mise à jour-grub en est un sous-ensemble et les approches ont le même lors d'une session en direct. Cette méthode a également été découverte grâce à la recherche dans le contexte du clonage. Vous pouvez en tirer ce dont vous avez besoin si vous ne clonez pas, et votre processus sera simplifié.

Je devrais qualifier cela ici; surtout pour le clonage, pas pour la simple mise à jour-grub: je l'ai fait uniquement sur les systèmes BIOS. Je ne l'ai pas essayé sur un système UEFI. Le système UEFI nécessite une partition FAT pour le chargement de démarrage et je n'ai pas testé si cette partition devrait simplement accompagner le trajet pendant les étapes de copie de clonage. Je m'attends à ce que cela affecte le montage [bind-] requis qui synthétise l'environnement grub natif pendant la session en direct ...

Ceci est détaillé sur cette page: http://frugaltech.happystoic.com/ssdlinux . J'ai utilisé cette méthode plusieurs fois et vous pouvez échanger des disques durs à l'infini en l'utilisant. L'échange de disques durs physiques devient si trivial de cette façon, il est tentant d'en faire son propre passe-temps et / ou d'essayer de réparer les ordinateurs gênés des autres.

Ce qui suit peut être une paraphrase utile de ce que vous y trouverez:

  1. Ctrl+ Alt+ Tpour le terminal Bash et entrez un shell superutilisateur ( sudo -s) lors d'une session en direct.

  2. montez la partition complète du lecteur d'installation (celle qui est [ou deviendra] votre répertoire racine permanent du système de fichiers Linux).

    2a. Si l'installation complète existe déjà sur votre disque dur, passez à (2). SI vous clonez: [en supposant que vous ne faites pas une nouvelle installation, car tout est entièrement automatique dans ce cas] si votre installation complète n'existe pas déjà sur cette partition, il est maintenant temps de simplement

    rsync -a /existing/linux/filesystem/live-mount-point/ /new/linux/filesystem/live-mount-point/ 
    

    [ces points de montage sont purement par rapport à l'environnement de session en direct - dans Ubuntu, ils sont généralement de la forme "/ media / ubuntu / ???"] sur le nouveau disque [partition].

    2b. Les autres installations complètes du système d'exploitation peuvent être traitées de la même manière ici. J'ai généralement utilisé une ressource Windows pour copier à l'avance des partitions Windows sur de nouveaux disques, mais j'ai également utilisé rsync et cela a fonctionné pour Win XP (en supposant que vous preniez en charge le format de partition correct, tel que ntfs; je pense que le les médias de session en direct incluent généralement un support de format alternatif). Faites juste attention à votre orthographe et utilisez la fin /du répertoire source si vous nommez entièrement la cible.

  3. bind-montez les répertoires live /dev, /procet /sysdans leurs répertoires respectifs sur la partition d'installation permanente permanente [montée] que vous cherchez à utiliser. Le script détaillé dans le lien ci-dessus accomplit cela très élégamment avec une déclaration "for". De plus, le script donné n'a pas besoin d'être exécuté en tant que script, en soi. Il peut être saisi ligne par ligne à partir de l'invite bash.

  4. chrootà la partition d'installation complète permanente. Après avoir effectué (3) et (4), le système "réside virtuellement" dans votre "système de fichiers final" et GRUB fonctionnera de manière homogène. Sans ces étapes, grub supposera que votre système est simplement une session en direct, et je ne sais pas précisément ce qu'il fait dans ce cas, mais ce n'est pas suffisamment le résultat souhaité, comme indiqué ci-dessus dans ce fil.

  5. exécutez grub-install sur le /dev/sdX(lecteur, pas le point de montage) qui correspond à l'installation permanente (ou quel que soit le lecteur qui hébergera GRUB si un système à plusieurs lecteurs [, multi-démarrage]). La flexibilité ici peut dépendre de votre cru et de votre BIOS. Autant que je sache, exécuter "grub-install" ne fait rien de nuisible s'il n'est pas nécessaire, donc je le fais toujours si j'utilise cette méthode de session en direct.

  6. exécutez update-grub et il agira comme si le système en cours d'exécution est imbriqué dans la future partition permanente, découvrant tous les noyaux et les systèmes d'exploitation amorçables dont vous disposez.

  7. Si vous n'avez pas physiquement changé de disque dur, passez à (5). Sinon, modifiez ou vérifiez votre /new/linux/filesystem/live-mount-point/etc/fstabfichier pour garantir une structure de système de fichiers correcte pour votre [nouvel] environnement. Si vous êtes à ce niveau, vous savez sûrement déjà comment utiliser blkid pour collecter les UUID pour fstab.

    À mon humble avis: vous devez toujours utiliser les UUID sous fstab (pas sous la forme "dev / sdXY") car dans sa propre portée, il est immunisé contre la reconfiguration du disque dur physique, autre que le degré auquel cela nécessite des mises à jour littérales des valeurs UUID (comme si à à un moment donné, vous installerez un disque dur supplémentaire pour votre répertoire / home, etc.). C'est simplement l'approche la plus fondamentale, la plus robuste et la plus invariante.

  8. quittez le chroot, quittez la supershell, quittez bash, arrêtez et démarrez le système sans le média en direct. Vous devriez maintenant être là où vous vouliez.

    Important: les arguments pour mount et chrootsont des répertoires (généralement, des POINTS DE MONTAGE tels que /mnt/??ou /media/??) correspondant à la session en direct. Dans la plupart sinon tous les cas, une installation complète réside dans sa propre partition, donc les termes "répertoire" et "point de montage" sont essentiellement synonymes ici. L'argument pour grub-install est un LECTEUR PHYSIQUE (généralement /dev/sdX, où "X" est une lettre correspondant au lecteur de votre système, sda, sdb, etc. et cela ne devrait pas dépendre de la session).

Vous devriez maintenant avoir terminé. J'ai cloné simultanément Windows (XP et 7) dans diverses permutations aux côtés d'Ubuntu et de Puppy en utilisant cette méthode et cela ne m'a pas échoué. Je pense que vous pouvez utiliser un support live d'une distribution différente (je n'ai utilisé que différentes saveurs Ubuntu et Mint pour cela cependant) tant qu'ils fournissent la version de GRUB que vous avez l'intention d'utiliser. Vous pouvez déplacer des partitions, échanger des lecteurs, combiner d'autres installations de système d'exploitation et cloner vers ou depuis SSD à l'aide de cela. Cependant, je ne peux que lui parler en travaillant sur la même machine. Je suppose que les pilotes qui pourraient être requis pour une autre machine peuvent avoir été ignorés lors de votre installation complète précédente. Ma règle de base est que le changement de lecteurs sur un ordinateur nécessite cette méthode, mais le changement d'ordinateurs avec un lecteur nécessite une réinstallation complète.

Peut-être que quelqu'un peut démystifier cela ..?

Jonathan Whittum
la source
1
Bienvenue sur Ask Ubuntu! :-) Excellente première réponse! +1
Fabby