web-dev-qa-db-fra.com

Comment lancez-vous update-grub?

Je suis allé dans Live CD et activé Terminal. Ensuite, j'ai tapé gksu nautilus pour 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 navigué vers le répertoire /etc/default/grub. J'ai ensuite double-cliqué sur le fichier Grub pour apporter des modifications aux TIMEOUT et TIMEOUT_QUIET.

J'ai sauvegardé le fichier après avoir apporté les modifications. Puis je suis revenu en 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/(/ dev est-il monté?)

Je ne sais pas quoi faire à ce stade. Comment puis-je exécuter update-grub pour mettre à jour les modifications? Merci d'avance pour votre aide. S'il vous plaît soyez très détaillé et spécifique avec votre réponse car je suis totalement nouveau dans cet environnement.

23
newbietoubu

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

  • Dans votre Ubuntu, ouvrez un terminal (appuyez sur Ctrl+Alt+T en même temps)
  • Tapez gedit admin:///etc/default/grub
    Ceci lancera l'éditeur de texte gedit, si vous en utilisez un autre, saisissez-en le nom au lieu de gedit.
  • Apportez les modifications que vous souhaitez apporter et enregistrez-les.
  • Fermez gedit.
    Votre terminal devrait 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 le terminal gksu gedit /etc/default/grub
  • Pour voir le menu de menu au démarrage,
    commentez ou supprimez la ligne suivante: GRUB_HIDDEN_TIMEOUT=0
    • Pour commenter, ajoutez # au début de cette ligne, le résultat sera #GRUB_HIDDEN_TIMEOUT=0
  • Enregistrez le fichier.
  • Encore une fois dans le terminal, lancez Sudo update-grub.

Si vous souhaitez uniquement afficher le menu de démarrage au démarrage, annulez les modifications apportées précédemment au fichier.

23
jeroen

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

6
Aaron

Vous pouvez faire update-grub à partir d’un live CD sur un Ubuntu Distro installé (bien que je suppose que cela fonctionne avec n’importe quelle distribution linux [basée sur debian?]. Elle est "obligatoire" (il peut y avoir d’autres méthodes, mais connaissant celle-ci, je ne ne vous en souciez pas du tout) si vous clonez votre lecteur et que vous avez déjà installé le nouveau sur l'ordinateur. Je parle ici beaucoup de clonage, car dans un sens, l'étape update-grub en est un sous-ensemble et les approches ont la même Cette méthode a également été découverte grâce à une recherche dans le contexte du clonage. Vous pouvez en prendre ce dont vous avez besoin si vous ne clonez pas, et votre processus sera simplifié.

Je devrais qualifier ceci ici; c'est important pour le clonage, pas pour simplement mettre à jour update-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 du démarrage et je n’ai pas vérifié si cette partition devait uniquement accompagner le processus de copie lors du clonage. J'imagine que cela affecte le montage [bind-] requis qui synthétise l'environnement Grub pendant la session en direct ...

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

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

  1. Ctrl+Alt+T pour le terminal Bash et entrez un superutilisateur Shell (Sudo -s) pendant 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 êtes en train de CLONER: [en partant du principe que vous n’effectuez pas une nouvelle installation, puisque tout est entièrement automatique dans ce cas-là] 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 ne concernent que l'environnement de session en direct. Sous Ubuntu, ils se présentent généralement sous la forme "/ media/ubuntu/???"] sur la nouvelle partition [partition].

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

  3. bind-montez les répertoires live /dev, /proc et /sys dans leurs répertoires respectifs sur la partition d'installation complète permanente [montée] que vous souhaitez utiliser. Le script détaillé dans le lien ci-dessus accomplit ceci très élégamment avec une déclaration "pour". En outre, le script donné n'a pas besoin d'être exécuté en tant que script en tant que tel. Il peut être saisi à partir de l'invite bash, ligne par ligne.

  4. chrootà la partition d'installation complète permanente. Après avoir fait (3) et (4), le système "réside maintenant" 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 exactement ce qu'il fait dans ce cas, mais suffisamment pour obtenir le résultat souhaité, comme ce qui a été mentionné plus haut dans ce fil.

  5. lancez grub-install sur le /dev/sdX (lecteur, pas le point de montage) correspondant à l’installation permanente (ou quel que soit le lecteur hébergeant GRUB s’il s’agit d’un système multi-lecteurs [ multi-boot]). La flexibilité ici peut dépendre de votre millésime et de votre BIOS. Pour autant que je sache, lancer "grub-install" ne fait rien de dangereux si ce n'est pas nécessaire, je le fais donc toujours si j'utilise cette méthode de session en direct.

  6. exécutez update-grub et agira comme si le système en cours d’exécution était imbriqué dans la future partition permanente, en découvrant tous les noyaux et systèmes d’amorçage disponibles.

  7. Si vous n'avez pas physiquement changé de disque dur, passez à (5). Sinon, éditez ou vérifiez votre fichier /new/linux/filesystem/live-mount-point/etc/fstab pour vous assurer que la structure du système de fichiers est adaptée à votre [nouvel] environnement. Si vous êtes à ce niveau, vous connaissez sûrement déjà l'utilisation de blkidpour collecter des UUID pour fstab.

    IMHO: vous devez toujours utiliser les UUID sous fstab (et non sous la forme "dev/sdXY") car il est immunisé contre la reconfiguration physique du disque dur, à l'exception du degré auquel cela nécessite des mises à jour littérales des valeurs UUID (comme si vous installerez ultérieurement 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 invariable.

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

    Important: Les arguments pour mountet chrootsont des répertoires (en général, des points de montage, tels que /mnt/?? ou /media/??) correspondant à la session en direct. Dans la plupart des cas, voire tous, une installation complète réside dans sa propre partition, les termes "répertoire" et "point de montage" sont donc essentiellement synonymes. L'argument pour grub-install est un disque 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 simultanément cloné 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 en direct d’une distribution différente (j’ai toutefois utilisé seulement des saveurs Ubuntu et Mint différentes) à condition de fournir la version de GRUB que vous souhaitez utiliser. Vous pouvez déplacer des partitions, permuter des lecteurs, combiner d'autres installations de système d'exploitation et cloner vers ou depuis SSD à l'aide de cette opération. Cependant, je ne peux en parler que dans la même machine. Je suppose que les pilotes qui pourraient être requis pour une machine différente ont peut-être été ignorés lors de votre précédente installation complète. Ma règle empirique est de changer de lecteur sur un ordinateur, mais cette méthode nécessite une installation complète.

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

1
Jonathan Whittum