Gnu/Linux

Optimisez le démarrage de Ubuntu grâce à e4rat

Les gens qui viennent de découvrir GNU/Linux, sont souvent agréablement surpris par le temps de boot de leurs distributions, surtout pour ceux qui ont fait la migration depuis windows xp ou vista. Il faut dire que ces deux dernières années, les équipes de développement des différentes distributions et celle du kernel Linux, ont beaucoup travaillé la dessus. Et parce que le logiciel libre et GNU/Linux particulièrement est tout simplement génial, on peut améliorer encore le temps de boot grâce à quelques hacks (comme par exemple celui-là qui permet de faire passer le temps de démarrage de Fedora de 15 à 2,5 secondes !)ou utilitaires. e4rat en est un exemple

E4rat est un ensemble d’outils qui permettent d’accélérer le processus de  démarrage de votre distribution, mais aussi celui des applications. e4rat (ExT4 – reduced access time), comme son nom l’indique, ne marche  que sur les partitions ext4. Quant à son mode de fonctionnement, il ‘est très simple, lors du démarrage de votre ordinateur, e4rat analyse la séquence de boot, et déplacera les fichiers impliqué dans le début du disque dur, réduisant ainsi considérablement le temps de boot de votre ordinateur.

e4rat

Installation de e4rat sous Ubuntu

Avant de commencer l’installation, il va falloir se débarrasser de ces deux paquets ureadahead et ubuntu-minimal qui vont rentrer en conflit avec e4rat si vous tentez de l’installer :

sudo dpkg --purge ureadahead ubuntu-minimal

Maintenant allez sur le site du projet et téléchargez la dernière version disponible, il existe un .deb pour Ubuntu et Debian :

sudo dpkg -i e4rat_0.2.3_i386.deb

Une fois l’installation terminée, redémarrer votre ordinateur.

Analyse de séquence de boot

Quand vous arriverez au menu Grub, choisissez votre partition Linux et appuyez sur la touche “e” afin d’éditer sa configuration. Cherchez la ligne qui débute avec “kernel”, ça doit ressembler à celle-ci :

À la fin de cette ligne, ajouter ceci :

Appuyez sur ctrl + X pour continuer la séquence du démarrage. Cette ligne qu’on a ajouté et les deux minutes qui vont suivre l’ouverture d’une session sont très cruciales. Durant ces deux minutes, e4rat va collecter et enregistrer tout ce que vous faites, par exemple moi, la première chose que je fais quand je démarre une session, c’est de lancer firefox, thunderbird, hotot, deluge, gvim et mpd/ncmpcpp. Ces informations seront enregistrées dans le fichier /var/lib/e4rat/startup.log. Vous pouvez vérifier si ce fichier a été créé en tapant la commande suivante :

ls /var/lib/e4rat/startup.log

Redémarrez encore votre ordinateur.

Réaffectation des données collectées

Comme dans l’étape précédente, une fois le menu Grub apparaît, appuyez sur la touche “e” et allez à la fin de la ligne qu’on a édité auparavant, cette fois-ci on va ajouter single, ensuite appuyez sur ctrl + X. Cela devrait booter votre machine en single mode. Si vous voyez apparaître un écran ressemblant à celui en dessous, choisissez “resume normal boot” et appuyez sur “Entrer”.

Dans la console qui va apparaître, exécutez la commande ci-dessous. Cette dernière déplacera tous les fichiers de démarrage nécessaires dans le même endroit dans le disque dur, pour garantir un accès plus rapide :

sudo e4rat-realloc /var/lib/e4rat/startup.log

Cette opération peut durer quelques minutes, prenez donc un café et attendez que ça soit fini, puis redémarrer votre ordinateur.

Configuration de Grub

La prochaine étape est d’éditer notre fichier de configuration de Grub, afin que lesdits fichiers se préchargent à chaque démarrage de votre ordinateur.

sudo vim /etc/default/grub

Cherchez la ligne qui commence par GRUB_CMDLINE_LINUX=", juste après le double quote, ajouter ceci :

Le résultat devrait ressembler à ça :

Enregistrez le fichier et fermez le, puis dans un terminal, exécutez la commande suivante :

sudo update-grub

Maintenant il ne vous reste que redémarrer votre ordinateur et d’apprécier le temps de boot, qui doit être au moins réduit de moitié :).

17 Comments

  1. Christophe C

    Hello. Tu est sur de ta doc ? Il n’y a aucune ligne

    kernel /vmlinuz26 root=/dev/disk/by-uuid/…

    (ou du même genre) dans mon grub pour accéder à xubuntu 12.04.

    • manu

      @crowd42 : merci pour le tuyau ! :o)

      “Ces informations seront enregistrées dans le fichier /var/lib/d4rat/startup.log.”

      …dans le fichier /var/lib/e4rat/startup.log (pas d4rat), idem dans le ls qui suit.

      @Christophe C : c’est la ligne “linux /boot/vmlinuz-3.etc…”

      • crowd42

        Merci, c’est corrigé ;)

  2. Ricard

    Pour info, mon vieux XP démarre (beaucoup) plus vite que ma Arch.

    • pastis

      Dans ce cas apprend à installer une Archlinux …

      P.S si tu avais lu le tuto tu saurais qu’il parle de ubuntu et franchement 15 secondes pour booter c’est vraiment rapide.

    • Bruno

      Idem avec mon dual boot XP/Ubuntu, je dirais que Windows charge peut-être 15 secondes plus vite. Mais après je dois attendre ces 15+ secondes pour vraiment être capable d’utiliser un programme alors qu’avec Ubuntu j’en lance trois en même temps dès que le bureau apparaît donc je dirais que ça s’équivaut.

      Bref, faudra que je vérifie si je suis en ext4 un de ces quatre.

  3. Alex

    Précisons bien que cette astuce ne concerne que les utilisateurs de disque dur mécanique.
    Le fait de regrouper des données n’a pas de sens sur un SSD qui bénéficie d’un temps d’accès uniforme pour l’ensemble de son contenu ;)

  4. astromb

    Merci pour cette astuce !
    Le boot (Xubuntu 12.04) est plus rapide d’environ 15s et le démarrage des 1er soft sont plus rapides !

    Remarque : pour le boot en single, j’ai dû faire Ctrl + Alt + F7 pour accéder au prompt (aucun menu n’est apparu), mais sinon, tout fonctionne parfaitement.

  5. daufinsyd

    Merci, ça marche bien
    en revanche n’y a t-il pas contradiction entre ces deux lignes dans la partie Configuration de Grub ?

    Cherchez la ligne qui commence par GRUB_CMDLINE_LINUX=”, juste après le double quote, ajouter ceci :

    init=/sbin/e4rat-preload

    Le résultat devrait ressembler à ça :
    GRUB_CMDLINE_LINUX_DEFAULT=”init=/sbin/e4rat-preload quiet splash”

    c’est GRUB_CMDLINE_LINUX=” ou GRUB_CMDLINE_LINUX_DEFAULT=” ?

    (je l’ai mis dans GRUB_CMDLINE_LINUX_DEFAULT=”)

    merci

  6. Je suis bloqué à l’étape de réaffectation des données. J’ai ajouté single à la fin de la ligne linux /boot/vmlinuz-3.2.0… et j’arrive sur un écran noir avec un underscore qui clignote en haut à gauche. Rien de s’affiche et je peux rien écrire. Je peux juste faire un Ctrl + Alt + Suppr qui permet de redémarrer.

    • Ah oui, et après avoir ajouté “single” au démarrage, je me retrouve aussi face à un écran noir avec un tiret qui clignote et le disque dur qui s’est arrêté : Ctrl – Alt – Suppr premet de rebooter. Visiblement c’était normal mais c’est pas précisé dans le tuto.

      Crowd42 devrait aussi mettre à la ligne et en gras chaque reboot obligatoire car je crois que j’en ai manqué un.

  7. Christophe C

    Bon, chez moi cela a augmenté le temps de boot de 15 secondes. C’était pas le but. Enfin, j’ai peut-être fait une erreur. Pas grave, je voulais tout réinstaller.

  8. Je viens d’essayer sur ma debian sid qui me sert de poste de travail au boulot.
    -sur le noyaux spécifique xen pas de changement/amélioration : il doit y avoir quelque chose de différent sur cette ligne de démarrage.
    -sur le noyaux normal, je vois bien le pré-chargement s’effectuer, mais je ne note pas d’amélioration de la vitesse (visualisé avec dmesg). Par contre le login se fait plus rapidement (pas de lenteur d’accès au bureau) et les premiers logiciels lancées apparaissent de façon instantanés.
    Je pense que même avec un SSD on doit gagner un petit peu (pré chargement dans la mémoire) mais c’est moins important que de passer d’un disque dur a un SSD.

    Le seul problème de ce logiciel c’est que au fil des mises à jour du système, il doit être de moins en moins efficace (déplacement des fichiers sur des inodes différentes, nouveau logiciels lancés au démarrage, …)

  9. Bon tuto, je viens de tester =D Quelques remarques en vrac :
    - il ne faut pas se gourer dans l’édition du fichier Grub sinon kernel panic, et surtout pas oublier l’update-grub (sinon, rien ne se passe)
    - effectivement comme quelqu’un l’a fait remarquer, sous ubuntu pas de ligne kernel dans l’entrée au démarrage
    - les performances ne sont pas si exceptionnelles, ya du mieux c’est pas psychologique, mais c’est pas aussi foudroyant que je l’aurais espéré =(

    Merci en tout cas, car en effet une fois sur le bureau, Firefox, Thunderbird et Gajim arrivent très vite.

  10. Guiver

    Pour info, ceux qui ont un PC avec la technologie NVidia Optimus :
    Lors du démarrage en mode “Single”, lorsque vous avez l’erreur : *ERROR* MUX INFO call failed
    Passez manuellement sur le tty7 et vous pourrez lancer la commande.

    Merci pour le tuto.

Trackbacks / Pings

Laisser un commentaire