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 [2012/11/12 16:30] – [parted] niccolodoc:appunti:linux:tux:grub [2023/02/08 15:41] (current) – [parted] 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 140: Line 151:
 mklabel gpt mklabel gpt
  
-mkpart primary 10.0MB +mkpart primary   1.0MB   10.0MB 
-mkpart primary 10.0MB 20.0GB +mkpart primary  10.0MB   60.0GB 
-mkpart primary 20.0GB  21.0GB +mkpart primary  60.0GB   80.0GB 
-mkpart primary 20.9GB 60GB +mkpart primary  80.0GB  200.0GB 
-mkpart primary 59.9GB 2001GB+mkpart primary 200.0GB  100%
  
 name 2 rootfs name 2 rootfs
 name 3 swap name 3 swap
-name 4 lvm +name 4 var 
-name 5 storage+name 5 home
  
 set 2 raid on set 2 raid on
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 163: Line 176:
 <code> <code>
 Number  Start   End     Size    File system  Name     Flags Number  Start   End     Size    File system  Name     Flags
-      17.4kB  10.0MB  10.0MB                        bios_grub +      1049kB  10.5MB  9437kB               primary  bios_grub 
-      10.0MB  20.0GB  20.0GB               rootfs   raid +      10.5MB  60.0GB  60.0GB               rootfs   raid 
-      20.0GB  21.0GB  1000MB               swap     raid +      60.0GB  80.0GB  20.0GB               swap     raid 
-      21.0GB  60.0GB  39.0GB               lvm      raid +      80.0GB  200GB   120GB                var      raid 
-      60.0GB  2000GB  1940GB               storage  raid+      200GB   2000GB  1800GB               home     raid
 </code> </code>
  
 Uscire con **''quit''**, non importa salvare che le modifiche vengono salvate volta volta. Uscire con **''quit''**, non importa salvare che le modifiche vengono salvate volta volta.
  
-Come creare una partizione perfettamente allineata ed evitare il messaggio di errore **''The resulting partition is not properly aligned for best performance''**:+Attenzione al messaggio di errore **Warning: The resulting partition is not properly aligned for best performance**, per la prima partizione dovrebbe bastare allineare l'inizio non a zero, ma ad esempio ad 1 Mb. Si può usare anche un numero negativo per esprimere l'offset dalla fine del disco:
  
 <code> <code>
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.1352734244.txt.gz · Last modified: 2012/11/12 16:30 by niccolo