User Tools

Site Tools


doc:appunti:linux:tux:grub

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:tux:grub [2023/02/08 15:41] – [parted] niccolodoc:appunti:linux:tux:grub [2025/06/06 15:47] (current) – [GRUB_DEFAULT Selezione kernel predefinito] niccolo
Line 306: Line 306:
 </code> </code>
  
-===== GRUB su disco EFI dual boot =====+===== GRUB su sistema EFI ===== 
 + 
 +I PC a partire dall'anno 2010 dovrebbero supportare nel BIOS il bootstrap secondo lo standard **[[wpit>UEFI]]** che si contrappone al vecchio sistema dell'MBR che viene quindi chiamato generalmente **legacy**. Nella configurazione legacy il codice di GRUB si installa, oltre che nel settore MBR, anche in una partizione dedicata identificata dal flag **bios_grub**. In una installazione EFI invece è necessario creare sul disco una partizione FAT32 generalmente identificata dai flag **boot** ed **esp**. 
 + 
 +Il boot legacy oppure EFI viene generalmente impostato nel programma di setup del BIOS, una volta effettuato il bootstrap in GNU/Linux è possibile sapere se il sistema è EFI verificando l'esistenza della pseudo directory **/sys/firmware/efi/**. Il programma **grub-install** è in grado di determinare l'impostazione del sistema e installare GRUB nello spazio opportuno. 
 + 
 +===== GRUB su sistema EFI dual boot =====
  
 Vedere questa [[https://wiki.debian.org/GrubEFIReinstall|guida]]. Vedere questa [[https://wiki.debian.org/GrubEFIReinstall|guida]].
Line 325: Line 331:
  
 Nel caso in cui si esegua nuovamente **''grub-install''**, ricordarsi sempre di montare prima la partizione EFI in ''/boot/efi'', altrimenti la voce Windows 7 nel menu di Grub viene persa. Nel caso in cui si esegua nuovamente **''grub-install''**, ricordarsi sempre di montare prima la partizione EFI in ''/boot/efi'', altrimenti la voce Windows 7 nel menu di Grub viene persa.
 +
 +===== Boot interattivo dal prompt grub> =====
 +
 +Se se interrompe il bootstrap oppure l'host non riesce a completare il normale boot, è possibile avviare manualmente un boostrap alternativo dal prompt **%%grub>%%** (ammesso che esista un kernel e una initrd valida). Ecco un esempio che utilizza il kernel dalla partizione RAID **/dev/md4**.
 +
 +<code>
 +grub> ls (md/4)/boot
 +initrd.img-6.1.0-25-amd64 vmlinuz-6.1.0-25-amd64 ...
 +
 +grub> set prefix=(md/4)/boot/grub
 +grub> set root=(md/4)
 +
 +grub> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/md4
 +grub> initrd /boot/initrd.img-3.13.0-29-generic
 +grub> boot
 +</code>
 +
 +La sintassi **%%(md/4)%%** viene utilizzata per indicare le partizioni RAID. La sintassi per indicare la partizioni normali di un disco SATA è invece del tipo **%%(hd0,1)%%**, dove i dischi fissi sono numerati a partire da **zero** e le partizioni a partire da **1**.
 +
  
 ===== GRUB_DEFAULT Selezione kernel predefinito ===== ===== GRUB_DEFAULT Selezione kernel predefinito =====
Line 337: Line 362:
  
 quindi eseguire **update-grub**. quindi eseguire **update-grub**.
 +
 +Questo è un esempio di un menu gerarchico di GRUB come appare nel file **/boot/grub/grub.cfg**:
 +
 +<code>
 +menuentry 'Debian GNU/Linux' --class debian --class gnu-linux ...
 +submenu 'Advanced options for Debian GNU/Linux' ...
 +        menuentry 'Debian GNU/Linux, with Linux 6.1.0-37-amd64' --class debian ...
 +        menuentry 'Debian GNU/Linux, with Linux 6.1.0-37-amd64 (recovery mode)' ...
 +        menuentry 'Debian GNU/Linux, with Linux 6.1.0-35-amd64' --class debian ...
 +        menuentry 'Debian GNU/Linux, with Linux 6.1.0-35-amd64 (recovery mode)' ...
 +menuentry "Memory test (memtest86+x64.bin)"  ...
 +menuentry 'Memory test (memtest86+x64.bin, serial console)'  ...
 +</code>
 +
 +La prima voce è quella predefinita, è di tipo **menuentry** ed è selezionarta con **GRUB_DEFAULT=0**. La seconda voce è di tipo **submenu** con quattro sotto-voci. Quindi - ad esempio - per selezionare il boot con kernel **6.1.0-35-amd64** in **recovery mode** si deve indicare la voce **%%GRUB_DEFAULT=1>3%%**.
 +
 +
doc/appunti/linux/tux/grub.1675867311.txt.gz · Last modified: by niccolo