# [RISOLTO] grub2-install uefi mode

## tornadomig

ciao a tutti i pinguini  :Wink: 

dunque, ho installato soltanto gentoo su pc desktop senza alcun windows (la mainboard e' una ASUS H87-PLUS con l'ultimo firmware aggiornato) in uefi da sysrescuecd anche lui in uefi mode. sono arrivato alla fine ma non credo di aver dato i comandi giusti per grub2-install. il sistema parte, si avvia e va bene, neanche un errore al boot. scrivo ora con kde operativo. pero' non sono convinto che sia giusto. spero di chiarire la cosa perche' per me non e'  facile, conosco poco uefi.

in pratica al momento fatidico ho dato

```
# grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub /dev/sda
```

perche' mi chiedeva ID non specificato. 

io ho questo ora

```
$ ls /boot/efi/efi/grub/ 

grubx64.efi
```

```
$ ls /boot

System.map-genkernel-x86_64-3.12.13-gentoo  efi  grub  initramfs-genkernel-x86_64-3.12.13-gentoo  kernel-genkernel-x86_64-3.12.13-gentoo
```

anche in

```
#cd /boot/efi

System.map-genkernel-x86_64-3.12.13-gentoo  efi  grub  initramfs-genkernel-x86_64-3.12.13-gentoo  kernel-genkernel-x86_64-3.12.13-gentoo
```

poi ho dato

```
# grub2-mkconfig -o /boot/grub/grub.cfg
```

sicuramente sbagliato...

forse doveva essere cosi?

```
# grub2-mkconfig -o /boot/efi/grub/grub.cfg
```

ecco, cosa devo togliere o rifare al fine di avere la possibilita' di rendere avviabile il tutto?

mio /etc/fstab

```
# nano /etc/fstab

/dev/sda1               /boot/efi       vfat            defaults        0 2

/dev/sda3               /               ext4            noatime         0 1

/dev/sda2               none            swap            sw              0 0

/dev/cdrom              /mnt/cdrom      auto            noauto,user     0 0

#/dev/fd0               /mnt/floppy     auto            noauto          0 0

tmpfs                   /var/tmp        tmpfs           size=6G 0 0
```

mio /etc/portage/make.conf

```
CFLAGS="-march=core-avx2 -O2 -pipe"

CXXFLAGS="${CFLAGS}"

# WARNING: Changing your CHOST is not something that should be done lightly.

# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.

CHOST="x86_64-pc-linux-gnu"

# These are the USE flags that were used in addition to what is provided by the

# profile used for building.

MAKEOPTS="-j5"

FEATURES="userfetch buildpkg parallel-install"

PORTAGE_NICENESS="19"

EMERGE_DEFAULT_OPTS="-j9 --load-average=25.85"

USE="bindist mmx sse sse2 ssse3 sse4_1 icu nls truetype mms opus musepack ffmpeg vcd unicode branding bash-completion opengl libass v4l libvisual taglib dv dvb lame vpx xa xv vdpau xvmc vaapi pulseaudio jpeg2k tiff mng svg theora dts nsplugin openvg wavpack scanner"

VIDEO_CARDS="intel"

ALSA_CARDS="hda-intel"

INPUT_DEVICES="evdev mouse keyboard joystick"

LINGUAS="it en"

SANE_BACKENDS="hp"

GRUB_PLATFORMS="efi-64"

PORTDIR="/usr/portage"

DISTDIR="${PORTDIR}/distfiles"

PKGDIR="${PORTDIR}/packages"

SYNC="rsync.europe.gentoo.org"

EDITOR="usr/bin/nano"

GENTOO_MIRRORS="ftp://mirrors.xmu.edu.cn/gentoo ftp://91.121.125.139/gentoo-distfiles/ ftp://91.121.124.139/gentoo-distfiles/"
```

grazie a voi!  :Smile: Last edited by tornadomig on Tue Aug 04, 2015 12:20 pm; edited 2 times in total

----------

## tornadomig

ho risolto alla fine.

dopo aver io installato grub, si danno i seguenti comandi:

```
# cd /boot
```

```
# mkdir efi
```

```
# cd efi
```

```
# mkdir grub
```

io ho usato genkernel quindi in /boot vi e' System-map, kernel-genkernel e initramfs del kernel in uso

```
# grub2-install --target=x86_64-efi --efi-directory=/boot/efi --boot-directory=/boot/efi /dev/sda
```

il comando crea le sotto directory in /boot/efi/EFI/gentoo e soprattutto il file grubx64.efi

e per finire

```
# grub2-mkconfig -o /boot/efi/grub/grub.cfg
```

cosi' nel menu' uefi nel bios posso far partire gentoo in uefi mode appunto perché compare la voce "gentoo" nel menù di boot. vi ricordo che io non ho windows in dual-boot, solo gentoo.

```
# grub2-mkconfig -o /boot/grub/grub.cfg
```

leggendo e rifacendo installazione ex-novo di gentoo, sul wiki di grub2 si riporta che anche cosi' dovrebbe funzionare. fidiamoci quindi degli ultimi aggiornamenti. mi scuso ma l'ho visto e notato da poco  :Wink: 

aggiungo ora che rimane un dettaglio da risolvere: se scollego dai cavi sata l'hdd con installato gentoo e poi lo ricollego (perché ho altri hdd con altri os) perdo le impostazioni di grub nel bios uefi, devo perciò andare di chroot con sysrescuecd e ridare grub2-install e grub2-mkconfig riportati prima e si risolve riavviando. ovvio che io voglio fare il boot sempre in uefi mode e non legacy-bios.

ancora meglio, per evitare di dare grub2-install e grub2-mkconfig, come ho spiegato poc'anzi, per far ritornare la voce "gentoo" (ripeto, se avete scollegato il cavo sata come faccio io ogni tanto per cambiare hard disk e fosse quindi scomparso) nel menu' uefi all'avvio della mainboard, usate questi comandi

per scrupolo date prima (se usate initrd dovrebbe gia' caricarlo al boot se flaggato durante la compilazione del kernel)

```
# modprobe efivarfs
```

```
# efibootmgr -c -g -d /dev/sda -p 1 -w -L "Gentoo" -l '\EFI\Gentoo\grubx64.EFI'
```

verificate sempre dove voi avete la partizione /boot/efi e il drive (/dev/sda o /dev/sdb etc etc), la mia e' /dev/sda1 infatti!  :Wink:  vedrete che non avrete piu' problemi, ok?

un' altra cosa è che per avviare sysrescuecd in uefi mode ho dovuto rinominare la directory syslinux in isolinux all' interno dei files di sysrescuecd nella pendrive usb che uso di solito per il chroot di gentoo in uefi mode. nel forum di sysrescuecd è riportato.

se potete verificare anche voi, grazie! ma sappiate (questa e' l'ultima news a riguardo e lo dico ora che e' il 12 maggio) che prendendo l'ultima versione di sysrsccd il problema e' stato ovviato. pero' la piu' recente versione  di unetbootin su windows mi ha dato problemi nel mettere il tutto su pendrive usb. meglio quella per linux, va che e' una meraviglia.

(ciò mi capita anche con slackware. si installa tutto utilizzando la iso che ho messo su chiavetta usb con unetbootin, uso elilo e va bene, creo poi initrd e va bene. al riavvio nel menù boot trovo slackware in uefi mode e va bene ma quando scollego i cavi dall' hdd come ho fatto anche con gentoo, paff anche qui mi svanisce tutto. e non ho ancora capito come ripristinare quando sono in chroot la slack 14.1 64. il problema è il bootloader del firmware? qui mi fermo. boh...). comunque per quanto riguarda il discorso slackware, anche se vado in off topic, basta sempre installare grub2 come bootloader ed evitare elilo  :Wink: 

c'e' un escamotage: mettete una iso di alt linux (son 200 e passa mb) su cd-rom e fate il boot con esso. tra l'altro dicono che funziona anche col secure boot abilitato sempre in uefi mode (io comunque lascio sempre disabilitato il secure boot con le distro gnu/linux!). alt linux contiene rEFInd che ci permette di scegliere qualsiasi os con cui fare il boot   :Wink: 

----------

