Se non è possibile eseguire il boot di un sistema Oracle Solaris 11, potrebbe essere necessario eseguire un boot di recupero. È possibile eseguire il boot dai supporti di installazione o da un ambiente di boot di backup.
Per eseguire il recupero del sistema completo (bare metal), vedere How to Create a Recovery Archive in Using Unified Archives for System Recovery and Cloning in Oracle Solaris 11.2 .
Gli scenari di errore e recupero indicati di seguito sono simili a quelli delle release precedenti.
È possibile utilizzare il comando boot –a per evitare un problema nel file /etc/system. Quando viene richiesto, utilizzare una sintassi simile alla seguente:
Name of system file [/etc/system]: /dev/null
Premere Invio agli altri prompt, come necessario.
Durante la maggior parte delle operazioni di pkg update viene creato automaticamente un ambiente di boot di backup. Questa funzione consente di eseguire il boot a un ambiente di boot precedente se si verificano errori durante il processo di aggiornamento dell'immagine. Prima di apportare una modifica alla configurazione del sistema, potrebbe essere opportuno creare un ambiente di boot di backup.
# beadm create solaris-backup # beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris R - 4.01G static 2013-02-08 16:53 solaris-backup N / 47.95M static 2013-02-11 10:48
Per informazioni su come eseguire il boot da un ambiente di boot di backup, vedere Come eseguire il boot da un ambiente di boot di backup a scopo di recupero.
Eseguire il boot dal supporto di installazione o da un server di installazione in rete per recuperare un problema che sta impedendo il boot del sistema o per recuperare la perdita di una password root.
Eseguire il boot di un sistema in modalità utente singolo per risolvere un problema minore, come la correzione dell'opzione per la shell root nel file /etc/passwd o la modifica di un server NIS.
La risoluzione di un problema di configurazione del boot in genere implica l'importazione del pool root, l'attivazione dell'ambiente di boot e la risoluzione del problema, ad esempio tramite la reinstallazione di un caricatore di boot x86 danneggiato.
Il boot dell'archivio di emergenza non è più supportato nelle piattaforme SPARC e x86. Quando possibile, utilizzare gli ambienti di boot di backup aggiornati a scopo di recupero. Gli ambienti di boot sono istanze avviabili dell'immagine di Oracle Solaris e di qualsiasi altro pacchetto software applicativo installato in tale immagine. Più ambienti di boot riducono i rischi durante l'aggiornamento del software in quanto salvaguardano l'ambiente di boot originale.
È possibile creare un nuovo ambiente di boot in base a un ambiente di boot attivo o inattivo. In alternativa, è possibile creare un nuovo ambiente di boot in base a un clone dell'ambiente di boot originale. Un clone copia il set di dati root e tutti gli elementi disposti gerarchicamente sotto il set di dati root principale dell'ambiente di boot originale. Vedere Creating and Administering Oracle Solaris 11.2 Boot Environments .
Se il sistema non esegue il boot dall'ambiente di boot attivo, selezionare un ambiente di boot di backup da cui eseguire il boot.
ok boot -L
Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a File and args: -L 1 Oracle Solaris 11.2 SPARC 2 solaris-backup Select environment to boot: [ 1 - 2 ]: 2
Nell'output precedente l'ambiente di boot attivo è Oracle Solaris 11.2 SPARC, che probabilmente non corrisponde al nome dell'ambiente di boot effettivo, ma rappresenta l'ambiente di boot corrente.
Dopo avere selezionato l'ambiente di boot da utilizzare, identificare il percorso di boot su schermo e il tipo di informazioni al prompt.
To boot the selected entry, invoke: boot [<root-device>] -Z rpool/ROOT/solaris-backup Program terminated {0} ok boot -Z rpool/ROOT/solaris-backup
Se non si riesce a eseguire il boot del sistema, esaminare le operazioni aggiuntive di recupero del boot nella sezione Come eseguire il boot da un ambiente di boot di backup a scopo di recupero.
Se non si riesce a eseguire il boot del sistema dall'ambiente di boot di backup, esaminare le operazioni aggiuntive di recupero del boot nella sezione Come eseguire il boot da un ambiente di boot di backup a scopo di recupero.
x86: Live Media: eseguire il boot dal supporto di installazione e utilizzare un terminal GNOME per la procedura di recupero.
SPARC: installazione in modalità testo: eseguire il boot dal supporto di installazione o dalla rete e selezionare l'opzione 3 Shell dalla schermata di installazione in modalità testo.
x86: installazione in modalità testo: dal menu GRUB selezionare l'opzione di boot Text Installer and command line, quindi selezionare l'opzione 3 Shell dalla schermata di installazione in modalità testo.
SPARC: installazione automatica: utilizzare il comando riportato di seguito per eseguire il boot direttamente da un menu di installazione che consente di uscire in una shell.
ok boot net:dhcp
x86: installazione automatica: l'esecuzione del boot da un server di installazione sulla rete richiede un boot PXE. Selezionare l'opzione Text Installer and command line dal menu GRUB. Selezionare quindi l'opzione 3 Shell dalla schermata di installazione in modalità testo.
Dopo avere eseguito il boot del sistema, ad esempio, selezionare l'opzione 3 Shell.
1 Install Oracle Solaris 2 Install Additional Drivers 3 Shell 4 Terminal type (currently xterm) 5 Reboot Please enter a number [1]: 3 To return to the main menu, exit the shell #
Risolvere una shell root errata eseguendo il boot del sistema in modalità utente singolo e correggendo l'opzione della shell nel file /etc/passwd.
In un sistema basato su x86 modificare l'opzione di boot selezionata nel menu GRUB, quindi aggiungere l'argomento kernel –s alla fine della riga $kernel.
In un sistema basato su SPARC, arrestare il sistema ed eseguire il boot in modalità utente singolo. Dopo avere eseguito il login come utente root, modificare il file /etc/passwd e correggere l'opzione della shell root.
# init 0 ok boot -s Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a ... SunOS Release 5.11 Version 11.2 64-bit Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved. Booting to milestone "milestone/single-user:default". Hostname: systema.domain Requesting System Maintenance Mode SINGLE USER MODE Enter user name for system maintenance (control-d to bypass): root Enter root password (control-d to bypass): xxxxxxx single-user privilege assigned to root on /dev/console. Entering System Maintenance Mode Aug 3 15:46:21 su: 'su root' succeeded for root on /dev/console Oracle Corporation SunOS 5.11 11.2 July 2013 su: No shell /usr/bin/mybash. Trying fallback shell /sbin/sh. root@systema.domain:~# TERM =vt100; export TERM root@systema.domain:~# vi /etc/passwd root@systema.domian:~# <Press control-d> logout svc.startd: Returning to milestone all.
Risolvere un problema di caricatore di boot danneggiato.
In primo luogo, eseguire il boot dal supporto o dalla rete utilizzando uno dei metodi di boot elencati al passaggio 1. Importare quindi il pool root.
# zpool import -f rpool
Reinstallare quindi il caricatore di boot come indicato di seguito.
# bootadm install-bootloader -f -P rpool
dove–f forza l'installazione del caricatore di boot e aggira eventuali controlli correlati al mancato downgrade della versione del caricatore di boot nel sistema. L'opzione –P specifica il pool root.
Uscire ed eseguire il reboot del sistema.
# exit 1 Install Oracle Solaris 2 Install Additional Drivers 3 Shell 4 Terminal type (currently sun-color) 5 Reboot Please enter a number [1]: 5
Verificare che il boot del sistema venga eseguito correttamente.
Risolvere una password root sconosciuta che impedisce di eseguire il login al sistema.
In primo luogo, è necessario eseguire il boot dal supporto o dalla rete utilizzando uno dei metodi di boot elencati al passaggio 1. Importare quindi il pool root (rpool) e attivare l'ambiente di boot per rimuovere l'opzione della password root. Questo processo è identico sulle piattaforme SPARC e x86.
# zpool import -f rpool # beadm list be_find_current_be: failed to find current BE name be_find_current_be: failed to find current BE name BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris - - 11.45M static 2011-10-22 00:30 solaris-2 R - 12.69G static 2011-10-21 21:04 # mkdir /a # beadm mount solaris-2 /a # TERM=vt100 # export TERM # cd /a/etc # vi shadow <Carefully remove the unknown password> # cd / # beadm umount solaris-2 # halt
Questo passaggio si basa sul presupposto che al passaggio precedente sia stata rimossa una password root sconosciuta.
ok boot -s Boot device: /pci@780/pci@0/pci@9/scsi@0/disk@0,0:a File and args: -s SunOS Release 5.11 Version 11.2 64-bit Copyright (c) 1983, 2012, Oracle and/or its affiliates. All rights reserved. Booting to milestone "milestone/single-user:default". Hostname: systema.domain Requesting System Maintenance Mode SINGLE USER MODE Enter user name for system maintenance (control-d to bypass): root Enter root password (control-d to bypass): <Press return> single-user privilege assigned to root on /dev/console. Entering System Maintenance Mode . . . root@sysadma.domain:~# passwd -r files root New Password: xxxxxx Re-enter new Password: xxxxxx passwd: password successfully changed for root root@systema.central:~# <Press control-d> logout svc.startd: Returning to milestone all.