3 581
contributi
S3v (discussione | contributi) (Creata pagina con '{{Versioni compatibili}} __TOC__ == Introduzione == Durante la lunga vita di una Debian box può capitare a volte di trovarsi nell'impossibilità di avviare correttamente il sist...') |
mNessun oggetto della modifica |
||
(15 versioni intermedie di 2 utenti non mostrate) | |||
Riga 11: | Riga 11: | ||
* Da una installazione funzionante presente su altra partizione o altro disco della macchina; | * Da una installazione funzionante presente su altra partizione o altro disco della macchina; | ||
* Da una distribuzione live; | * Da una distribuzione live; | ||
* | * Da una qualsiasi immagine d'[[Installare Debian|installazione]] di Debian; | ||
In questa guida si è scelto di utilizzare una immagine .iso di Debian, in particolare la " | In questa guida si è scelto di utilizzare una immagine .iso di Debian, in particolare la "mini.iso" della [[netboot]] che consente, scaricando pochi megabyte, di avere a disposizione la famosa shell di cui abbiamo bisogno.<br/> | ||
Ovviamente gli altri due metodi sono altrettanto validi se si ha a disposizione un'altra distribuzione accessibile sul sistema o se si vuole avere a disposizione un intero ambiente grafico in cui muoversi con più agio. Per entrambi i comandi da impartire, da terminale o da emulatore di terminale, sono quelli descritti nel paragrafo [[#Accesso tramite chroot|Accesso tramite chroot]]<br/> | Ovviamente gli altri due metodi sono altrettanto validi se si ha a disposizione un'altra distribuzione accessibile sul sistema o se si vuole avere a disposizione un intero ambiente grafico in cui muoversi con più agio. Per entrambi i metodi i comandi da impartire, da terminale o da emulatore di terminale, sono quelli descritti nel paragrafo [[#Accesso tramite chroot|Accesso tramite chroot]]<br/> | ||
È inutile però precisare che gli orpelli grafici sono in questo caso del tutto superflui in quanto l'unica cosa di cui si ha bisogno è una shell funzionante. | È inutile però precisare che gli orpelli grafici sono in questo caso del tutto superflui in quanto l'unica cosa di cui si ha bisogno è una shell funzionante. | ||
== | == Ottenere una shell == | ||
Per evitare possibili problemi, è necessario innanzitutto scaricare l'immagine | Per evitare possibili problemi, è necessario innanzitutto scaricare l'immagine per la <u>stessa architettura</u> (amd64, i386, etc.) del sistema a cui vogliamo accedere; quindi avviare il sistema da CD/DVD o da pendrive su cui ci si è premuniti di inserire la .iso d'installazione Debian.<br/> | ||
Scegliere all'avvio "Advanced options -> Rescue mode" | # Scegliere all'avvio "Advanced options -> Rescue mode" | ||
# Proseguire normalmente scegliendo la localizzazione (utile per il layout della tastiera italiana), il [[mirror]] dei pacchetti e settando la configurazione di rete (anche questa utile se si ha bisogno di una connessione funzionante). | |||
# Nel momento in cui appare la schermata "Avviare il modo ripristino", arrestarsi e premere <code>Alt+F2</code> seguito da [Invio]. | |||
Ora abbiamo ottenuto la tanto agognata shell attraverso cui accedere al sistema che, in questo caso, sarà la leggerissima [[ash]] tramite [[Busybox]], perfettamente funzionale ai nostri scopi. | |||
Ora abbiamo la tanto agognata shell attraverso cui accedere al sistema. | |||
== Accesso tramite chroot == | == Accesso tramite chroot == | ||
Iniziamo a creare un punto di mount in cui montare la partizione di root: | Iniziamo a creare un punto di mount in cui montare la partizione di [[root /|root]]: | ||
<pre> | <pre> | ||
# mkdir /media/mychroot | # mkdir /media/mychroot | ||
Riga 47: | Riga 47: | ||
Prima di far questo, servirà montare alcune directory necessarie al funzionamento dei comandi impartiti nella nuova root directory: | Prima di far questo, servirà montare alcune directory necessarie al funzionamento dei comandi impartiti nella nuova root directory: | ||
<pre> | <pre> | ||
# mount - | # mount --rbind /dev /media/mychroot/dev | ||
# mount - | # mount --rbind /sys /media/mychroot/sys | ||
# mount --rbind /proc /media/mychroot/proc | |||
# mount - | |||
</pre> | </pre> | ||
Adesso, se non sono comparsi errori, è tutto pronto per entrare nella nuova root directory attraverso <code>chroot</code>: | Adesso, se non sono comparsi errori, è tutto pronto per entrare nella nuova root directory attraverso <code>chroot</code>: | ||
<pre> | <pre> | ||
# chroot /media/mychroot /bin/bash -- | # chroot /media/mychroot /bin/bash --login | ||
</pre> | </pre> | ||
Per uscire da <code>chroot</code> | == Chroot su LVM == | ||
Nel caso utilizzassimo un [[LVM: Logical Volume Manager|LVM]] i passi da compiere sono quasi gli stessi.<br/> | |||
Iniziamo a creare un punto di mount: | |||
<pre> | |||
# mkdir /media/mychroot | |||
</pre> | |||
Cerchiamo tutti i gruppi di volumi, e poi ne attiviamo tutti i volumi logici: | |||
<pre> | |||
# vgscan | |||
# vgchange -ay | |||
</pre> | |||
Questa parte può essere effettuata in automatico dal sistema, non è sempre strettamente necessaria. Può esserlo però per esempio se i volumi logici sono contenuti in una partizione criptata: in tal caso sarebbe necessario prima sbloccare la partizione e poi attivare manualmente i volumi logici come mostrato. | |||
Quindi individuiamo il volume logico associato al filesystem di [[root /|root]] (in questo esempio il VG si chiama "debian") con il comando "lvdisplay": | |||
# lvdisplay | more | |||
--- Logical volume --- | |||
LV Path /dev/debian/root | |||
LV Name root | |||
'''VG Name debian''' | |||
... | |||
... | |||
Montiamo il volume logico di root: | |||
<pre> | |||
# mount /dev/debian/root /media/mychroot | |||
</pre> | |||
Montiamo come prima alcune directory necessarie: | |||
<pre> | |||
# mount --rbind /dev /media/mychroot/dev | |||
# mount --rbind /sys /media/mychroot/sys | |||
# mount --rbind /proc /media/mychroot/proc | |||
</pre> | |||
E infine il <code>chroot</code> : | |||
<pre> | |||
# chroot /media/mychroot /bin/bash --login | |||
</pre> | |||
== Conclusioni == | |||
Adesso è come se stessimo operando all'interno della Debian box ed è possibile effettuare tutte le operazioni necessarie al ripristino del sistema Debian danneggiato.<br/> | |||
Per uscire da <code>chroot</code> digitare: | |||
<pre># exit</pre> | <pre># exit</pre> | ||
e, se si sta utilizzando il Rescue Mode dell'installer Debian, premere Alt+F1 per ritornare al menù. | |||
{{Autori | |||
| Autore = [[Utente:S3v|S3v]] 17:16, 12 set 2011 (CEST) | |||
|Verificata_da= | |||
:[[Utente:HAL 9000|HAL 9000]] 15:59, 26 mag 2015 (CEST) | |||
|Numero_revisori=1 | |||
}} | |||
[[Categoria: Shell]] | [[Categoria: Shell]] |
contributi