doc:appunti:linux:tux:grub
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| doc:appunti:linux:tux:grub [2014/04/04 11:54] – [Installazione di GRUB] niccolo | doc:appunti:linux:tux:grub [2025/09/17 17:01] (current) – [GRUB su sistema EFI con due dischi RAID1] niccolo | ||
|---|---|---|---|
| Line 103: | Line 103: | ||
| ^ / | ^ / | ||
| + | **ATTENZIONE**! Non fare confusione tra l'UUID del block device (utilizzato nei contesti di cui sopra) e l' | ||
| + | |||
| + | < | ||
| + | mdadm --detail /dev/md0 | ||
| + | </ | ||
| + | |||
| + | oppure eseguendo **''/ | ||
| ===== fdisk e modo DOS-compatibile ===== | ===== fdisk e modo DOS-compatibile ===== | ||
| Line 144: | Line 151: | ||
| mklabel gpt | mklabel gpt | ||
| - | mkpart primary | + | mkpart primary |
| - | mkpart primary | + | mkpart primary |
| - | mkpart primary | + | mkpart primary |
| - | mkpart primary | + | mkpart primary |
| - | mkpart primary 200.0GB | + | mkpart primary 200.0GB |
| name 2 rootfs | name 2 rootfs | ||
| Line 162: | Line 169: | ||
| set 1 bios_grub on | set 1 bios_grub on | ||
| </ | </ | ||
| + | |||
| + | Se si vuole utilizzare unità di misura più precise, ad esempio il byte, dare il comando **'' | ||
| Il risultato visibile con **'' | Il risultato visibile con **'' | ||
| Line 265: | Line 274: | ||
| Come impostare il modo video per GRUB e per il kernel che viene avviato: vedere la pagina **[[..: | Come impostare il modo video per GRUB e per il kernel che viene avviato: vedere la pagina **[[..: | ||
| + | |||
| + | ===== Bootstrap dal prompt grub> ===== | ||
| + | |||
| + | Vedere questo tutorial: [[http:// | ||
| + | |||
| + | La sequenza minimale per avviare dal prompt **'' | ||
| + | |||
| + | < | ||
| + | ls | ||
| + | set root=(md/4) | ||
| + | linux /vmlinuz ro root=/ | ||
| + | initrd /initrd.img | ||
| + | boot | ||
| + | </ | ||
| + | |||
| + | Con il primo comando si elencano i filesystem riconosciuti dai quali è possibile leggere l' | ||
| + | |||
| + | ===== Installare GRUB in un' | ||
| + | |||
| + | Questa la sequenza tipica di boot con GRUB (verificare con lo script **bootinfoscript**): | ||
| + | |||
| + | - **MBR** di /dev/sda -> carica '' | ||
| + | - **core.img** -> cerca un filesystem, ad esempio tramite //MD UUID// | ||
| + | - Filesystem **''/ | ||
| + | |||
| + | Se si vuole abilitare il GRUB che sta su in filesystem diverso (es. ''/ | ||
| + | |||
| + | < | ||
| + | mount /dev/md4 /mnt | ||
| + | grub-install --boot-directory=/ | ||
| + | </ | ||
| + | |||
| + | ===== GRUB su sistema EFI ===== | ||
| + | |||
| + | I PC a partire dall' | ||
| + | |||
| + | 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' | ||
| + | |||
| + | ===== GRUB su sistema EFI dual boot ===== | ||
| + | |||
| + | Vedere questa [[https:// | ||
| + | |||
| + | Scenario: installazione Debian Wheezy su disco con Windows 7, che si avvia in modalità EFI. | ||
| + | |||
| + | Fortunatamente Windows 7 consente il ridimensionamento della partizione direttamente dal disk manager nativo. Dopo aver effettuato l' | ||
| + | |||
| + | Occorre riavviare da chiavetta USB, modalità rescue, e fare l' | ||
| + | |||
| + | Se la partizione EFI è ''/ | ||
| + | |||
| + | < | ||
| + | mount /dev/sda1 /boot/efi | ||
| + | apt-get install --reinstall grub-efi | ||
| + | grub-install /dev/sda | ||
| + | </ | ||
| + | |||
| + | Nel caso in cui si esegua nuovamente **'' | ||
| + | |||
| + | ===== GRUB su sistema EFI con due dischi RAID1 ===== | ||
| + | |||
| + | Se installiamo GNU/Linux su due dischi sfruttando la funzionalità **RAID1** (mirroring), | ||
| + | |||
| + | Dopo una normale installazione il boot loader sarà installato su una partizione **FAT32** del primo disco, ad esempio **/ | ||
| + | |||
| + | < | ||
| + | mkfs.fat -F 32 /dev/sdb1 | ||
| + | mount /dev/sdb1 /mnt | ||
| + | cp -pr / | ||
| + | umount /mnt | ||
| + | </ | ||
| + | |||
| + | Con **efibootmgr -v** si ispezione lo stato corrente del boot manager EFI: | ||
| + | |||
| + | < | ||
| + | efibootmgr -v | ||
| + | BootCurrent: | ||
| + | Timeout: 0 seconds | ||
| + | BootOrder: 0002,0004 | ||
| + | Boot0002* debian | ||
| + | Boot0004* Windows Boot Manager | ||
| + | </ | ||
| + | |||
| + | Si vede che la prima voce di boot 0002 è Debian ed è rimasta traccia del boot Windows 0004, sebbene questo sistema operativo non sia più presente sul disco. La voce relativa a Windows può essere rimossa: | ||
| + | |||
| + | < | ||
| + | efibootmgr --delete-bootnum --bootnum 0004 | ||
| + | </ | ||
| + | |||
| + | Quindi aggiungere una nuova voce di boot al BIOS EFI (supponiamo che la partizione vfat EFI sia /dev/sda1): | ||
| + | |||
| + | < | ||
| + | efibootmgr --bootnum 0003 --create --disk /dev/sda --part 1 --label " | ||
| + | efibootmgr --bootorder 0002,0003 | ||
| + | </ | ||
| + | |||
| + | Infine si verifica che tutte le informazioni siano corrette: | ||
| + | |||
| + | < | ||
| + | efibootmgr --verbose | ||
| + | BootCurrent: | ||
| + | Timeout: 0 seconds | ||
| + | BootOrder: 0002,0003 | ||
| + | Boot0002* debian | ||
| + | Boot0003* debian disk#2 HD(2, | ||
| + | </ | ||
| + | |||
| + | L'id mostrato è il PARTUUID della partizione, che può essere ispezionato con **blkid**: | ||
| + | |||
| + | < | ||
| + | blkid /dev/sdb1 | ||
| + | /dev/sda2: UUID=" | ||
| + | </ | ||
| + | |||
| + | ===== 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> | ||
| + | |||
| + | < | ||
| + | grub> ls | ||
| + | |||
| + | grub> ls (md/4)/boot | ||
| + | initrd.img-6.1.0-25-amd64 vmlinuz-6.1.0-25-amd64 ... | ||
| + | |||
| + | grub> set prefix=(md/ | ||
| + | grub> set root=(md/4) | ||
| + | |||
| + | grub> linux / | ||
| + | grub> initrd / | ||
| + | grub> boot | ||
| + | </ | ||
| + | |||
| + | La sintassi **%%(md/ | ||
| + | |||
| + | |||
| + | ===== GRUB_DEFAULT Selezione kernel predefinito ===== | ||
| + | |||
| + | Le nuove installazioni di GRUB2 hanno il menu di avvio organizzato in **menuentry** e **submenu**. Per selezionare come predefinita una delle opzioni, si edita **''/ | ||
| + | |||
| + | L' | ||
| + | |||
| + | < | ||
| + | GRUB_DEFAULT=" | ||
| + | </ | ||
| + | |||
| + | quindi eseguire **update-grub**. | ||
| + | |||
| + | Questo è un esempio di un menu gerarchico di GRUB come appare nel file **/ | ||
| + | |||
| + | < | ||
| + | menuentry ' | ||
| + | submenu ' | ||
| + | menuentry ' | ||
| + | menuentry ' | ||
| + | menuentry ' | ||
| + | menuentry ' | ||
| + | menuentry " | ||
| + | menuentry ' | ||
| + | </ | ||
| + | |||
| + | La prima voce è quella predefinita, | ||
| + | |||
| + | |||
doc/appunti/linux/tux/grub.1396605296.txt.gz · Last modified: by niccolo
