Page 1 sur 1

[Boot] UEFI

Publié : mer. 08 août 2012, 02:59
par Feng
Bonjour,

J'ai une nouvelle machine équipée d'une carte mère qui offre un UEFI.
J'ai installé sur cette machine un W7.

Le disque (2To) est partitionné comme suit :

/dev/sda :

1. Stockage NTFS
2. Partition système W7 NTFS
3. W7 NTFS
5. Arch /boot EXT4
6. Arch / EXT4
7. Arch /home EXT4

Note : la partition 4 est une partition logique, et donc les partitions 5 à 7 sont des partitions étendues.

J'ai installé Archlinux via la dernière ISO.
J'ai installé gummiboot, puis je l'ai supprimé (il était sensé être du plug&play, ce qu'il n'est pas)

Situation actuelle : l'ordinateur ne démarre sous aucun OS. L'UEFI est toujours présent. Je suis en chroot dans l'installation Archlinux.

La doc la dessus est horriblement éparse, dense, redondante et je ne m'y retrouve absolument pas.

Ce que je veux : un multi-boot classique, je démarre le PC, y'a le prompt de GRUB qui me laisse choisir mon OS ; je veux conserver le "bios avancé : UEFI".

Je ne sais pas où est stocké ce foutu UEFI donc j'ai peur de le supprimer en écrasant je ne sais quoi je ne sais pas où sur le disque.
Je ne comprends pas non plus pourquoi à cause de ce UEFI la donne change


HELP

Re: [Boot] UEFI

Publié : mer. 08 août 2012, 03:16
par Aikadil
Je ne l'ai jamais fait, mais il me semble qu'il faut installer Grub2 et suivre le wiki uefi https://wiki.archlinux.org/index.php/GR ... _systems_2
Il me semble avoir vu quelques part qu'il falait utiliser des partitions GPT pour utiliser UEFI sous gnu/linux... Je divague peut-être.

Par contre UEFI n'est pas sur le disque dur, mais dans une rom sur la cart mère, pas de risque de l'effasser par formatage.

Re: [Boot] UEFI

Publié : mer. 08 août 2012, 08:30
par oktoberfest
Salut,

d'après ce que tu dis de tes partitions (présence d'une partition étendue par exemple) j'en déduis que tu utilises le partitionnement 'classique' (et non pas GPT).

Sur ma carte mère UEFI (donc avec un zoli bios graphique, la souris et tout et tout) j'avais installé un bon vieux grub-legacy (remplacé depuis par syslinux) et je n'ai eu aucun souci particulier : installation du bootloader, mise à jour du MBR et vogue la galère !

Ne pas confondre Bios UEFI/Legacy et partitionnement MBR/GPT : ce sont deux choses différentes.

Re: [Boot] UEFI

Publié : mer. 08 août 2012, 12:21
par Feng
Merci de vos réponses à tous les deux.

J'ai fais une installation standard de grub et tout boot bien \o/

Re: [Boot] UEFI

Publié : mer. 08 août 2012, 13:45
par Feng
Euuu en fait non, Archlinux boot correctement mais W7 fait la gueule, il me dit "The boot selection failed because a require device is inaccessible". J'ai essayé de faire une réparation avec un live usb, mais ça ne fonctionne pas :/

Re: [Boot] UEFI

Publié : mer. 08 août 2012, 16:19
par onyx67
Salut,
Tu as bien mis la bonne partition dans la ligne set root du /boot/grub/grub.cfg?
Sinon tu peux aussi installer os-prober disponible sur Aur, qui va permettre à Grub de détecter automatiquement les systèmes installés sur ton DD.

Re: [Boot] UEFI

Publié : mer. 08 août 2012, 16:23
par Feng
Mon grub.cfg est bon.

Re: [Boot] UEFI

Publié : mer. 08 août 2012, 16:37
par onyx67
Question bête: t'as bien installé grub-efi-x86_64?

Re: [Boot] UEFI

Publié : mer. 08 août 2012, 16:38
par Feng
Non, " j'avais installé un bon vieux grub-legacy " du coup je me suis dis que grub-bios serait ok

Re: [Boot] UEFI

Publié : mer. 08 août 2012, 16:41
par oktoberfest
Chez moi ça marche mais je n'ai pas de Windows en dual boot, uniquement Arch. Donc pour cette partie je déclare forfait :dodo:

Re: [Boot] UEFI

Publié : mer. 08 août 2012, 16:44
par onyx67
Ah oui, j'avais lu trop rapidement les messages précédents :oops: (du coup os-prober ne fonctionnerai sans doute pas).
Bah, essaie donc avec Grub-efi tant qu'à faire...

Re: [Boot] UEFI

Publié : mer. 08 août 2012, 16:49
par oktoberfest
Poste le contenu de ton grub.cfg. Comme tu as déjà posté ta table des partitions, quelqu'un va bien voir ce qui cloche.

Re: [Boot] UEFI

Publié : mer. 08 août 2012, 17:16
par Feng
J'ai vu un message d'erreur au démarrage de GRUB, mais il passe en un éclair je n'ai vraiment pas le temps de le lire !!

EDIT : ahah, je l'ai finalement eu :
error: file '/grub/locale/en.mo.gz' not found.
Autant dire qu'on s'en fout ... ^^

Sinon :

Code : Tout sélectionner

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {                                                                                                                                        
  if [ x$feature_all_video_module = xy ]; then                                                                                                               
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6  e30d0ccc-d17d-4655-ad55-8f79f1fb4354
else
  search --no-floppy --fs-uuid --set=root e30d0ccc-d17d-4655-ad55-8f79f1fb4354
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
set timeout=1
default=0
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch GNU/Linux, with Linux core repo kernel' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-e30d0ccc-d17d-4655-ad55-8f79f1fb4354' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  4554a226-5b08-4fd9-a368-80156b0a3a99
        else
          search --no-floppy --fs-uuid --set=root 4554a226-5b08-4fd9-a368-80156b0a3a99
        fi
        echo    'Loading Linux core repo kernel ...'
        linux   /vmlinuz-linux root=UUID=e30d0ccc-d17d-4655-ad55-8f79f1fb4354 ro  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /initramfs-linux.img
}
menuentry 'Arch GNU/Linux, with Linux core repo kernel (Fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-fallback-e30d0ccc-d17d-4655-ad55-8f79f1fb4354' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  4554a226-5b08-4fd9-a368-80156b0a3a99
        else
          search --no-floppy --fs-uuid --set=root 4554a226-5b08-4fd9-a368-80156b0a3a99
        fi
        echo    'Loading Linux core repo kernel ...'
        linux   /vmlinuz-linux root=UUID=e30d0ccc-d17d-4655-ad55-8f79f1fb4354 ro  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /initramfs-linux-fallback.img
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-chain-ECC8A4FBC8A4C564' {
        insmod part_msdos
        insmod ntfs
        set root='hd0,msdos2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2  ECC8A4FBC8A4C564
        else
          search --no-floppy --fs-uuid --set=root ECC8A4FBC8A4C564
        fi
        chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

Re: [Boot] UEFI

Publié : mer. 08 août 2012, 18:15
par Feng
Je viens de comprendre que si mon Windows boot pas c'est parce que j'ai supprimé la partition par erreur en installant arch :D

EDIT ; pour la postérité je confirme que ça fonctionne en simplement installant grub-bios