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
Last revisionBoth sides next revision
doc:appunti:linux:tux:grub [2013/11/21 12:02] – [parted] niccolodoc:appunti:linux:tux:grub [2017/01/11 11:29] – [GRUB su disco EFI dual boot] niccolo
Line 2: Line 2:
  
 ===== Installazione di GRUB ===== ===== Installazione di GRUB =====
 +
 +**ATTENZIONE**: Queste istruzioni valgono per **GRUB versione inferiore a 2**, ad esempio grub 0.97 in Debian 4 Etch, fino a Debian 5 Lenny. A partire da Debian 6 Squeeze il pacchetto fittizio grub 0.97-64 effettua il passaggio a GRUB 2 (pacchetto **grub-pc 1.99**).
 +
 +Una delle principali **differenze** nel passaggio da GRUB a GRUB 2 è la **numerazione delle partizioni**, che è passata da **base 0** a **base 1**.
  
 Teoricamente il comando **''grub-install''** dovrebbe provvedere a fare l'autodetect di tutto e installare opportunamente GRUB sul disco fisso. Una installazione manuale dalla shell di GRUB potrebbe invece essere questa: Teoricamente il comando **''grub-install''** dovrebbe provvedere a fare l'autodetect di tutto e installare opportunamente GRUB sul disco fisso. Una installazione manuale dalla shell di GRUB potrebbe invece essere questa:
Line 99: Line 103:
 ^ /etc/grub.d/         | Snippet usati da ''update-grub'' per generare il menu.  | ^ /etc/grub.d/         | Snippet usati da ''update-grub'' per generare il menu.  |
  
 +**ATTENZIONE**! Non fare confusione tra l'UUID del block device (utilizzato nei contesti di cui sopra) e l'**UUID dei volumi RAID**. Questi ultimi si visualizzano con il comando:
 +
 +<code>
 +mdadm --detail /dev/md0
 +</code>
 +
 +oppure eseguendo **''/usr/share/mdadm/mkconf''**. L'UUID dei volumi RAID sono usati solo nel contesto di assemblaggio dei volumi stessi, quindi nel file **''/etc/mdadm/mdadm.conf''**.
 ===== fdisk e modo DOS-compatibile ===== ===== fdisk e modo DOS-compatibile =====
  
Line 158: Line 169:
 set 1 bios_grub on set 1 bios_grub on
 </code> </code>
 +
 +Se si vuole utilizzare unità di misura più precise, ad esempio il byte, dare il comando **''unit B''**.
  
 Il risultato visibile con **''print''** è il seguente: Il risultato visibile con **''print''** è il seguente:
Line 261: Line 274:
  
 Come impostare il modo video per GRUB e per il kernel che viene avviato: vedere la pagina **[[..:sa:console]]**. Come impostare il modo video per GRUB e per il kernel che viene avviato: vedere la pagina **[[..:sa:console]]**.
 +
 +===== Bootstrap dal prompt grub> =====
 +
 +Vedere questo tutorial: [[http://tuxers.com/main/instigating-a-manual-boot-from-the-grub-prompt/|Instigating a Manual Boot from the GRUB Prompt]].
 +
 +La sequenza minimale per avviare dal prompt **''grub>''** è la seguente:
 +
 +<code>
 +ls
 +set root=(md/4)
 +linux /vmlinuz ro root=/dev/md4
 +initrd /initrd.img
 +boot
 +</code>
 +
 +Con il primo comando si elencano i filesystem riconosciuti dai quali è possibile leggere l'immagine del kernel e dell'initrd. La riga di comando per caricare il kernel deve indicare il root filesystem, si può utilizzare il nome del device oppure l'UUID con **''root=UUID=''**. L'UUID di un filesystem si può vedere in **''/dev/disk/by-uuid/''** oppure con il comando **''dumpe2fs''**.
 +
 +===== Installare GRUB in un'altra partizione =====
 +
 +Questa la sequenza tipica di boot con GRUB (verificare con lo script **bootinfoscript**):
 +
 +  - **MBR** di /dev/sda -> carica ''core.img'' dal settore 1 di ''/dev/sda''
 +  - **core.img** -> cerca un filesystem, ad esempio tramite //MD UUID//
 +  - Filesystem **''/boot/grub/''** -> esegue il menut ''grub.cfg''
 +
 +Se si vuole abilitare il GRUB che sta su in filesystem diverso (es. ''/dev/md4'') da quello di boot (es. ''/dev/md0''):
 +
 +<code>
 +mount /dev/md4 /mnt
 +grub-install --boot-directory=/mnt/boot /dev/sda
 +</code>
 +
 +===== GRUB su disco EFI dual boot =====
 +
 +Vedere questa [[https://wiki.debian.org/GrubEFIReinstall|guida]].
 +
 +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'installazione Debian da CD o chiavetta USB si scopre che il boot manager (EFI) è rimasto inalterato e si avvia solo Windows 7.
 +
 +Occorre riavviare da chiavetta USB, modalità rescue, e fare l'installazione di Grub sulla partizione EFI. Bisogna guadagnare una shell chroot nell'ambiente target (montando ''/dev'', ''/dev/pts'', ''/proc'' e ''/sys'', ecc.)
 +
 +Se la partizione EFI è ''/dev/sda'' si fa qualcosa del genere:
 +
 +<code>
 +mount /dev/sda1 /boot/efi
 +apt-get install --reinstall grub-efi
 +grub-install /dev/sda
 +</code>
 +
 +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.
 +
 +===== 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 **''/etc/default/grub''**.
 +
 +L'indice di ogni voce inizia da zero, quindi se il sumbenu appare in posizione 2 e si vuole selezionare la quarta menuentry di tale submemu, si deve mettere:
 +
 +<file>
 +GRUB_DEFAULT="1>3"
 +</file>
 +
 +quindi eseguire **update-grub**.
doc/appunti/linux/tux/grub.txt · Last modified: 2023/02/08 14:41 by niccolo