Condition préalabre pour démarrer sur le bon grub2 Structure du

Transcription

Condition préalabre pour démarrer sur le bon grub2 Structure du
GRUB2
Choisissez de démarrer l'ordinateur avec la dernière version de GNU/Linux (ubuntu 12.04 pour cet exemple) et
ouvrez un terminal.
Note : les commandes suivantes sont toutes saisies dans ce terminal.
Condition préalabre pour démarrer sur le bon grub2
Saisissez les commandes suivantes :
$ sudo os-prober
$ sudo grub-install /dev/sda
Structure du fichier grub.cfg
Ce fichier est généré automatiquement par grub2, ne le modifiez pas « à la main ». Il se trouve dans le dossier
/boot/grub
$ gedit /boot/grub/grub.cfg
Quelques lignes vous intéressent particulièrement :
•
•
set default="xx"
celles contenant menuentry
Ces lignes menuentry apparaissent lors du démarrage de l'ordinateur et permettent de choisir le système d'exploitation
que vous souhaitez utiliser. L'une d'elles est sélectionnée par défaut : celle qui correspond à la commande set
default="xx". Il suffit donc de modifier cette ligne set default="xx" pour modifier par défaut le démarrage de
l'ordinateur. Comment faire ?
Modifier le démarrage
Vous allez modifier le fichier grub du dossier /etc/default
$ sudo gedit /etc/default/grub
modifiez GRUB_DEFAULT (attention le comptage débute à 0)
GRUB_DEFAULT=4
éventuellement modifiez le time-out (temps d'attente avant le démarrage automatique)
GRUB_TIMEOUT=5
Sauvegardez et lancez la commande
$ sudo update-grub
Constat
Si vous avez plusieurs versions du noyau dans un dossier de boot, une ligne de démarrage est créée pour chacun de ces
noyaux ; par exemple (extrait : ce qui nous intéresse est dans le dossier /boot) :
$ sudo update-grub
[sudo] password for ac:
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.0-57-generic
Found initrd image: /boot/initrd.img-3.2.0-57-generic
Found linux image: /boot/vmlinuz-3.2.0-56-generic
Found initrd image: /boot/initrd.img-3.2.0-56-generic
Found memtest86+ image: /boot/memtest86+.bin
Grub2 – alternatives46 - 18/12/13 - 1/2
...
Found Linux Mint 14 Nadia (14) on /dev/sda12
Found Debian GNU/Linux (7.2) on /dev/sda14
Found Windows 7 (loader) on /dev/sda2
...
done
$
Note : sur ce disque dur sont installées plusieurs distributions de GNU/Linux (Mint, Debian...) mais aussi une version
(abomination!) de windows7. Pas de problème, vous pouvez avoir plusieurs distributions et démarrer au choix l'une ou
l'autre, y compris windows !
Tous ces noyaux ubuntu sont de la version 3.2.0 et le plus récent est suffixe -57. Seul le dernier noyau 3.2.0-57 est
intéressant. Comment ne faire apparaître que celui-là ? Voyons le contenu du dossier /boot ?
$ cd /boot
$ ls -l
total 45456
-rw-r--r-- 1
-rw-r--r-- 1
-rw-r--r-- 1
-rw-r--r-- 1
drwxr-xr-x 3
drwxr-xr-x 3
-rw-r--r-- 1
-rw-r--r-- 1
-rw-r--r-- 1
-rw-r--r-- 1
-rw------- 1
-rw------- 1
-rw------- 1
-rw------- 1
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
795686 oct.
root
795751 nov.
root
140629 oct.
root
140629 nov.
root
4096 déc.
root
12288 déc.
root 14259572 nov.
root 14258537 déc.
root
176764 nov.
root
178944 nov.
root 2895053 oct.
root 2895166 nov.
root 4980752 oct.
root 4981040 nov.
23
12
23
12
4
4
19
4
27
27
23
12
23
12
12:06
23:14
12:06
23:14
09:58
10:00
09:21
09:58
2011
2011
12:06
23:14
12:06
23:14
abi-3.2.0-56-generic
abi-3.2.0-57-generic
config-3.2.0-56-generic
config-3.2.0-57-generic
extlinux
grub
initrd.img-3.2.0-56-generic
initrd.img-3.2.0-57-generic
memtest86+.bin
memtest86+_multiboot.bin
System.map-3.2.0-56-generic
System.map-3.2.0-57-generic
vmlinuz-3.2.0-56-generic
vmlinuz-3.2.0-57-generic
Effacez tout ce qui correspond aux noyaux différents du noyau 3.2.0-57 :
$ sudo rm *-56-*
Il reste :
-rw-r--r--rw-r--r-drwxr-xr-x
drwxr-xr-x
-rw-r--r--rw-r--r--rw-r--r--rw-------rw-------
1
1
3
3
1
1
1
1
1
root
root
root
root
root
root
root
root
root
root
795751 nov.
root
140629 nov.
root
4096 déc.
root
12288 déc.
root 14258537 déc.
root
176764 nov.
root
178944 nov.
root 2895166 nov.
root 4981040 nov.
12
12
4
4
4
27
27
12
12
23:14
23:14
09:58
10:00
09:58
2011
2011
23:14
23:14
abi-3.2.0-57-generic
config-3.2.0-57-generic
extlinux
grub
initrd.img-3.2.0-57-generic
memtest86+.bin
memtest86+_multiboot.bin
System.map-3.2.0-57-generic
vmlinuz-3.2.0-57-generic
Updatez le grub
$ sudo update-grub
A prochain démarrage, l'ordinateur démarrera sur le bon grub et le bon noyau !
Grub2 – alternatives46 - 18/12/13 - 2/2