Outils pour utilisateurs

Outils du site


Panneau latéral

Accueil

Menu Linux

Menu Windows

iPhone

Raspberry

I. Partie LINUX

  • Préliminaire

Introduction Linux

LiveCD Linux

  • Installation

LiveCD Ubuntu

Installation Ubuntu

Ubuntu Studio

Cubuntu

Ubuntu-Mate

Ubuntu sur Netbook

Installation sur support USB

Installation sur support USB

Installation sans CD-ROM

Installation Second Ubuntu

Réinstallation sur mono-partition

Installations, mises à jour

Réinstallation/Migration version Ubuntu

Conversion Desktop->Serveur

Applications Ubuntu

Documentation-Aides

  • Aller plus loin

Arborescence Ubuntu

Recherche Ubuntu

Edition Linux

Shell/Terminal/Super Utilisateur

Commandes Linux (1)

Commandes Linux (2)

Utilisateurs, groupes, droits

Imprimante/Scanner Linux

Compression-Archivage

Déplacer le /home

Fusion de deux /homes

Changement d'ordinateur

Bureau-Gnome

Environnement graphique

Imagemagick

Dokuwiki

Second Dokuwiki

  • Réseau

Connexion Linux

Réseau Linux

Partage connexion

Paramétrage routeur

Répéteur Wifi

Analyse Réseau - Gestion parc

Partages Linux

Partage anonyme Samba

Exemple Partage Samba

Fichier partage Samba

Exemple Réseau NFS

Webmin

Usermin

Transferts Linux

Contrôle à distance

Contrôle à distance Linux

Authentification SSH

Ajaxplorer

Analyse Réseau - Gestion parc

Thunderbird sur un réseau

Inventaire informatique

Disque-Réseau

Serveur NAS DNS320

Disque USB

Serveur Linux

Serveur Ubuntu

Changement de serveur

Diffusion Multmedia

Serveur Proxy

Serveur de Proxy

Management serveur HP Proliant G6

OpenVPN

Sécurité Linux

Wake-on-LAN

Migration Linux Petite entreprise

Ubuntu One

  • Courrier

Courrier en Terminal

Hébergement comptes

  • Utiliser des applications Windows ou d'autres OS

Virtualisation (1): VirtualBox

Virtualisation (2): Proxmox

Wine: Applications Windows sous Linux

  • Téléphonie VOIP

Asterisk, TrixBox

Elastix

Routeur double Wan

  • Maintenance, dépannage

Sauvegarde

Sauvegarde Linux(1): Backup-Manager

Sauvegarde Linux(2)

Sauvegarde Partitions

Sauvegarde Nuage

Synchronisation Linux

Automatisation tâches cron

Rsyncd

Dépannage Ubuntu

Antivirus Linux

Spam & Publicité

Grub

Grub2

Grub-rescue

Partitions Linux

Fichier fstab

LVM

RAID

Installation RAID1

Installation RAID sur installation Ubuntu

Récupération de fichiers, partitions

  • BDD

BDD Linux

Access/MySQL

Talend Open Studio

II. Partie commune

Présentation

  • Internet/Réseau

Navigation Internet

Thunderbird (1)

Thunderbird (2)

Thunderbird (3)

Courrier GMail

Jabber

Fonctions Freebox

  • Création de site/blog

Joomla

Blog: Dotclear

Dreamweaver

  • Bureautique

OpenOffice/LibreOffice

  • Graphisme

Picasa

  • Photo

Photo: Théorie

Photo: Pratique

Diaporama, site photos

Retouche: Gimp

  • Gravure

Gravure CD

  • Vidéo

YouTube

  • BDD

BDD Linux

Access/MySQL

Gestion Bibliothèque/Archives

Généalogie

Redmine

III. Partie WINDOWS

  • Préliminaire

Logiciels Windows

Utilitaires Windows

Commandes DOS

  • Internet

Connexion Internet

Export OutlookExpress

Changement d'ordinateur

Agenda

Exploration/Dépannage Internet

  • Réseau

Partage Connexion

Partage Fichiers

Partage Imprimante

Transfert Fichiers

Transfert Windows

Analyse Réseau Windows

  • Dépannage

Prévention-dépannage Windows

  • Divers

Anti-virus

Installation périphérique Windows

Partitions Windows

Organisation disque dur

Sauvegarde-Synchronisation Windows

Putty

Contrôle à distance

BDD Windows

IV. Divers

Liseuse Kindle

grub

Ubuntu: Le Grub

1. Introduction

GRUB (pour GRand Unified Bootloader) est un programme de multiboot, libre, au même titre que LILO (Linux Loader), qui permet de choisir le système d’exploitation au démarrage de l’ordinateur. C’est le chargeur de configuration utilisé par défaut sur Ubuntu.

grub est maintenant remplacé par grub2. Voir la page grub2

2. Fonctionnement

Quand l'ordinateur est allumé, le BIOS cherche un disque sur lequel booter, et transfère le contrôle au Master Boot Record (MBR) de ce disque, correspondant aux 512 premiers octets du disque.

Le MBR contient la partie 1 de GRUB, les parties suivantes du Grub peuvent se trouver ailleurs. Quand le Grub est chargé, il affiche une interface à l'utilisateur, et ce dernier peut choisir quel système d'exploitation charger.

GRUB peut également charger un système d'exploitation automatiquement, après une période donnée. Une fois le système choisi, GRUB le charge et lui transfère le contrôle de la machine.

3. Modification du Grub

Pour modifier le fichier du Grub, il faut l’éditer en tant qu’administrateur, il est enregistré dans le fichier /boot/grub/menu.lst. Pour cela, ouvrir un terminal par Applications/Accessoires/Terminal et écrire :

gksudo gedit /boot/grub/menu.lst &

gksudo (pour passer en mode super-utilisateur avec interface graphique Gnome), laisser un espace, gedit (commande pour ouvrir l’éditeur Gedit), espace, /boot/grub/menu.lst (adresse du fichier) & pour garder la main dans le terminal.

La console en réponse demande le mot de passe de l’utilisateur :

Puis, il ouvre Gedit :

Bien agrandir verticalement pour voir le menu, assez long. Toutes les lignes précédées du caractère # sont des commentaires. Les textes encadrés par ## des deux côtés sont des titres dans les commentaires.

Sur l’exemple ici, Windows XP est mis en premier. Si on ne fait rien, il démarrera par défaut après la temporisation.

Si ce n’est pas le cas et que l’on veut mettre XP au début, il suffit de le chercher dans le Grub et faire un couper-coller du paragraphe XP et le mettre en tête de la liste qui suit la ligne de titre ## End default Options ##.

Quand la modification est faite, faire Enregistrer dans Gedit et Quitter. Au prochain démarrage, la modification fera effet.

Nota

  • On peut agrémenter le menu du Grub au démarrage avec de la couleur. Pour cela, décommenter la 2° ligne:
# Pretty colours
# color cyan/blue white/blue
  • On peut paramétrer le temps d'attente du Grub avant qu'il ne lance l'option par défaut.
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout         15
  • Si le Grub n'apparaît pas (sauf invite à entrer ESC), éditer le fichier et ajouter le caractère # (commentaire) devant la 3° ligne hiddenmenu pour le faire réapparaître.
# hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu

4. Conseil

La syntaxe du Grub n’est pas homogène avec les baptêmes Linux des partitions. Le 1° disque appelé d'habitude hda est ici hd0. Ensuite, les partitions sont comptées à partir de zéro et s'écrivent pour le 1° disque: (hd0,0), (hd0,1), (hd0.2)… au lieu de hda1, hda2, hda3… ou sda1, sda2….

On voit sur l’exemple précédent que la partition de démarrage XP est marquée en (hd0,0) qui correspond à la première partition du premier disque qui est appelée partout ailleurs hda1.

Pour éviter tout risque d’erreur, enregistrer en lieu sûr et accessible dans tous les cas de figures (partie Fat32, clé USB, répertoire/home) une copie d’un Grub qui fonctionne bien. La copie se fait soit en mode graphique en navigant dans le système de fichiers, soit en lignes de commande du terminal:

 cp /boot/grub/menu.lst /home/votre_login/grub_menu.lst  # ou ailleurs (autre partition,...)

Ce fichier pourra servir plus tard de modèle en cas de besoin…

Une bonne habitude à prendre quand on modifie un Grub est de commenter les lignes à modifier (ajouter en tête de ligne un dièze) et réécrire en-dessous les nouvelles lignes. Cette précaution permet de revenir facilement à l'état précédent en cas de problème.

A titre d’exemple, un tel fichier menu.lst est mis sur le site à côté de ce fichier.

5. Réinstallation Grub

A la suite d'une installation ou réinstallation Windows sur une partition, le Grub est effacé. On ne peut plus démarrer qu'en Windows. Il faut donc refaire le Grub.

A titre d'information, la documentation Ubuntu comporte une page sur le sujet.

5.1 Méthode 1

Suivre dans l'ordre les opérations suivantes:

  • démarrer sur un LiveCD
  • identifier la partition racine Ubuntu
    • soit par
      sudo fdisk -l | grep Linux  # qui liste les partitions Linux
    • soit simplement par
      df  # qui donne l'occupation des systèmes de fichiers et des partitions
    • soit par le gestionnaire de partitions GParted
  • créer si nécessaire dans /media, soit un répertoire /custom qui servira par défaut pour toute opération de montage temporaire, soit un répertoire dans /media ayant le même nom que le baptême utilisé dans /dev. On prend ici pour exemple sda2:
sudo mkdir /media/sda2
  • monter cette partition
sudo mount /dev/sda2 /media/sda2  # remplacer sda2 par hda2 sur les versions Ubuntu moins récentes
  • se placer dans la partition montée
cd /media/sda2
  • modifier si nécessaire le fichier /etc/fstab s'il y a eu ajout de partition (voir la partie Fstab).
sudo gedit etc/fstab  # ou /media/sda2/etc/fstab
  • modifier ou récrire le fichier /boot/grub/menu.lst (voir § précédents)
sudo gedit boot/grub/menu.lst  # ou /media/sda2/boot/grub/menu.lst

Il faut ensuite écrire ce grub sur le MBR du disque de démarrage.

sudo grub-install /dev/sda --root-directory=/media  # pour un disque de démarrage hda. Remplacer sda par hda si besoin
Probing devices to guess BIOS drives. This may take a long time.  # cela peut demander du temps
Installing GRUB to /dev/sda as (hd0)...
Installation finished. No error reported.
This is the contents of the device map /media/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(fd0)	/dev/fd0
(hd0)	/dev/sda
(hd1)	/dev/sdb
(hd2)	/dev/sdc

5.2 Méthode Ubuntu

Cette méthode est très simple à mettre en oeuvre.

  • Lancer le LiveCD, ouvrir un terminal, installer l'application grub si nécessaire:
sudo apt-get install grub ## au cas où GRUB n'est pas installé
  • Lancer ensuite la commande:
sudo grub
  • On atterrit sur le menu principal de GRUB (les lignes commencent par "grub>"). Taper :
grub> find /boot/grub/stage1

si le message "Error 15 : file not found" est rapporté, essayer :

grub> find /grub/stage1

La réponse devrait être sous la forme (hdx,y) avec x et y en tant que nombres entiers. Taper ensuite :

grub> root (hdx,y)

où x et y sont remplacés par les nombres obtenus ci-dessus. Taper, ensuite

grub> setup (hdx)

où hd0 représente hda le premier disque dur. Une dernière commande pour sortir:

grub> quit 

Et voila, normalement c'est bon !!

5.3 Complément

Après application de la méthode 2, la machine redémarre en Ubuntu. Si Ubuntu a été installé avant Windows, l'ancien Grub ne pouvait pas le connaitre. Il faut donc compléter le menu de démarrage.

  • Editer le menu du Grub.
sudo gedit /boot/grub/menu.lst
  • Ajouter le paragraphe suivant à l'endroit voulu dans le menu (vers la fin du texte du fichier) pour avoir la hiérarchie cherchée:
title   Windows 95/98/NT/2000/XP
root   (hd0,0)                   # pour un disque C:\ Windows en hda1
makeactive
chainloader   +1
  • Compléter, s'il y a lieu, le fichier fstab pour y incorporer une partition récemment ajoutée et permettre de la monter au démarrage.
sudo gedit /etc/fstab

sinon, utiliser Disk-Manager.

6. Enregistrement du Grub

6.1 Par défaut avec Ubuntu, le Grub est installé sur le MBR.

  • Dans la partie Dépannage Ubuntu, la méthode suivante est présentée pour reconstituer et enregistrer un Grub après effacement (cas typique d'une installation Windows sur une machine Linux). Ici, le Grub est sur le MBR.
sudo grub               # lance l'éxécution de Grub. (S'il n'est pas installé: sudo apt-get install grub)
find /boot/grub/stage1  # recherche du fichier stage1 du répertoire Grub. Le résultat sera sans doute (hd0,i), c'est à dire disque hda1, partition i
root (hd0,i)            # pour le réinstaller au même endroit qu'avant
setup (hd0)             # pour garder le même disque de démarrage   
quit                    # ou Ctl+C
  • On peut, également, l'installer sur la partition racine d'Ubuntu.

Pour l'installer sur une partition-racine Ubuntu, il suffit de remplacer la ligne 4 du setup par:

setup (hd0,i)    # le Grub est alors installé sur cette partition

Il est inutile de préciser que cette commande est à utiliser avec la plus grande prudence car elle écrasera la table de partition existante. Avant de restaurer, il faudra faire une sauvegarde de la version actuelle. Cela permettra de restaurer la table de partition en cas de problème.

  • La commande pour sauvegarder la table de partition complète du disque dur (hda) est:
sfdisk -d /dev/hda > bak-hda
  • La commande suivante permet au contraire de la restaurer:
sfdisk /dev/hda < bak-hda

6.2 Autre solution pour le MBR

  • Sauvegarde par
dd if=/dev/sda of=/tmp/mbr.bak bs=1 count=512
  • Restauration par
dd if=/tmp/mbr.bak of=/dev/sda

Attention, s'il y a erreur, on peut perdre son disque.

7. Commandes du Grub

Il existe plusieurs autres commandes pour le Grub:

  • grub-install, qui installe le Grub
  • update-grub, qui après examen dans /boot des fichiers vmlinuz écrit le fichier menu.lst du Grub

La procédure nécessite de se "chrooter" sur la partition racine du système avant d'entreprendre de réinstaller grub.

Derrière ce terme barbare, se cache tout simplement le fait de "monter" une partition d'un disque, se chrooter dessus, autrement dit faire de cette partition la partition racine et ainsi le faire croire au système.

La procédure à suivre est la suivante:

  • A partir du shell, créer le répertoire dans "/media" :
sudo mkdir /media/rep
  • Monter la partition "sda3" (On suppose ici que la racine sur le disque est enext3 sur sda3) sur ce point de montage:
sudo mount -t ext3 /dev/sda3 /media/rep
  • Se chrooter dans la partition :
sudo chroot /media/rep
  • Lancer l'installation de grub (éventuellement vérifier et modifier le fichier de conf /boot/grub/menu/lst si besoin était) :
grub-install /dev/sda  # on n'a pas besoin de sudo, on est passé root avec le chroot
  • Quitter le chroot par quit.

En temps normal (utilisation à partir d’un Ubuntu installé), update-grub place en premier dans le grub, le Linux utilisé au lancement de la commande.

8. Effacement du MBR

En cas d'effacement total du MBR, se reporter à la documentation suivante

http://coursinforev.org/dokuwiki/doku.php?id=depannage_ubuntu#effacement_du_mbr.

9. Emplacement du Grub

Pour voir les emplacements du Grub, regarder le fichier /boot/grub/device.map

guy@Athos:~$ cat /boot/grub/device.map
(hd0)	/dev/sda
(hd1)	/dev/sdb
guy@Athos:~$ sudo grub
[sudo] password for guy: 
Probing devices to guess BIOS drives. This may take a long time.
grub>   #  le point d'insertion des commandes grub est après le signe>

10. GAG

En cas de difficulté en multi-boot, on peut également avoir recours à GAG (initiales en Espagnol de Graphical Boot Manager) est un programme Boot Manager. Il est chargé au démarrage de l'ordinateur et permet de choisir le système d'exploitation à utiliser.

Le téléchargement se fait sur http://gag.sourceforge.net/. Pour le fonctionnement, se reporter sur http://doc.ubuntu-fr.org/installation/multiboot#utilisationconfiguration.

11. Super Grub

Une alternative est d'utiliser Super Grub Disk. Télécharger l'application (13,7 Mo) et graver un CD-ROM pour l'utiliser.

Documentation sur http://www.commentcamarche.net/faq/sujet-15961-super-grub-disk-live-cd#

Lire également la documentation https://doc.ubuntu-fr.org/tutoriel/comment_restaurer_grub

12. Grub2

Avec Ubuntu 9.10, un nouveau Grub apparaît, le Grub2, dit également grub-pc. La configuration ne se fait plus par /boot/grub/menu.lst, elle est élaborée par /etc/default/grub (qu'il ne faut pas modifier).

Se reporter au chapitre Grub2.

13. Messages d'erreur Grub

Cas du multi-disques

Quand on a plusieurs disques, il est bon de préciser l'ordre entre les disques pour éviter les confusions au boot. Se reporter au chapitre Dépannage Linux.

Si besoin, ouvrir l'ordinateur et changer les branchements des nappes IDE ou des câbles SATA.

Bibliographie

grub.txt · Dernière modification: 2016/11/08 17:14 par g.rnd@free.fr