Questo capitolo descrive l'avvio con GRUB dei sistemi x86 per l'installazione di Solaris. Il capitolo è suddiviso nelle seguenti sezioni:
Nel sistema operativo Solaris è stato adottato come boot loader predefinito il boot loader open source GRUB.
L'avvio con GRUB non è disponibile sui sistemi SPARC.
Il boot loader è il primo programma che viene eseguito dopo l'accensione di un sistema. Quando si accende un sistema x86, il BIOS (Basic Input/Output System) inizializza la CPU, la memoria e i componenti hardware della piattaforma. Al termine della fase di inizializzazione, il BIOS carica il boot loader dal dispositivo di avvio configurato e trasferisce il controllo del sistema al boot loader.
GRUB è un boot loader open source dotato di una semplice interfaccia a menu, che include le opzioni di avvio predefinite in un file di configurazione. GRUB dispone inoltre di un'interfaccia dalla riga di comando, accessibile dall'interfaccia a menu, da cui è possibile eseguire diversi comandi di avvio. L'implementazione di GRUB del sistema operativo Solaris è conforme alla specifica Multiboot. Questa specifica è descritta in modo dettagliato alla pagina Web http://www.gnu.org/software/grub/grub.html.
Poiché il kernel di Solaris è pienamente compatibile con la specifica Multiboot, è possibile avviare i sistemi x86 basati su Solaris utilizzando il boot loader GRUB. GRUB offre la possibilità di avviare e installare facilmente diversi sistemi operativi. Ad esempio è possibile, su uno stesso sistema, avviare individualmente i seguenti sistemi operativi:
Solaris
Microsoft Windows
GRUB rileva le partizioni di Microsoft Windows ma non verifica la possibilità di avviare il sistema operativo.
Un vantaggio fondamentale di GRUB è la sua capacità di riconoscere i file system e i formati eseguibili del kernel; questo consente di caricare un sistema operativo senza registrare la posizione fisica del kernel sul disco. Nell'avvio del sistema con GRUB, il kernel viene caricato specificando il nome del file corrispondente, l'unità e la partizione in cui risiede. L'avvio con GRUB sostituisce il Solaris Device Configuration Assistant e semplifica il processo grazie all'interfaccia a menu.
Quando GRUB assume il controllo del sistema, sulla console viene visualizzato un menu. Usando il menu di GRUB è possibile:
Selezionare una voce per l'avvio del sistema
Modificare una voce di avvio utilizzando il menu di modifica di GRUB
Caricare manualmente il kernel di un sistema operativo dalla riga di comando
Per l'avvio del sistema operativo predefinito è disponibile un timeout configurabile. Premendo qualsiasi tasto, l'avvio del sistema operativo predefinito viene interrotto.
Per un esempio del menu di GRUB, vedere Descrizione del menu principale di GRUB.
Le convenzioni di denominazione dei dispositivi utilizzate da GRUB sono leggermente diverse rispetto a quelle delle versioni precedenti di Solaris. La conoscenza di queste convenzioni può essere utile per specificare correttamente le informazioni relative alle unità e alle partizioni durante la configurazione di GRUB sul sistema.
La tabella seguente descrive le convenzioni di denominazione dei dispositivi di GRUB.
Tabella 5–1 Convenzioni di denominazione dei dispositivi di GRUB
Nome dispositivo |
Descrizione |
---|---|
(fd0), (fd1) |
Prima unità a dischetti, seconda unità a dischetti |
(nd) |
Dispositivo di rete |
(hd0,0), (hd0,1) |
Prima e seconda partizione fdisk del primo disco del bios |
(hd0,0,a), (hd0,0,b) |
Slice 0 e 1 di Solaris/BSD sulla prima partizione fdisk del primo disco del bios |
In GRUB, i nomi dei dispositivi devono essere sempre specificati tra parentesi. Le partizioni vengono numerate a partire da 0 (zero), non da 1.
Per maggiori informazioni sulle partizioni fdisk, vedere la sezione Guidelines for Creating an fdisk Partition del System Administration Guide: Devices and File Systems.
Per maggiori informazioni su queste modifiche, vedere i seguenti riferimenti.
Tabella 5–2 Dove trovare informazioni sulle installazioni con GRUB
Argomento |
Procedure eseguibili dal menu di GRUB |
Per maggiori informazioni |
---|---|---|
Installazione |
Installazione dal CD o dal DVD di Solaris |
Guida all’installazione di Solaris 10 6/06: installazioni di base. |
Installazione da un'immagine di installazione di rete | ||
Configurazione di un server DHCP per le installazioni di rete | ||
Installazione con il programma JumpStart personalizzato | ||
Attivazione o ripristino di un ambiente di boot con Solaris Live Upgrade | ||
Amministrazione del sistema |
Per informazioni più dettagliate su GRUB e sulle procedure di amministrazione |
Capitolo 11, GRUB Based Booting (Tasks) del System Administration Guide: Basic Administration |
Questa sezione descrive le operazioni di base del processo di avvio con GRUB e i componenti del menu di GRUB.
Quando si installa il sistema operativo Solaris, sul sistema vengono installate automaticamente due voci del menu di GRUB. La prima è quella relativa al sistema operativo Solaris. La seconda riguarda l'archivio di avvio di emergenza, da utilizzare per il ripristino del sistema. Le voci del menu di GRUB relative a Solaris vengono installate e aggiornate automaticamente nell'ambito del processo di installazione e aggiornamento di Solaris. Queste voci vengono gestite direttamente dal sistema operativo e non devono essere modificate manualmente.
Durante l'installazione standard di Solaris, GRUB viene installato nella partizione fdisk di Solaris senza modificare le impostazioni del BIOS di sistema. Se il sistema operativo non si trova sul disco di avvio del BIOS, usare una delle procedure seguenti:
Modificare le impostazioni del BIOS.
Utilizzare un boot manager per avviare la partizione di Solaris. Per maggiori informazioni, vedere le istruzioni del proprio boot manager.
Il metodo consigliato è quello di installare Solaris sul disco di avvio. Se sul sistema sono installati più sistemi operativi, è possibile aggiungere le voci corrispondenti al file menu.lst. Queste voci verranno visualizzate nel menu di GRUB all'avvio successivo del sistema.
Per maggiori informazioni sull'uso di più sistemi operativi, vedere la sezione How Multiple Operating Systems Are Supported in the GRUB Boot Environment del System Administration Guide: Basic Administration.
Per avviare un sistema dalla rete con GRUB sono richiesti un server DHCP configurato per i client PXE e un server di installazione che fornisca il servizio tftp. Il server DHCP deve essere in grado di rispondere alle classi DHCP PXEClient e GRUBClient. La risposta DHCP deve contenere le seguenti informazioni:
Indirizzo IP del file server
Nome del file di avvio (pxegrub)
rpc.bootparamd, generalmente richiesto dal server per i processi di avvio in rete, non è richiesto per l'avvio in rete con GRUB.
Se non sono disponibili server PXE o DHCP, è possibile caricare GRUB da un CD-ROM o da un disco locale. A questo punto si potrà configurare manualmente la rete in GRUB e scaricare il programma multiboot e l'archivio di avvio dal file server.
Per maggiori informazioni, vedere Introduzione all’avvio e all’installazione in rete con PXE del Guida all’installazione di Solaris 10 6/06: installazioni di rete.
Quando si avvia un sistema x86, viene visualizzato il menu di GRUB. Questo menu offre la possibilità di scegliere tra diverse voci di avvio. Ogni voce di avvio corrisponde a un'istanza di un sistema operativo installata sul sistema. Il menu di GRUB si basa sul file di configurazione menu.lst. Il file menu.lst viene creato dal programma di installazione di Solaris e può essere modificato dopo l'installazione. Il file menu.lst determina l'elenco delle istanze dei sistemi operativi visualizzate nel menu di GRUB.
Se si installa o si aggiorna il sistema operativo Solaris, il menu di GRUB viene aggiornato automaticamente. Il sistema operativo Solaris viene quindi visualizzato come una nuova voce di avvio.
Se si installa un sistema operativo diverso da Solaris, è necessario modificare il file di configurazione menu.lst per includervi il nuovo sistema. Aggiungendo la nuova istanza, la nuova voce di avvio apparirà nel menu di GRUB all'avvio successivo del sistema.
Nell'esempio seguente, il menu principale di GRUB mostra i sistemi operativi Solaris e Microsoft Windows. È inoltre elencato un ambiente di boot Solaris Live Upgrade di nome secondo_disco. Qui di seguito è fornita una descrizione delle singole voci del menu.
GNU GRUB version 0.95 (616K lower / 4127168K upper memory) +-------------------------------------------------------------------+ |Solaris | |Solaris failsafe | |secondo_disco | |secondo_disco failsafe | |Windows | +-------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. |
Specifica il sistema operativo Solaris.
Specifica un archivio di avvio che può essere utilizzato per il ripristino del sistema in caso di danneggiamento del sistema operativo Solaris.
Specifica un ambiente di boot di Solaris Live Upgrade L'ambiente di boot secondo_disco è stato creato come copia del sistema operativo Solaris. È stato quindi aggiornato e attivato con il comando luactivate. L'ambiente di boot è disponibile per l'avvio del sistema.
Specifica il sistema operativo Microsoft Windows. GRUB rileva queste partizioni ma non verifica la possibilità di avviare il sistema operativo.
Il file menu.lst di GRUB specifica il contenuto del menu principale di GRUB. Il menu principale di GRUB contiene le voci di avvio per tutte le istanze dei sistemi operativi installate sul sistema, inclusi gli ambienti di boot Solaris Live Upgrade. Il processo di aggiornamento di Solaris preserva le modifiche eventualmente apportate a questo file.
Le revisioni effettuate sul file menu.lst vengono visualizzate nel menu principale di GRUB insieme alle voci di Solaris Live Upgrade. Le modifiche apportate al file diventano effettive al riavvio successivo del sistema. La modifica di questo file può rendersi necessaria per le seguenti ragioni:
Per aggiungere al menu di GRUB voci corrispondenti a sistemi operativi diversi da Solaris
Per personalizzare la procedura di avvio, ad esempio specificando nel menu di GRUB il sistema operativo predefinito
Non utilizzare il file menu.lst di GRUB per modificare le voci di Solaris Live Upgrade. Tali modifiche potrebbero impedire la corretta esecuzione di Solaris Live Upgrade.
Pur essendo possibile utilizzare il file menu.lst per personalizzare la procedura di avvio, ad esempio specificando l'avvio con il debugger del kernel, per eseguire una personalizzazione è preferibile usare il comando eeprom. Utilizzando il file menu.lst per la personalizzazione del processo, è possibile che le voci relative a Solaris vengano modificate durante un aggiornamento del software. In questo caso, le modifiche al file andrebbero perdute.
Per informazioni sull'utilizzo del comando eeprom, vedere la sezione How to Set Solaris Boot Parameters by Using the eeprom Command del System Administration Guide: Basic Administration.
Qui di seguito è riportato un esempio del file menu.lst:
default 0 timeout 10 title Solaris root (hd0,0,a) kernel /platform/i86pc/multiboot -B console=ttya module /platform/i86pc/boot_archive title Solaris failsafe root (hd0,0,a) kernel /boot/multiboot -B console=ttya -s module /boot/x86.miniroot.safe #----- secondo_disco - ADDED BY LIVE UPGRADE - DO NOT EDIT ----- title secondo_disco root (hd0,0,a) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive title secondo_disco failsafe root (hd0,0,a) kernel /boot/multiboot kernel/unix -s module /boot/x86.miniroot-safe #----- secondo_disco -------------- END LIVE UPGRADE ------------ title Windows root (hd0,0) chainloader -1 |
Specifica la voce di avvio da utilizzare alla scadenza del timeout. Per cambiare l'impostazione predefinita, è possibile specificare un'altra voce dell'elenco modificando il numero. La numerazione inizia da zero per il primo titolo. Ad esempio, è possibile cambiare l'impostazione predefinita in 2 per avviare il sistema automaticamente con l'ambiente di boot secondo_disco.
Specifica il numero di secondi di attesa prima che venga attivata la voce di avvio predefinita; in questo periodo è possibile premere un tasto e quindi indicare un'altra voce. Se non viene specificato il timeout, verrà richiesto di scegliere una voce.
Specifica il nome del sistema operativo.
Se si tratta di un ambiente di boot di Solaris Live Upgrade, il nome del sistema operativo è il nome assegnato al nuovo ambiente di boot al momento della sua creazione. Nell'esempio precedente, l'ambiente di boot di Solaris Live Upgrade è denominato secondo_disco.
Se si tratta di un archivio di avvio di emergenza, esso viene utilizzato per il ripristino del sistema in caso di danneggiamento del sistema operativo primario. Nell'esempio precedente, Solaris failsafe e secondo_disco failsafe sono gli archivi di avvio di emergenza per i sistemi operativi Solaris e secondo_disco.
Specifica in quale disco, partizione e slice caricare i file. GRUB rileva automaticamente il tipo di file system.
Specifica il programma multiboot. Il comando kernel deve sempre essere seguito dal programma multiboot. La stringa che segue multiboot viene passata al sistema operativo Solaris senza interpretazione.
Per una descrizione completa dell'utilizzo di più sistemi operativi, vedere la sezione How Multiple Operating Systems Are Supported in the GRUB Boot Environment del System Administration Guide: Basic Administration.
Per individuare il file menu.lst di GRUB è sempre necessario utilizzare il comando bootadm. Il sottocomando list-menu individua il menu di GRUB attivo. Il file menu.lst elenca tutti i sistemi operativi installati su un sistema. Dal contenuto di questo file dipende l'elenco dei sistemi operativi visualizzati nel menu di GRUB. Per apportare modifiche a questo file, vedere x86: Individuazione del file menu.lst del menu di GRUB (procedure).
Il menu di GRUB può essere aggiornato. Ad esempio, è possibile modificare il periodo di attesa prima dell'avvio del sistema operativo predefinito. Oppure, è possibile aggiungere un altro sistema operativo al menu di GRUB.
In genere, il file menu.lst del menu di GRUB attivo si trova in /boot/grub/menu.lst. In alcuni casi, tuttavia, il file menu.lst di GRUB risiede in un'altra posizione. Ad esempio, in un sistema che utilizza Solaris Live Upgrade, il file menu.lst di GRUB può trovarsi in un ambiente di boot diverso da quello attualmente in uso. Oppure, se è stato aggiornato un sistema con una partizione di avvio x86, il file menu.lst può risiedere nella directory /stubboot. Per avviare il sistema viene utilizzato solo il file menu.lst attivo. Per modificare il menu di GRUB visualizzato all'avvio del sistema, è necessario modificare il file menu.lst attivo. La modifica di altri file menu.lst di GRUB non ha effetto sul menu visualizzato all'avvio del sistema. Per determinare la posizione del file menu.lst attivo, usare il comando bootadm. Il sottocomando list-menu mostra la posizione del menu di GRUB attivo. Le procedure seguenti permettono di determinare la posizione del file menu.lst del menu di GRUB.
Per maggiori informazioni sul comando bootadm, vedere la pagina man bootadm(1M).
Nella procedura seguente, il sistema contiene due sistemi operativi: Solaris e un ambiente di boot Solaris Live Upgrade, secondo_disco. È stato avviato il sistema operativo Solaris, che contiene il menu di GRUB.
Diventare superutente o assumere un ruolo equivalente.
I ruoli comportano determinate autorizzazioni e consentono di eseguire comandi che richiedono privilegi. Per maggiori informazioni sui ruoli, vedere Configuring RBAC (Task Map) del System Administration Guide: Security Services.
Per individuare il file menu.lst, digitare:
# /sbin/bootadm list-menu |
Vengono visualizzati la posizione e il contenuto del file.
The location for the active GRUB menu is: /boot/grub/menu.lst default 0 timeout 10 0 Solaris 1 Solaris failsafe 2 secondo_disco 3 secondo_disco failsafe |
Nella procedura seguente, il sistema contiene due sistemi operativi: Solaris e un ambiente di boot di Solaris Live Upgrade, secondo_disco. In questo esempio, il file menu.lst non è presente nell'ambiente di boot attualmente in esecuzione. È stato avviato l'ambiente di boot secondo_disco. Il menu di GRUB è contenuto nell'ambiente di boot Solaris. L'ambiente di boot Solaris non è attivato.
Diventare superutente o assumere un ruolo equivalente.
I ruoli comportano determinate autorizzazioni e consentono di eseguire comandi che richiedono privilegi. Per maggiori informazioni sui ruoli, vedere Configuring RBAC (Task Map) del System Administration Guide: Security Services.
Per individuare il file menu.lst, digitare:
# /sbin/bootadm list-menu |
Vengono visualizzati la posizione e il contenuto del file.
The location for the active GRUB menu is: /dev/dsk/nome_disp(non attivato) The filesystem type of the menu device is <ufs> default 0 timeout 10 0 Solaris 1 Solaris failsafe 2 secondo_disco 3 secondo_disco failsafe |
Poiché il file system che contiene il file menu.lst non è attivato, è necessario attivarlo. Specificare il file system UFS e il nome del dispositivo.
# /usr/sbin/mount -F ufs /dev/dsk/nome_dispositivo /mnt |
In questo comando, nome_dispositivo specifica la posizione del file system radice (/) sul disco dell'ambiente di boot da attivare. Il nome del dispositivo deve essere specificato nella forma /dev/dsk/cwtxdysz. Ad esempio:
# /usr/sbin/mount -F ufs /dev/dsk/c0t1d0s0 /mnt |
A questo punto è possibile accedere al menu di GRUB in /mnt/boot/grub/menu.lst
Disattivare il file system
# /usr/sbin/umount /mnt |
Se si attiva un ambiente di boot o un file system di un ambiente di boot, dopo l'uso sarà necessario disattivarli. Diversamente, è possibile che le successive operazioni di Solaris Live Upgrade su quell'ambiente di boot non possano essere eseguite correttamente.
Nella procedura seguente, il sistema contiene due sistemi operativi: Solaris e un ambiente di boot di Solaris Live Upgrade, secondo_disco. È stato avviato l'ambiente di boot secondo_disco. Il menu di GRUB è contenuto nell'ambiente di boot Solaris. L'ambiente di boot Solaris è attivato su /.alt.Solaris.
Diventare superutente o assumere un ruolo equivalente.
I ruoli comportano determinate autorizzazioni e consentono di eseguire comandi che richiedono privilegi. Per maggiori informazioni sui ruoli, vedere Configuring RBAC (Task Map) del System Administration Guide: Security Services.
Per individuare il file menu.lst, digitare:
# /sbin/bootadm list-menu |
Vengono visualizzati la posizione e il contenuto del file.
The location for the active GRUB menu is: /.alt.Solaris/boot/grub/menu.lst default 0 timeout 10 0 Solaris 1 Solaris failsafe 2 secondo_disco 3 secondo_disco failsafe |
Poiché l'ambiente di boot contenente il menu di GRUB è già attivato, è possibile accedere al file menu.lst in /.alt.Solaris/boot/grub/menu.lst.
Nella procedura seguente, il sistema contiene due sistemi operativi: Solaris e un ambiente di boot Solaris Live Upgrade, secondo_disco. È stato avviato l'ambiente di boot secondo_disco. Il sistema è stato aggiornato ed è ancora presente una partizione di avvio x86. La partizione di avvio è attivata su /stubboot e contiene il menu di GRUB. Per una descrizione delle partizioni di avvio x86, vedere x86: Consigli per il partizionamento.
Diventare superutente o assumere un ruolo equivalente.
I ruoli comportano determinate autorizzazioni e consentono di eseguire comandi che richiedono privilegi. Per maggiori informazioni sui ruoli, vedere Configuring RBAC (Task Map) del System Administration Guide: Security Services.
Per individuare il file menu.lst, digitare:
# /sbin/bootadm list-menu |
Vengono visualizzati la posizione e il contenuto del file.
The location for the active GRUB menu is: /stubboot/boot/grub/menu.lst default 0 timeout 10 0 Solaris 1 Solaris failsafe 2 secondo_disco 3 secondo_disco failsafe |
È possibile accedere al file menu.lst in /stubboot/boot/grub/menu.lst.