• [^] # Re: Grub 2

    Posté par (site web personnel) . En réponse à la dépêche OOMouse, GRUB 1.97 & Moblin. Évalué à 7.

    Comme dit plus bas, le /etc/grub.d/40_custom est présent afin de rajouter ses propres "commandes GRUB2", ce qui est suffisant pour rajouter au "/boot/grub/grub.cfg" une entrée écrite à la main par l'utilisateur.

    De plus, le /etc/default/grub permet de customiser, avec quelques moyen simples, son GRUB2. Personnellement, j'ai rajouté un "ipv6.disable=1" au "GRUB_CMDLINE_LINUX=", afin de désactiver complètement ipv6 (merci au passage aux forums Ubuntu qui en parlent).

    Pour avoir récemment installé ou mis à jour un paquets de machines Debian Squeeze/Testing et Ubuntu 9.10, je dois dire que la méthode "Unbutu" pour démarrer un Windows via GRUB2 est mieux conçu que celle de Debian :


    ### BEGIN /etc/grub.d/30_os-prober ###
    menuentry "Microsoft Windows XP Professionnel (on /dev/sda1)" {
    insmod ntfs
    set root=(hd0,1)
    search --no-floppy --fs-uuid --set xxxxxxxxxxxxxxxxxxx
    drivemap -s (hd0) ${root}
    chainloader +1
    }


    En effet, le "drivemap -s (hd0) ${root}" permet proprement de démarrer un Windows installé sur un disque non-bootable, via une inversion, au niveau du BIOS, des 2 disques. Auparavant, cela était fait dans GRUB 1 par la commande "map". Mais là, telle que c'est écrit, cette instruction est "générique", et fonctionne quelque soit le disque sur lequel est installé Windows.

    J'ai beaucoup utilisé GRUB 1 "à la mano", afin de résoudre des problèmes de muti-boot un peu vicieux, et le passage à GRUB2 m'inquiétait, du fait que je n'avais pas les bons outils pour répondre aux même besoins qu'avec GRUB 1. Typiquement : "Comment restaurer le MBR de GRUB2, une fois que Windows à ré-écrit le sien, et empêche de booter Linux ?."

    La lecture de http://grub.enbug.org/GRUB2LiveCDInstallGuide-FR m'a beaucoup aidé.

    On peut résumé par ceci :

    + Boot sur un live-CD

    + Recherche de toutes les partitions de tous les disques :
    fdisk -l

    + Montage du / :
    mkdir /mnt/restore
    mount /dev/sda2 /mnt/restore

    + Montage du /boot, si il est à part :
    mount /dev/sda1 /mnt/restore/boot

    + Montage du /dev, en utilisant celui du live-CD :
    mount --bind /dev /mnt/restore/dev

    + Chroot dans le linux monté :
    chroot /mnt/restore
    OU
    chroot /mnt/restore /bin/xxxx
    ou "xxxx" est le nom de votre shell préféré

    + Si nécessaire, re-installation du paquet GRUB2 :
    aptitude install grub-pc

    + Vérifier la cohérance du /boot/grub/devicemap

    + Création d'un nouveau /boot/grub/grub.cfg :
    update-grub

    + Installation de GRUB2 dans le MBR du /dev/sda :
    grub-install /dev/sda
    OU essayer "grub-install --recheck /dev/sda" si cela rate

    + Sortie du chroot :
    exit

    + Demontage du /dev :
    umount /mnt/restore/dev

    + Demontage du /boot :
    umount /mnt/restore/boot

    + Demontage du / :
    umount /mnt/restore

    + Redémarrer la machine sur le disque dur...