Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/12/2011, à 08:19

malbo

[Résolu] multi-boot sur DD en MSDOS et DD en GPT

Mes essais sont réalisés avec VirtualBox 4.1.6 dans un OS hôte Ubuntu 11.10. Je peux configurer le "Bios" du PC virtuel en mode UEFI en cochant la case "Activer EFI" dans la configuration du système mais dans ce que je decris ci-dessous, j'ai décoché cette case afin d'être en mode BIOS/MBR.
Edit le 18-7-2012 : NON, c'est une connerie ce que j'écris là (voir post #3) >>> Je viens de découvrir que Ubuntu 11.04 installé sur un DD (disque dur) formaté en MSDOS est capable de détecter (et proposer dans son menu Grub) d'autres installations de Ubuntu qui sont sur un DD formaté en GPT et qui ont été installées en mode UEFI. J'ai seulement fait une commande de mise à jour de grub (sudo update-grub) depuis une session de cette Ubuntu 11.04 et toutes les autres installations ont été détectées et ajoutées dans le fichier grub.cfg.
Extrait du fichier grub.cfg de l'installation Ubuntu 11.04 qui se trouve sur le DD MSDOS :

menuentry 'Ubuntu, avec Linux 2.6.38-8-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    set gfxpayload=$linux_gfx_mode
    insmod part_msdos
    insmod ext2
    set root='(/dev/sda,msdos5)'
    search --no-floppy --fs-uuid --set=root 1a7f4515-a7c2-43ce-8d92-4bb2b9276770
    linux    /boot/vmlinuz-2.6.38-8-generic root=UUID=1a7f4515-a7c2-43ce-8d92-4bb2b9276770 ro   quiet splash vt.handoff=7
    initrd    /boot/initrd.img-2.6.38-8-generic
}
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(/dev/sda,msdos1)'
    search --no-floppy --fs-uuid --set=root FE743D36743CF34F
    chainloader +1
}
menuentry "Ubuntu, avec Linux 3.0.0-14-generic (on /dev/sdc6)" --class gnu-linux --class gnu --class os {
    insmod part_gpt
    insmod ext2
    set root='(/dev/sdc,gpt6)'
    search --no-floppy --fs-uuid --set=root 6dfe68ed-572e-4169-8a79-37b591b42add
    linux /boot/vmlinuz-3.0.0-14-generic root=UUID=6dfe68ed-572e-4169-8a79-37b591b42add ro quiet splash vt.handoff=7
    initrd /boot/initrd.img-3.0.0-14-generic
}

Pour alléger, je n'ai copié ci-dessus que Ubuntu 11.10 (noyau 3.0.0-14) mais le fichier grub.cfg contient bien toutes les installations de Ubuntu qui sont sur le DD GPT qui est vu comme le disque sdc. Il va sans dire que tout est fonctionnel : si je choisis de démarrer sur "Ubuntu, avec Linux 3.0.0-14-generic (on /dev/sdc6)", je me retrouve dans cette installation qui fonctionne en mode EFI (avec grub-efi) avec la partition EFI montée comme il se doit, exactement comme si j'avais démarré le PC en mode UEFI directement sur cette installation, alors que le PC est en mode BIOS/MBR.

Dernière modification par malbo (Le 18/07/2012, à 13:05)

Hors ligne

#2 Le 13/12/2011, à 09:06

malbo

Re : [Résolu] multi-boot sur DD en MSDOS et DD en GPT

PROPOSITION INVERSE par rapport au post #1 : démarrer le PC en mode EFI sur l'installation de Ubuntu 11.10 qui se trouve sur le DD GPT et arriver à booter l'installation de Ubuntu 11.04 qui se trouve sur le DD MSDOS. Et bien ça fonctionne aussi.
Voici un extrait du grub.cfg avec seulement les parties intéressantes à mon avis :

menuentry 'Ubuntu, avec Linux 3.0.0-14-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    set gfxpayload=$linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd2,gpt6)'
    search --no-floppy --fs-uuid --set=root 6dfe68ed-572e-4169-8a79-37b591b42add
    linux    /boot/vmlinuz-3.0.0-14-generic root=UUID=6dfe68ed-572e-4169-8a79-37b591b42add ro   quiet splash vt.handoff=7
    initrd    /boot/initrd.img-3.0.0-14-generic
}
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root FE743D36743CF34F
    chainloader +1
}
menuentry "Ubuntu, avec Linux 2.6.38-8-generic (on /dev/sda5)" --class gnu-linux --class gnu --class os {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos5)'
    search --no-floppy --fs-uuid --set=root 1a7f4515-a7c2-43ce-8d92-4bb2b9276770
    linux /boot/vmlinuz-2.6.38-8-generic root=UUID=1a7f4515-a7c2-43ce-8d92-4bb2b9276770 ro quiet splash vt.handoff=7
    initrd /boot/initrd.img-2.6.38-8-generic
}

Donc si je choisis "Ubuntu, avec Linux 2.6.38-8-generic (on /dev/sda5)" dans le menu présenté par le grub de Ubuntu 11.10, j'arrive bien à démarrer Ubuntu 11.04 qui se trouve sur le DD MSDOS.
Il est à noter que si je choisis "Windows 7 (loader) (on /dev/sda1)", c'est à dire une installation de Win7 réalisée en mode BIOS/MBR, ça ne fonctionne pas. J'ai le message suivant qui s'affiche :

erreur : invalid EFI file path.
Pressez une touche pour continuer...

En somme Grub fonctionne bien pour Ubuntu mais pour arriver à démarrer sur Windows 7, il est nécessaire de démarrer le PC en mode BIOS/MBR (c'est à dire, comme dans le post #1).

Dernière modification par malbo (Le 13/12/2011, à 09:30)

Hors ligne

#3 Le 18/07/2012, à 13:01

malbo

Re : [Résolu] multi-boot sur DD en MSDOS et DD en GPT

J'ai dû m'emballer un peu dans la manip du post #1 parce que j'ai fait une manip du même genre aujourd'hui et c'est beaucoup moins le fun.
Oui, en démarrant en mode Bios en utilisant le Grub d'une installation Ubuntu faite en mode Bios (c'est le cas identique au post #1 sauf que mes install actuelles sont des Ubuntu 12.04), j'arrive bien en passant par le menu Grub à sélectionner et à démarrer une autre installation Ubuntu faite en mode EFI  mais il y a un gros loup : le Ubuntu est démarré en mode Bios (alors qu'il est vital que cet Ubuntu soit démarré en mode EFI).
Depuis la session de ce Ubuntu, si je passe la commande :

dmesg | grep EFI

je n'obtiens pas le résultat attendu dans ce tuto ( je suis dans le cas n°1 donc je suis en mode Bios) 
Et autre indice (c'est nouveau, ça vient de sortir. C'est un complément de la vérif précédente) : si je passe la commande "dir /sys/firmware", j'obtiens le résultat suivant :

dir /sys/firmware   
acpi  memmap

alors que je devrais voir un dossier "efi" en plus des dossiers acpi et memmap.
Si je démarre comme il se doit - en mode EFI - le même Ubuntu, j'obtiens ceci :

dir /sys/firmware
acpi  efi  memmap

Là, je vois bien le dossier nommé "efi"

Tout ça pour dire que pour démarrer un Ubuntu installé en EFI, il faut passer par le mode EFI du PC.

Dernière modification par malbo (Le 18/07/2012, à 13:16)

Hors ligne