Come per Maxine, ho trovato le mie impostazioni UEFI nel BIOS danneggiate e la mia macchina non si avviava.
Nel mio caso, è un Lenovo ThinkServer RD430 con Linux Mint Debian e sembrava qualsiasi cosa che avrei fatto per aggiornare-grub o cambiare qualsiasi disco rigido nel server avrebbe causato il mancato avvio. Il sistema operativo nel mio caso è linuxmint-201403-mate-dvd-64bit installato via USB. (vedi sotto per una descrizione completa degli eventi che farebbero sì che l'UEFI non funzioni)
Eseguire esattamente gli stessi passi su un ThinkServer TS140 non ha fatto sì che l'UEFI perdesse la testa neanche una volta. Guardando la pagina dei driver RD430, il mio bios è vecchio di due versioni. Non ho mai dovuto aggiornare il bios su una scheda madre prima d'ora, quindi non sono uno che si aggiorna automaticamente quando ci sono nuove versioni disponibili. Dopo aver aggiornato il bios, la risposta di Maxine ha funzionato, solo con una torsione…
# efibootmgr -c --disk /dev/sdX --part Y
# efibootmgr -v
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0002,0000,0003,0001,0004
Boot0000* linuxmint HD(1,800,1f4000,829f6cc9-5b17-479c-b3ea-61e43faecbf7)File(\EFI\linuxmint\grubx64.efi)
Boot0001* LMDE Linux Mint Debian HD(1,800,15d505800,934c598c-fe3c-fd43-84a1-fa38e4f72552)File(\EFI\linuxmint\grubx64.efi)
Boot0002* Linux HD(1,800,1f4000,829f6cc9-5b17-479c-b3ea-61e43faecbf7)File(\elilo.efi)
Boot0003* UEFI: Built-in EFI Shell Vendor(5023b95c-db26-429b-a648-bd47664c8012,)AMBO
Boot0004* UEFI: VerbatimSTORE N GO 1.00 ACPI(a0341d0,0)PCI(1a,0)USB(1,0)USB(4,0)HD(1,80,1d70780,00000000)AMBO
mint / #
Il comando efibootmgr -c
ha aggiunto due voci 0000
e 0002
!
La voce Boot0002* Linux HD
prima in ordine di avvio non è corretta.
La voce 0000
è corretta.
Per testare questo, ho provato ad avviare senza interruzioni, che è la voce 0002
. Come previsto, non ha funzionato. Così ho riavviato il server, ho premuto F12 e ho scelto linuxmint
. Come sperato, si è avviato alla mia installazione LMDE.
Il modo per rimuovere le voci indesiderate tramite efibootmgr è:
# efibootmgr -b 2 -B
Ho usato questo comando per rimuovere le voci 0001
e 0002
. L'opzione 0001
è stata l'ultimo dei miei numerosi tentativi di recuperare il sistema operativo.
Note UEFI
Se state leggendo questo e siete frustrati con l'UEFI come lo sono stato io, ecco alcune note e risorse:
“ L'avvio su UEFI Shell è simile all'uso di una shell DOS.
” Intel ha fatto un manuale di riferimento PDF per i comandi della shell efi .
“ Il documento di Lenovo UEFI_on_TS430 document è l'unica risorsa che ho visto spiegare l'uso della shell efi.
” Un altro riferimento alla shell uefi da nPartition Administrator’s Guide.
“ Si può provare ad avviare una partizione dalla shell efi navigando verso il caricatore ed eseguendola.
” UEFI vuole che il disco abbia una tabella delle partizioni GPT, non una tabella delle partizioni msdos.
“ UEFI vuole che la prima partizione del disco sia formattata in fat32 o vfat.
” Per un avvio “generico” ci deve essere una directory /EFI/boot
nella root con bootx64.efi
.
“ Alcune persone copiano il loro grubx64.efi
da dove è stato installato su /EFI/boot/bootx64.efi
e questo trucco ha funzionato per loro.
” Ogni volta che fate dei cambiamenti di grub, usate efibootmgr -v
prima e dopo per assicurarvi che il vostro riavvio sia ok.
La mia esperienza con l'RD430
Ho resinato il sistema operativo più di 10 volte nell'ultima settimana cercando di risolvere questo problema e di configurare il server. La mia configurazione è un SSD su questo controller RAID nello slot PCIe 2.0 con LMDE installato su di esso. AOC-S3008L-L8i controller RAID rimesso in modalità IT ) nel secondo slot PCIe 3.0 con unità da 6x 3TB. RAM: 12GB ECC (3x 4GB).
Ecco le modifiche che farei che causano il mancato avvio del mio sistema:
“ Cambiare gli slot pci S3008L-L8i pci (lasciando solo la scheda SSD+card).
” Disattivare il prompt LSi software raid bios del software per il controller di bordo.
“ Aggiungere la mia vecchia scheda HighPoint RocketRaid ad uno slot PCIe aperto.
” Fare una modifica a /etc/default/grub
e poi eseguire update-grub
.
(forse grub-install
deve essere eseguito anche &007?)