Dépanner le boot LVM avec LILO sur Ubuntu

GRUB est le standard de facto, et LILO a été essentiellement remplacé. Mais quand on a installé GRUB et qu'il ne permet plus de redémarré ou si le MBR est corrompu ou manquant, on peut utiliser LILO pour dépanner le boot.

Lorsque le LiveCD n'est pas fourni avec le support LVM par défaut, on dois donc l'installer et charger le module:

sudo aptitude installer lvm2
sudo modprobe dm_mod

Maintenant que LVM est installé et que le module est chargé, on peux monter le volume. Pour monter le volume, on doit appeler le volume rechercher sous /dev. Dans le terminal pour découvrir exécuter 'lvscan':

sudo lvscan

Cela analysera les volumes, détectant tout disponible. De plus, «lvscan» indiquera si les volumes sont actifs ou inactifs. Dans le cas ou les volumes sont inactifs. Il faut donc les rendre actifs:

sudo lvchange -a y /dev/janus/root

/dev/janus/root est le volume qui contient mon système de fichiers racine, y compris /boot, qui est nécessaire pour mettre le système en état de fonctionnement. Maintenant que le volume est actif, on peux lui faire référence et le monter. Mais ce n'est pas tout ce dont on a besoin pour monter. On doit monter /proc pour le noyau et /dev pour que tous les périphériques corrects soient vus par le système. Donc, de nouveau dans le terminal taper :

sudo mount /dev/janus/root /mnt
sudo mount -t proc none /mnt/proc
sudo mount -o bind /dev /mnt/dev

Maintenant que tout est monté, il est temps de passer dans ce système de fichiers et de commencer à réparer les choses. Ceci est fait avec la commande chroot. Fondamentalement, cela change simplement le système de fichiers racine dans le répertoire que l'on spécifie. Dans ce cas, on va changer le système de fichiers racine en /mnt, où le volume logique qui réside sur le disque et qui contient le système de fichiers réel est monté, pas le LiveCD:

sudo chroot /mnt

L'invite de commande devrait montrer que l'on est sur le système de fichiers «/», ce qui signifie que tous les fichiers que l'on modifie sont modifiés sur le disque. On dois donc installer LILO. Parce qu'on a lancé «chroot» tout à l'heure, on fonctionne maintenant sur disque. Donc, l'installation de n'importe quel paquet sera persistant. Si c'est la première fois que l'on installe LILO, il faudra faire une étape supplémentaireen d'exécutant liloconfig pour créer /etc/lilo.conf. Sinon, lancer simplement lilo lui-même, puis redémarrer:

sudo aptitude install lilo
sudo liloconfig # Répondez oui à tout
sudo lilo

LILO devrait maintenant être installé dans le MBR du disque, et on doit avoir un système de démarrage à ce stade. Donc, les seules choses à faire sont de quitter l'environnement chrooté et de redémarrer, en espérant que tout fonctionne.

exit
sudo reboot

À ce stade, ma boîte a bien démarré et je tape ce message juste après le sauvetage. Tout est en place. J'espère que cela trouvera de l'aide pour quelqu'un qui est dans un bateau similaire à celui que je venais de réparer son LILO sur LVM.