• # Grub2 vs Grub1 : Quel est le problème ?

    Posté par (site web personnel) . En réponse au journal Arch et le tournant. Évalué à 10.

    Adepte inconditionnel de grub1, et notamment du mini-shell que l'on a en pré-boot avant le chargement des OS, je dois avouer que j'ai vu son arrivée il y plus de 2 ans, sur Debian Testing, avec une certains crainte.

    Mais franchement, il n'y a pas de quoi faire un plat.

    La syntaxe du grub.cfg est différente du menu.lst ? La belle affaire, ce n'est qu'une syntaxe.

    Réinstallation de grub from scratch, notamment après des manips "foireuse" du genre effacement du MBR par un Windows fraichement installé ?

    Il y a plusieurs méthodes:
    - la technique "old school" : copier-coller d'un /boot/grub venant d'une autre machine, et lancement d'un "grub-install /dev/sdxx". Quand au /boot/grub/grub.cfg, il s'édite à la main sans problème

    • la méthode "dans les règle de l'art" (les commandes sont pour une Debian/Ubuntu)
      • boot sur un live CD
      • montage du "/" defectueux en /mnt/casse
      • montage en bind des répertoires système: mount -o bind /dev /mnt/casse/dev mount -o bind /proc /mnt/casse/proc mount -o bind /sys /mnt/casse/sys
      • chroot: chroot /mnt/casse
      • restauration du mbr, création du /boot/grub/grub.cfg update-grub dpkg-reconfigure grub-pc
      • démontage des "bind" et de la partition
      • reboot sur le disque dur

    Enfin, grub2 permet des trucs réellement sympa, comme le boot à travers une image ISO, sans avoir besoin de la décomprésser (*). C'est idéal pour avoir plusieurs distribs linux sur une même clé USB. Il suffit simplement de copier/coller l'image iso, en temps que fichier simple.

    (*): Exemple pour de l'Ubuntu:
    menuentry "Ubuntu 11.10 - Desktop - i386" {
    insmod ext2
    insmod loopback
    insmod iso9660
    set isofile="/iso/ubuntu-11.10-desktop-i386.iso"
    loopback loop $isofile
    linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash --
    initrd (loop)/casper/initrd.lz
    }

    Bref, grub2 c'est bon !