Vous êtes sur la page 1sur 19

Configurer l'accès internet, le son et le double boot sur Ubuntu 9.

10

* Connaître les commandes


* Connaître les fichiers et afficher ses drivers
* Installation de internet (Ethernet + Wifi)
Identifier ses Drivers
Installer Ethernet
Installer le WIFI
Installer le WIFI ou tout autre driver: Vérifier ses fichiers de configuration au démarrage
Documentation sur le WIFI
* Installation du son
* Personnalisation du Grub 2.0
Cas où le Grub ne marche plus
Modifier les entrées du Grub
Enlever des entrées: ne conserver que le dernier kernel
Enlever et remettre des entrées sans les effacer
Changer l'ordre d'apparition des systèmes d'exploitation (OS=operating systems)
Changer l'affichage du nom des systèmes d'exploitation
Rajouter un fond d'écran au démarrage du Grub 2.0 et redimensionner la police

Je vous présente toutes les commandes qui m'ont été utiles pour configurer l'accès internet, le
son et le double boot dans mon ordinateur, un Compaq Presario CQ70. La marque de mon
ordinateur n'est pas importante, ce qui compte ce sont ses composants. On peut trouver
leur description supposée en posant des questions en ligne de commande. Et chercher d'après les
réponses la version Linux des pilotes sur internet. Souvent installer un pilote ne suffit pas, par
exemple sur certains ordinateurs on peut annuler le WIFI par le bios, et souvent il faut installer
un logiciel qui gère le pilote. Et que installer le pilote ne suffit pas non plus, encore faut-il qu'il
n'y ait pas de conflits entre pilotes et que celui-ci soit chargé au démarrage. Et en dernier lieu
souvent des pilotes qui ont le même nom ont reçu des améliorations différentes au fil des années,
c'est le cas lorsque vous avez installé le bon pilote, qu'il marche pour d'autres personnes mais
qu'il ne marche pas pour vous, dans ce cas il faut installer soit le tronc commun, où s'il n'y en a
pas essayer d'autres pilotes apparentés.

Françoise Del Socorro, 2010


Double boot Ubuntu Linux 9.10 et Windows XP
Copyrights: Creative Commons, Paternité-Partage des Conditions Initiales à l'Identique 2.0 France

1
(1) Connaître les commandes

Allez sur Applications > Accessoires > Terminal

 La commande lspci

Cette commande permet de lister tous les pilotes de bus PCI du système et les appareils qui en
dépendent. On peut y trouver le nom du driver Ethernet, Wifi, Audio, etc.

Exemple:
lspci

 La commande lsusb

Cette commande permet de lister tous les pilotes de bus USB du système et les appareils qui en
dépendent. On peut y trouver certaines webcams intégrées qui ont besoin d'un driver. Ainsi que les
périphériques.

Exemple:
lsusb

 La commande grep

Cette commande permet de afficher la première ligne qui contient tel motif. Ligne active à l'écran
ou dans un fichier. Dans ce cas il faut taper grep « motif » fichier.txt.

Si vous avez une ligne qui contient le mot « Ethernet », vous pouvez l'afficher.

Exemples:
lspci | grep Ethernet
lspci -vvv | grep -A15 Ethernet

 Autres commandes:

cat: Affiche à l'écran le contenu d'un fichier.


gedit: Ouvre le logiciel de traitement de texte Gedit qui permet de afficher le contenu d'un fichier.
sudo: Demande à l'utilisateur son mot de passe administrateur pour modifier le système en tant que
super-utilisateur root.
sudo bash: Passe sur root, déconseillé.
su nom-utilisateur: Reviens sur l'utilisateur.
locate: Permet de trouver un fichier.
sudo updatedb: Permet d'actualiser les bases de données de locate.
find: Trouve un fichier dans un répertoire ex: sudo find /boot -name grub.cfg

(2) Connaître ses fichiers et afficher ses drivers

2
Ce qu'on appelle driver, pilote ou module, permet au système d'exploitation de reconnaître et faire
fonctionner un matériel inclut ou branché sur l'ordinateur. Mais ce qu'on voit ce sont les logiciels
qui ne fonctionnent pas à cause des drivers.

Affiche l'interface internet:


cat /etc/network/interfaces

Affiche les modules à charger au démarrage. Ces modules doivent être rajoutés à ce fichier après
qu'on a installé le module avec modprobe même si ce n'est pas écrit sur le readme (lisez-moi) du
driver:
cat /etc/modules

Affiche les modules que vous n'utilisez pas:


cat /etc/modprobe.d/blacklist.conf
cat /etc/modprobe.d/blacklist-ath_pci.conf

Compile le grub
sudo update-grub

Affiche le résultat de la compilation du Grub (ne pas modifier)


cat /boot/grub/grub.cfg

Fichiers et images du grub à personnaliser


cd /etc/grub.d
cd /usr/share/images/grub
cat /etc/default/grub

Pour les drivers que je vais télécharger ou récupérer, j'ai créé le répertoire ./Drivers dans
/home/nom-d-utilisateur. C'est utile pour ne pas effacer ni déplacer les drivers installés
ultérieurement. Vous pouvez aussi l'appeler ./Pilotes ou ce que vous voudrez.
mkdir Dossier
ls
rmdir Dossier

Comment afficher les drivers de internet ?


lspci | grep Ethernet

Comment afficher les drivers du son ?


cat /proc/asound/card0/codec#* | grep Codec

Pour les autres drivers, rechercher dans les forums la/les commande(s) qui permet(tent) de l'afficher.

3
(3) Installation de internet (Ethernet + Wifi)

3.1 Identifier ses Drivers

Exemple:
fran@Charmmy-Kitty:~$ lspci | grep Ethernet
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express
Fast Ethernet controller (rev 02)
02:00.0 Ethernet controller: Atheros Communications Inc. AR5001 Wireless Network Adapter (rev
01)

Ici j'ai deux drivers, le premier correspond à Ethernet c'est à dire au réseau filaire, et le second au
WIFI, c'est à dire au réseau sans fil (Wireless).

En ce qui concerne le WIFI, le nom du driver varie en fonction du système d'exploitation et de la


version de Ubuntu Linux.
Windows XP: Atheros AR5006X Wireless Network
Ubuntu 9.04: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter
Ubuntu 9.10: Atheros Communications Inc. AR5001 Wireless Network Adapter

En ce qui concerne Ethernet r8101 n'est pas le bon driver, la bonne requête est r8169. Donc ce qui
est reconnu comme RTL8101E/RTL8102E ne marche que avec le RTL8110SC(L) et pas avec le
driver qui a le nom qui est affiché, en tout cas pour mon Compaq Presario CQ70.

3.2 Installer Ethernet

Généralement une version Linux du driver Ethernet est proposée sur le site web du constructeur. Ce
n'est pas vrai pour le Wifi où il faut soit faire un double boot pour récupérer le bon driver.inf soit
installer un driver re-créé 100% par Linux comme Madwifi.

J'ai installé le driver r8169 pour Linux afin d'avoir le driver RTL8101E/RTL8102E. Remarque: Le
module r8101 qui devrait fonctionner ne fonctionne pas. Pour trouver le module qui marche, tapez:
r8169 dans le site de REALTEK.
http://www.realtek.com.tw/downloads/
Section → RTL8110SC(L)
Système d'exploitation → LINUX driver for kernel 2.6.X and 2.4.X (Support x86 and x64)
Nom du Driver qui marche (en janv. 2010) : r8169-6.012.00
D'autres versions de r8169 peuvent aussi marcher, avant j'avais la r8169-6.011.00.

Et j'ai suivi le fichier README


Supprimer l'ancien module:
lsmod | grep r8169
sudo rmmod r8169

Aller sur le répertoire avec les fichiers extraits:


cd ./r8169 + TOUCHE TABULATION REPRESENTEE PAR UNE DOUBLE FLECHE

4
Installer:
sudo make install
sudo depmod -a
sudo modprobe r8169

L'ajouter au démarrage (ceci n'est pas dans le README):


sudo gedit /etc/modules

Rajouter:
r8169

Redémarrer l'ordinateur.

Insister sur son installation:


sudo modprobe r8169

Vérifier qu'il y est:


lsmod | grep r8169

Si besoin, configurer Ethernet:


ifconfig -a
Configurer eth0 (ou ethX):
ifconfig eth0 up
ifconfig eth0 "Votre adresse IP"

*Chez Free l'adresse IP n'est pas la même que chez Orange. Elle vous est communiquée sur le site
de Free où vous êtes inscrit.

Si vous souhaitez essayer un autre Driver ou ré-installer le même, supprimez les modules déjà
installés dans le répertoire:
sudo make clean modules

Au cas où vous n'ayez pas trouvé votre driver version Linux sur internet, il existe cette solution
temporaire qui consiste à rentrer une adresse IP statique. Celle-ci marche pour le fournisseur d'accès
internet orange:
sudo gedit /etc/network/interfaces

Modification:
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1

auto lo
iface lo inet loopback

Mais pour que le driver installé marche, il ne faut pas modifier ce fichier, il faut vérifier que son
contenu reste comme ceci:

5
francoise@Charmmy-Kitty:~$ cat /etc/network/interfaces
auto eth0
iface eth0 inet dhcp

auto lo
iface lo inet loopback

3.3 Installer le WIFI

Grâce au double boot, on peut récupérer le driver.inf du WIFI pour l'installer avec Ndiswrapper.
C'est le programme d'installation des drivers qui peut identifier et sauvegarder le fichier voulu dans
un nouveau répertoire. Généralement la partie gratuite des programmes payants (Drivermax, etc.)
accepte de faire cette tâche. Son nom n'est pas important, c'est l'exécutable.inf qui compte, donc
vous pouvez le renommer et supprimer tous les fichiers .xml et autres notices qui sont téléchargées
avec.
En ce qui concerne le WIFI, le rapport de synonymie est triple car sous Windows XP, AR5001 sous
Ubuntu 9.10 qui s'appelait AR242x 802.11abg sous Ubuntu 9.04, s'appelle maintenant AR5006X.
En tout cas il faut que votre driver WIFI marche sous Windows pour qu'il puisse fonctionner sous
Linux.

Synonymes:
Atheros AR5006X Wireless Network (Sous Windows XP)
Atheros Communications Inc. AR5001 Wireless Network Adapter (rev 01)
Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)

Le driver.inf, pour qu'il soit chargé au démarrage, doit être placé dans un fichier qui se situe
obligatoirement à l'intérieur du système d'exploitation pour lequel il va être utilisé: Ubuntu Linux.

Ensuite on installe Ndiswrapper à partir de Ubuntu Software Center ou de Add/remove programs ou


de Synaptic Package Manager. Doc: http://doc.ubuntu-fr.org/ndisgtk. Celui-ci ne sert que à installer
le WIFI, ça ne sert à rien pour installer Ethernet.

System > Administration > Windows Wireless Drivers > Install new driver
Système > Administration > Pilotes sans fil windows > Installer un nouveau pilote

Même si le .inf est compilé sous Windows, Ndiswrapper a un nom de module sous Linux:
« ndiswrapper » et il faut le rajouter aux modules au démarrage. Dorénavant tout nouveau driver
installé doit être chargé au démarrage par /etc/modules.

sudo gedit /etc/modules

Rajouter:
ndiswrapper

Finalement, quand on crée avec Ndiswrapper, Madwifi, ou un autre Driver, un nouveau fichier de
configuration dans le répertoire « modprobe.d », souvent le créateur oublie de rajouter l'extension
.conf à ce nouveau fichier, qui ne change en rien son fonctionnement. Et cela donne lieu à une
erreur, quand il vérifie l'installation d'un nouveau module, que vous pouvez facilement corriger.

6
Erreur:
WARNING: All config files need .conf: /etc/modprobe.d/ndiswrapper, it will be ignored in a future
release.

Correction:
man rename
cd /etc/modprobe.d
sudo rename 's/ndiswrapper/ndiswrapper.conf/' ndiswrapper

Donc j'ai eu:


Driver r8169-6.012.00 pour Linux associé à:
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI
Express Fast Ethernet controller (rev 02)

Atheros AR5006X Wireless Network Adapter pour XP (Ndiswrapper) associé à:


02:00.0 Ethernet controller: Atheros Communications Inc. AR5001 Wireless Network
Adapter (rev 01)

Sinon AR5006X = AR5001 = AR242x 802.11abg existe aussi en version Linux et s'appelle
madwifi. ath5k qui est installé à défaut dans votre ordinateur est également une version de ce même
driver conçu par madwifi. Mais si il ne marche pas ou si il arrête de fonctionner, il se peut que vous
ayez besoin du tronc commun de ath5k:

Site officiel: http://madwifi-project.org/


http://madwifi-project.org/wiki/Releases/0.9.4
http://snapshots.madwifi-project.org/madwifi-0.9.4-current.tar.gz
http://snapshots.madwifi-project.org/madwifi-trunk-current.tar.gz
cd ./madwifi/madwifi-trunk-r4099-20090929/
sudo make clean
sudo make
sudo make install
sudo depmod -a
sudo modprobe ath_pci

Donc vous avez retenu les commandes suivantes:

README: Fichier qui explique en anglais comment installer le nouveau driver.


make clean: Supprime localement les modules installés.
rmmod: Supprime le module du système
make, make install et ses variantes: Permettent de installer un driver.
depmod -a: Crée les dépendances.
modprobe: Installe le module.

7
3.4 Installer le WIFI ou tout autre driver: Vérifier ses fichiers de configuration
au démarrage

Un driver pour qu'il fonctionne doit être:


1) Installé.
2) Compatible.
3) Accessible.
4) Lancé au démarrage.
5) Non blacklisté.
6) Pas en conflit avec d'autres drivers qui ont exactement la même fonction et qui eux doivent être
blacklistés.

Ce sont les points (4), (5) et (6) qu'on va voir:

/etc/modules donne les modules au démarrage.


/etc/modprobe.d/blacklist.conf donne les modules que vous n'utilisez pas.
/etc/modprobe.d/blacklist-ath_pci.conf donne les modules que vous n'utilisez pas.
/etc/modprobe.d/ndiswrapper.conf contient les modules de ndiswrapper

ath5k vient avec Ubuntu 9.10, il s'agit d'un driver pour WIFI uniquement.
ath_pci s'utilise avec madwifi, il s'agit d'un driver pour WIFI uniquement.
ndiswrapper c'est généralement votre Atheros Communications Inc. ARxxxx, il s'agit d'un driver
pour WIFI uniquement.
r8169 est un driver Linux téléchargeable proposé sur le site de
http://www.realtek.com.tw/downloads/, il s'agit d'un driver pour Ethernet uniquement.

Dans modules il faut activer 1 pour le Wifi et 1 pour l'Ethernet.


Dans les blacklist il faut n'interdire que ceux qui gênent les modules activés, et il ne faut pas qu'un
module activé soit dans les blacklists.

Donc si vous avez fait la même configuration que moi vérifiez que vous avez cela.
fran@Charmmy-Kitty:~$ cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

ndiswrapper
lp
r8169
#ath_pci
fran@Charmmy-Kitty:~$ cat /etc/modprobe.d/blacklist.conf | grep ath
blacklist ath5k
fran@Charmmy-Kitty:~$ cat /etc/modprobe.d/blacklist-ath_pci.conf
# For some Atheros 5K RF MACs, the madwifi driver loads buts fails to
# correctly initialize the hardware, leaving it in a state from
# which ath5k cannot recover. To prevent this condition, stop

8
# madwifi from loading by default. Use Jockey to select one driver
# or the other. (Ubuntu: #315056, #323830)
#blacklist ath_pci
fran@Charmmy-Kitty:~$ cat /etc/modprobe.d/ndiswrapper.conf | grep -c ndiswrapper
344

Il est aussi important de redémarrer votre ordinateur pour que les drivers installés fonctionnent.

Finalement il y a /etc/network/interfaces qui est tout aussi important et qui ne doit que contenir 2
lignes si possible afin que le nm-tool puisse tout contrôler, les autres lignes n'étant pas contrôlées
par nm-tool:
fran@Charmmy-Kitty:~$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

Celui-ci se met à jour avec la commande:


sudo /etc/init.d/networking restart

Mais seul un redémarrage met à jour les drivers.

Finalement dans nm-tool vous voyez que j'ai installé correctement mes 2 drivers:
fran@Charmmy-Kitty:~$ nm-tool | grep -A3 -B2 "r8169"
- Device: eth0 [Auto eth0] ----------------------------------------------------
Type: Wired
Driver: r8169
State: connected
Default: yes
HW Address: 00:1F:16:4D:38:D5
fran@Charmmy-Kitty:~$ nm-tool | grep -A3 -B2 "ndiswrapper"
- Device: wlan0 ----------------------------------------------------------------
Type: 802.11 WiFi
Driver: ndiswrapper
State: disconnected
Default: no
HW Address: 00:23:4E:75:54:AC

3.5 Documentation sur le WIFI

http://doc.ubuntu-fr.org/wifi
http://doc.ubuntu-fr.org/wifi_liste_carte
http://doc.ubuntu-fr.org/networkmanager
http://doc.ubuntu-fr.org/ndiswrapper
http://www.touslesdrivers.com/
http://www.realtek.com.tw/downloads/

9
(4) Installation du son

D'après la documentation française de Ubuntu http://doc.ubuntu-fr.org/son, « En résumé, pour avoir


du son sous GNU/Linux, il vous faut une carte son reconnue par un pilote qui reçoit les mixages
audios d'un serveur de sons et une série de logiciels utilisateurs qui se connectent au serveur de
sons. ». Mon explication ne peut pas résoudre tous les problèmes de son, mais elle a résolu les
miens.

Le volume du son est représenté en haut à droite par une icône en forme de haut parleur. Si il n'y a
pas du tout de son dans votre ordinateur, c'est parce que votre volume est trop bas. Si il n'y a pas de
son sur internet ou sur des applications, c'est parce qu'il faut installer un pilote ou un logiciel ou les
deux. Pour certains sites web, il faut aussi installer un logiciel qui contient le plugin nécessaire. Et
pour les animations, il faut installer un des plugins proposés, de préférence le plus connu.

Exemple de logiciel pour regarder des vidéos sur internet:


Ubuntu Software Center > Movie Player
Vous pouvez configurer si nécessaire ses plugins dans:
Sound & Vidéo > Movie Player > Edit > Plugins...

Mais là c'est la partie superficielle. Avant d'installer le pilote du son, il faut installer un logiciel qui
puisse le reconnaître, Alsamixer est le plus connu.
Ubuntu Software Center > Alsamixergui

Commande pour voir les détails de sa carte son.


alsamixer
CTRL+C

Ensuite il faut chercher le pilote, je vous conseille de le chercher plutôt par sa marque:
cat /proc/asound/card0/codec#* | grep Codec

J'ai comme résultat:


fran@Charmmy-Kitty:~$ cat /proc/asound/card0/codec#* | grep Codec
Codec: Conexant CX20561 (Hermosa)
Codec: Intel G45 DEVCTG

Une fois qu'on a sa marque, on cherche le pilote version Linux soit sur le site du constructeur, soit
sur un site dédié. Comme c'est le cas de Connexant pour lequel les linuxiens on inventé Linuxant,
remarquons qu'il y a le même phénomène pour le WIFI, AR242x 802.11abg étant tout aussi connu,
les linuxiens ont inventé Madwifi.

Si vous avez Connexant, allez sur Linuxant:


http://www.linuxant.com/drivers/hsf/downloads-installer.php

Téléchargez cnxtinstall.run, fermez Firefox (votre Navigateur internet) sinon la commande ne


marchera pas et lancez:
sudo sh cnxtinstall.run

10
Celui-ci analyse la configuration audio d'un ordinateur nécessitant un pilote Connexant et propose
l'installation des drivers manquants. L'installation est un processus assez long. Si jamais vous
l'interrompez et que vous obtenez la même erreur que moi:
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a'

Vous pouvez résoudre ce petit problème en trouvant le nom de ce qui a été mal installé, puis
télécharger le driver depuis le lien dans la plateforme de Linuxant, et installer le paquet Debian avec
le nom bien formé en cliquant dessus sur Install Package ou en re-lançant dpkg -i et en attendant.
sudo dpkg -i alsa-driver-linuxant_1.0.20.3_all.deb

→ Preparing to replace alsa-driver-linuxant 1.0.20.3 (using alsa-driver-


linuxant_1.0.20.3_all.deb)

sudo dpkg -r alsa-driver-linuxant 1.0.20.3

→ Ré-installation manuelle en cliquant sur le paquet alsa-driver-linuxant_1.0.20.3_all.deb.

Enfin afin de pouvoir lire les midis, vous devez installer un lecteur de midis.
Ubuntu Software Center > Timidity++ MIDI sequencer

Téléchargez un midi depuis un site web, par exemple: http://midi.homemusician.net/

Puis vous devez configurer Timidity comme serveur midi:


sudo modprobe snd-seq-device
sudo modprobe snd-seq-midi
sudo gedit /etc/default/timidity

Remplacer:
# TIM_ALSASEQ=false
par:
TIM_ALSASEQ=true

Puis clic droit sur la musique et Ouvrir avec Timidity++ MIDI sequencer.

Finalement si vous retrouvez cette erreur ou une erreur semblable qui n'en est pas une:
WARNING: All config files need .conf: /etc/modprobe.d/ndiswrapper, it will be ignored in a future
release.

Pensez à renommer le fichier en question avec l'extension .conf.

Pour plus d'informations, consultez les pages de Ubuntu sur la documentation audio, elles sont très
nombreuses:
http://doc.ubuntu-fr.org/audio
http://doc.ubuntu-fr.org/gstreamer
http://doc.ubuntu-fr.org/jackd
http://doc.ubuntu-fr.org/midi
http://doc.ubuntu-fr.org/pulseaudio

11
http://doc.ubuntu-fr.org/son
http://doc.ubuntu-fr.org/son_problemes
http://doc.ubuntu-fr.org/timidity

(5) Personnalisation du Grub 2.0

Cette explication vaut pour Grub 2.0 installé à défaut sous Ubuntu 9.10. Le Grub est souvent
actualisé.

5.1 Cas où le Grub ne marche plus

Le Grub est le Menu de démarrage du dernier système d'exploitation installé, lorsque celui-ci est de
type Linux. Ceux qui connaissent le Grub savent que si il disparaît, si on a un écran noir, les
systèmes d'exploitations vers lesquels il pointe ne disparaissent pas. Jusqu'à présent le CD de
Ubuntu propose un système d'exploitation auto-exécutable à tester avant d'installer. Si vous faites
des bêtises avec le Grub, vous avez deux choix:

Soit vous avez le menu recovery mode dans le Grub: http://doc.ubuntu-fr.org/recovery_mode

Soit vous insérez le CD et vous sauvegardez vos données avant de tout ré-installer.

CD de Ubuntu >
sudo bash
cd /media/
[...trouver l'ancien home...]
chmod -R a+rwx *

Personnellement ça a l'air de cela:


root@ubuntu:/media/cee765af-dada-4683-ab33-01f8719139ce/home/fran# chmod -R a+rwx *

Puis copier-coller dans: la partition Windows, une autre partition Linux, une clé-USB, un disque dur
externe...

chmod: Change les permissions


-R: Récursivité, pour tous les sous-fichiers.
a: Donne la permission à tous les utilisateurs
+: Donne, le contraire de enlève -
r: read, lecture
w: write, écriture
x: execute, rendre exécutable

Il doit sûrement y avoir d'autres manières de récupérer ses données, mais c'est celle que j'ai imaginé
quand j'ai eu un problème.

Pour réinstaller le système sans endommager les autres OS, vous avez deux choix.

Si vous n'avez que l'écran. Insérez le CD, visualisez bien la partition qui ne correspond pas à vos
autres systèmes d'exploitation. Car si vous touchez aux autres OS, c'est fini. Formatez Ubuntu en
transformant l'ancien espace en ext4 avec le mount point sur root / et rajoutez un swap de 3 000MB

12
environ.

Si vous avez un logiciel qui a déjà fait ses preuves sous vos doigts en matière de partitionnement
dans un autre OS et que vous pouvez accéder à cet autre OS, alors re-personnalisez votre
partitionnement. Et re-installez Ubuntu côte à côte. Personnellement sous Windows je suis satisfaite
du Freeware EASEUS Partition Home Edition. Mais il faut tout préparer en une seule fois.

Le Grub sera ensuite récupéré par Ubuntu. Et de nouveau fonctionnel.

13
5.2 Modifier les entrées du Grub

Il existe plusieurs manières de modifier le Grub2.0, personnellement je préfère que le Grub détecte
automatiquement mes OS et soit mis à jour. Et donc c'est cette manière de faire que je vais vous
montrer. Pour les autres manières, consultez la documentation:

https://wiki.ubuntu.com/Grub2
http://doc.ubuntu-fr.org/grub-pc
https://help.ubuntu.com/community/Grub2

5.2.1 Enlever des entrées: ne conserver que le dernier kernel

Qu'est-ce qu'un kernel ? Il s'agit du noyau du système d'exploitation qui contrôle la relation entre le
matériel et le logiciel ainsi que la mémoire, le processeur et les autres matérialités de l'ordinateur.
Vous pouvez en lire plus ici: http://fr.wikipedia.org/wiki/Kernel

Vous pouvez connaître les détails de votre kernel grâce à des commandes ou des fichiers ou des
programmes qui vous permettent de connaître le nom de votre système d'exploitation et la version
du kernel.

Commandes:
lsb_release -d -s && uname -r
lsb_release -a
uname -a

Manuels:
man lsb_release
q

Contenus de fichiers:
cat /etc/lsb-release
grep "model name" /proc/cpuinfo

Logiciels:
Ubuntu Software Center > Sysinfo
Ubuntu Software Center > Device Manager

Utilisez Synaptic Package Manager (Gestionnaire de Paquets Synaptique) ou Computer Janitor (le
Balai) après chaque actualisation du noyau de votre Linux afin de supprimer les noyaux
supplémentaires en gardant les noyaux récents (sinon tu supprimes l'OS):

Synaptic > Installed > Search: linux-headers ; linux-image

Puis aller dans le système qui gère le grub, généralement le dernier système installé et taper:
sudo update-grub

14
5.2.2 Enlever et remettre des entrées sans les effacer

Les fichiers contenus dans /etc/grub.d, sont tous des fichiers exécutables. On rend un fichier
exécutable en rajoutant la permission +x. Et on interdit de son auto-exécution avec -x.

Pour enlever le memory-test d'un OS, il suffit de enlever la permission -x sans supprimer le OS:
ls -l /etc/grub.d/20_memtest86+
sudo chmod -x /etc/grub.d/20_memtest86+
ls -l /etc/grub.d/20_memtest86+
sudo update-grub

Si par erreur vous avez rendu votre fichier README exécutable, alors Grub ne peut plus être
actualisé car il ne comprend pas ce fichier, pour réparer cette erreur, il suffit de mettre -x sur le
README.
cd /etc/grub.d
ls -l
sudo chmod a+rwx *
Changer le numéro ou le contenu des fichiers.
sudo chmod a-w *
sudo chmod a-x README
ls-l
sudo update-grub

r = read, possibilité de visualiser le fichier


w= write, possibilité de modifier le fichier
x= exécute, possibilité de rendre le fichier auto-exécutable
a= all
+= ajoute
-= enlève

Donc retenez:
sudo chmod a-x /etc/grub.d/README

Par contre je ne vous conseille pas de supprimer l'entrée recovery mode du dernier système
d'exploitation. Car elle peut vous être utile en cas de problème avec le Grub.
sudo gedit /etc/default/grub

Ne pas changer:
# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true"
Pour la supprimer, il aurait fallu décommenter en enlevant le #.

Moi j'ai eu ce problème, mais ce n'est pas conseillé de faire, des entrées doubles. J'ai mis à jour
Grub 2.0 et comme je l'avais personnalisé avant la mise à jour, j'avais des entrées doubles. Donc j'ai
supprimé de /etc/grub.d les 11_linux et 12_os-prober que j'avais en plus. r= read, w=write,
x=execute (ici c'est de l'auto-éxécution de tous les fichiers avec +x). a = all users. o = others (tout ce
qui n'est pas root). ~ = home/nom-d-utilisateur, * = tous les fichiers sans les sous-fichiers.
cd /etc/grub.d

15
ls -l
sudo chmod a+rwx *
ls -l
mkdir ~/backups
cp * ~/backups
sudo rm 11_linux
sudo rm 12_os-prober
sudo chmod o-w *
sudo chmod a-x README
ls-l
sudo update-grub

5.2.3 Changer l'ordre d'apparition des systèmes d'exploitation (OS = operating systems)

Renommer le numéro des noms de fichier permet de changer l'ordre d'apparition des OS dans le
menu de démarrage, donc quand on change ses habitudes, on n'a pas besoin de ré-installer les
systèmes dans le bon ordre. Dans ./grub.d, on a tous les programmes que le grub.cfg exécute au
démarrage, parmi lesquels les liens vers les systèmes d'exploitation de votre ordinateur. 10_linux
contient tous vos systèmes ayant un noyau linux et 30_os-prober contient tous les autres systèmes
détectés. En changeant leur numéro à deux nombres, vous pouvez interchanger l'ordre d'apparition
des OS.

On peut renommer les fichiers de deux façons, soit avec la commande rename, soit en changeant les
permissions afin de pouvoir écrire sur les fichiers.
cd /etc/grub.d
ls
sudo rename 's/30_os-prober/09_os-prober/' 30_os-prober
sudo update-grub

La commande rename fonctionne ainsi:


rename 's/nom-du-fichier/nouveau-nom-du-fichier/' parmi-tous-ces-fichiers

En réalité ce qu'elle renomme ce sont des motifs. Créez un dossier qui s'appelle ./test avec à
l'intérieur les fichiers aabbcc, abcabc et ccbbaa, ou tout ce que vous voudrez.
fran@Charmmy-Kitty:~/test$ ls
aabbcc abcabc ccbbaa
fran@Charmmy-Kitty:~/test$ rename 's/aa/ii/' *c*
fran@Charmmy-Kitty:~/test$ ls
abcabc ccbbii iibbcc

Exemple:
fran@Charmmy-Kitty:/etc/grub.d$ ls
00_header 10_linux 11_os-prober 40_custom
05_debian_theme 10_linux~ 20_memtest86+ README
fran@Charmmy-Kitty:/etc/grub.d$ sudo update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-17-generic
Found initrd image: /boot/initrd.img-2.6.31-17-generic

16
Found Microsoft Windows XP Professionnel on /dev/sda1
Found memtest86+ image: /boot/memtest86+.bin
done
fran@Charmmy-Kitty:/etc/grub.d$ sudo rename 's/11_os-prober/08_os-prober/' 11_os-prober
fran@Charmmy-Kitty:/etc/grub.d$ sudo update-grubGenerating grub.cfg ...
Found Microsoft Windows XP Professionnel on /dev/sda1
Found linux image: /boot/vmlinuz-2.6.31-17-generic
Found initrd image: /boot/initrd.img-2.6.31-17-generic
Found memtest86+ image: /boot/memtest86+.bin
done

Lorsqu'on a beaucoup de fichiers, au lieu d'utiliser la commande rename, on peut changer les
permissions des fichiers à renommer et les renommer sur place. w signifie write, donc la permission
d'écrire, a signifie all, tous les utilisateurs, + signifie donne la permission, - ne donne pas la
permission:
cd /etc/grub.d
ls -l
sudo chmod a+w
Changer les nombres à 2chiffre sur place.
sudo chmod a-w
ls -l
sudo update-grub

5.2.4 Changer l'affichage du nom des systèmes d'exploitation

Le contenu des fichiers du dossier ./grub.d change le contenu du fichier grub.cfg.

On va tout d'abord changer le nom de Windows:


Microsoft Windows XP Professionnel (on /dev/sda1) → Microsoft Windows XP Professionnel
ls
sudo gedit 11_os-prober
Changer uniquement la première occurrence en partant du début:
menuentry "${LLABEL} (on ${DEVICE})"
Par:
menuentry "${LLABEL}"
sudo update-grub
Ce résultat ne signifie rien:
Found Microsoft Windows XP Professionnel on /dev/sda1
done
grep -i windows /boot/grub/grub.cfg
Ce résultat signifie quelque chose:
menuentry "Microsoft Windows XP Professionnel" {

Donc on retient que le résultat de la compilation de grub.cfg ne montre pas le contenu de grub.cfg.
Et que c'est le contenu du grub.cfg qui montre l'affichage au démarrage.

On va ensuite modifier le nom de Linux: Ubuntu → Ubuntu 9.10

17
grep -i ubuntu /boot/grub/grub.cfg
menuentry "Ubuntu, Linux 2.6.31-17-generic" {
menuentry "Ubuntu, Linux 2.6.31-17-generic (recovery mode)" {
lsb_release -i -s
lsb_release -d -s
sudo gedit /etc/default/grub
GRUB_TIMEOUT="15"
GRUB_DISTRIBUTOR=`lsb_release -d -s 2> /dev/null || echo Debian`
sudo update-grub
grep -i ubuntu /boot/grub/grub.cfg
menuentry "Ubuntu 9.10, Linux 2.6.31-17-generic" {
menuentry "Ubuntu 9.10, Linux 2.6.31-17-generic (recovery mode)" {

Donc le contenu du fichier /etc/default/grub change aussi le contenu du fichier grub.cfg.

5.3 Rajouter un fond d'écran au démarrage du Grub 2.0 et redimensionner la police

La différence entre le Grub à défaut de 9.04 et 9.10 c'est qu'il ne vous contraint plus à utiliser des
images de mauvaise qualité avec une résolution de 640*480 pixels. Ainsi que l'introduction du .jpg
parmi les fonds d'écran de démarrage possibles. Le Grub peut être mis à jour si vous souhaitez
améliorer ses performances. Moi ce que je propose en plus c'est une astuce pour redimensionner la
police sous Grub.

Documentation conseillée:
http://www.howtoforge.com/how-to-add-a-splash-image-to-grub-2-on-ubuntu-9.04
http://art.gnome.org/themes/splash_screens
http://www.kde-look.org/

Installez: grub2-splashimages (depuis Synaptics ou avec sudo apt-get install fichier)


Puis autorisez l'ajout de nouvelles images dans le dossier ./images/grub:
cd /usr/share/images
chmod a+rw ./grub

Rajoutez une image personnalisée dans ./grub

Installez: gthumb (depuis Ubuntu Software Center ou avec sudo apt-get install fichier)

System > Preferences > Display

Regardez la résolution exacte de votre écran. Elle vous servira à configurer deux choses: la
taille de votre fond d'écran (-15%) et la taille de votre police (-20%). Mes valeurs en
pourcentage ne sont pas aléatoires mais empiriques, j'ai remarqué que toutes les fois où le Grub
redimensionne le texte en supposant qu'on est à res-20% alors il redimensionne l'image en
supposant qu'on est à res-15%. En tout cas c'est ce qui se passe sur mon écran, sans connaître le
calcul qu'il y a derrière.

18
Résolution réelle de l'écran: 1440x900 pixels
Taille de la police: 1152x720x32 pixels (32étant le nombre de bits de Ubuntu)
Taille du fond d'écran: 1124x765 pixels

Rappel pour calculer un pourcentage:


1440x0.2 = 288 ; 1440-288= 1152 (à moins 20%)
1440x0.15= 216 ; 1440-216= 1224 (à moins 15%)

La taille de la police:

Soit res-20%
sudo gedit /etc/default/grub
Décommentez: # GRUB_GFXMODE=640x480
Et mettez res-20% multiplié par le nombre de bits.
Exemple:
GRUB_GFXMODE=1152x720x32

sudo update-grub

La taille de l'image:

Ouvrez l'image avec gThumb Image Viewer


Gthumb > Image > Crop
Crop > Width x Height = res-15% > Apply
Save as … *.jpg (ou si vous utilisez GIMP, Save as … *.tga)

sudo gedit /etc/grub.d/05_debian_theme


Remplacer:
for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga}
Par l'adresse, le nom et l'extension de votre image, par exemple:
for i in {/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub}/birds_screen-res-15.
{png,tga,jpg} ; do

sudo update-grub

Et maintenant vous avez une belle image avec une police visible :)

19