Hardware Upgrade Forum

Hardware Upgrade Forum (https://www.hwupgrade.it/forum/index.php)
-   Linux, Unix, OS alternativi (https://www.hwupgrade.it/forum/forumdisplay.php?f=34)
-   -   grub con partizione o superblock corrotti (https://www.hwupgrade.it/forum/showthread.php?t=2916083)


Life bringer 25-06-2020 17:13

grub con partizione o superblock corrotti
 
Buonasera, ho riesumato l'hard disk che usavo su un serverino casalingo, purtroppo all'avvio ricevo error 18 (quando l'ho dismesso sono certo che funzionasse regolarmente).
Alchè facendo capo alle poche reminescenze di linux che avevo sono riuscito ad avere qualche informazione in più.
L'hard disk è da 500gb e l'avevo così diviso: 900mb per il boot, una partizione per lo swap che non ricordo, il resto /, il file system di boot è ext2, quello di root è ext4.
Avevo fatto questo per una questione di compatibilità, se ricordo bene.
Ora veniamo al dunque, questo è l'output che ricevo:
Quote:

./utils/e2fsck -y -f /dev/sdd1

The filesystem size (according to the superblock) is 98916 blocks
The physical size of the device is 256 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort? yes



exit_code = 8
senza correzione errori:
Quote:

./utils/e2fsck -n -f /dev/sdd1

The filesystem size (according to the superblock) is 98916 blocks
The physical size of the device is 256 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort? no

Error reading block 261 (Input/output error). Ignore error? no

Error reading block 261 (Input/output error). Ignore error? no

./utils/e2fsck: Input/output error while reading bad blocks inode
This doesn't bode well, but we'll try to go on...
Pass 1: Checking inodes, blocks, and sizes
Error reading block 261 (Input/output error) while opening inode scan. Ignore error? no

Error reading block 261 (Input/output error). Ignore error? no

Error reading block 261 (Input/output error) while getting next inode from scan. Ignore error? no

Error while scanning inodes (0): Can't read next inode
Come posso fare, purtroppo il kernel compilato (a manina ai tempi) è residente su quella partizione, di conseguenza non so proprio come muovermi.

Inoltre, non so quanto sia collegato, ma l'hard disk è segnato come a "rischio", benchè sia riuscito a backuppare tutta la partizione di root senza problemi.

Vi ringrazio in anticipo per ogni aiuto.

lemming 26-06-2020 09:13

I conti non tornano dovrebbero essere sda1, sda2 e sda3 se fossero 3 partizioni? Ce ne è una estesa?
Il comando
fdisk -l /dev/sda
cosa indica?

Life bringer 26-06-2020 10:09

Ciao, la sda1 è la boot, la sda2 è quella di swap mentre la terza è la root.
Comunque ho constatato che l'hard disk è da buttare. i valori smart sono drammatici, come dicevo sono riuscito a clonare la partizione di root, mentre la boot è quasi totalmente compromessa.
Nell'hard disk avevo installato debian, ma non ricordo che versione.
Questo è ciò che sono riuscito a recuperare dalla partizione di boot.

Come posso fare per recuperare in toto la situazione?
Grazie.

ishtar1900 26-06-2020 12:29

Potresti provare un ripristino, con mke2fs -n /dev/sda1 vedi i punti di backup del superblocco e successivamente con e2fsck -b xxxxxxx /dev/sda1 tenti di ripristinarlo, dove xxxxxx è uno dei numeri relativo ai punti di backup che ti risulteranno dopo il primo comando, di solito ce ne sono parecchi da provare. A me capito molti anni fa con un disco meccanico, provai di tutto, compresi tool come ddrescue, ma persi solo tempo. Sempre che ovviamente sia un problema relativo al superblocco, per verificarlo fsck.ext2 -v /dev/sda1 , che è quella che vuoi recuperare, io controllerei l'integrita del file system anche sulle altre comunque

Life bringer 26-06-2020 16:07

Quote:

Originariamente inviato da ishtar1900 (Messaggio 46853572)
Potresti provare un ripristino, con mke2fs -n /dev/sda1 vedi i punti di backup del superblocco e successivamente con e2fsck -b xxxxxxx /dev/sda1 tenti di ripristinarlo, dove xxxxxx è uno dei numeri relativo ai punti di backup che ti risulteranno dopo il primo comando, di solito ce ne sono parecchi da provare. A me capito molti anni fa con un disco meccanico, provai di tutto, compresi tool come ddrescue, ma persi solo tempo. Sempre che ovviamente sia un problema relativo al superblocco, per verificarlo fsck.ext2 -v /dev/sda1 , che è quella che vuoi recuperare, io controllerei l'integrita del file system anche sulle altre comunque

grazie per il consiglio, provo così, ma sono scettico, nel senso che è proprio l'hard disk che ha problemi, a volte non viene rilevato nemmeno al boot, però vale la pena provare, in attesa di capire come recuperare.

Pensavo, non so se è fattibile, di scaricare la versione attuale di debian, ma non saprei come ricreare solo la partizione di boot.

Edit: ho provato, durante il check l'hard disk ha smesso di essere rilevato, ho fatto un paio di foto: https://imgur.com/a/YuUQC4S

ishtar1900 26-06-2020 20:11

so che è una domanda scontata ma tanto per capirci, da una distro live o comunque da una installazione linux, le partizioni vengono montate ? oppure non viene rilevato nulla. perchè è sufficiente che tu possa recuperare la partizione di sistema intatta, la cartella di boot si puo ricreare e non necessariamente in una partizione separata.

Life bringer 26-06-2020 20:16

Quote:

Originariamente inviato da ishtar1900 (Messaggio 46854359)
so che è una domanda scontata ma tanto per capirci, da una distro live o comunque da una installazione linux, le partizioni vengono montate ? oppure non viene rilevato nulla

Ho provato con ubuntu live ed è crashata (senza hdd collegato non crasha), con il livecd di gparted, carica a fatica, la partizione di root sono riuscito a leggerla da windows 10 usando Linux File Systems for Windows by Paragon Software, poi l'ho clonata con gparted su un secondo hd. La partizione di boot sono riuscito ad accederla e recuperare quei brandelli di file solo una volta, ora è completamente inaccessibile.

ishtar1900 26-06-2020 22:53

La vecchia cartella di boot non ti serve se il resto è integro, immagino che la home non sia separata quindi c'è tutto quello che serve. Fai un controllo della partizione sul nuovo disco con gparted e metti flag boot , prova a montarla da live e se tutto va come si spera dovresti vederla e poter accedere alle cartelle. Ipotizzando che la nuova installazione abbia solo una partizione di sistema ed eventualmente una di swap, con i permessi di root crei al suo interno una nuova cartella di boot con dentro una cartella nominata grub ( nel caso usi grub...) e vai a modificate fstab per cancellare il riferimento alla vecchia partizione di boot e/o per correggere eventualmente altri parametri che fanno riferimento alle partizioni o al disco. Da qui in poi però non so darti indicazioni precise in quanto non conosco debian ( uso archlinux che è differente ) ne che bootloader usi la tua versione. Sappi che per "ripopolare" la cartella boot sara necessario installare il bootloader e creare le immagini linux ( normale e fallback) Per fare cio dovrai, da live, entrarci in chroot.

Life bringer 27-06-2020 03:53

grazie per le preziose delucidazioni.
Ho già eseguito un controllo sulla partizione copiata e apparentemente non ci sono problemi.
I miei dubbi sono sulla versione allora installata di debian (usavo testing a memoria) e soprattutto, non è più logico ricreare la stessa situazione di prima? Nella partizione boot c'era grub2 (se non dico una sciocchezza), inclusi i kernel e una lista di file, menu.lst etc.
Per fortuna tenevo installati due kernel, uno compilato a manina da me (per l'hardware specifico di allora), il secondo quello della distribuzione (il classico calderone con dentro ogni cosa):
Quote:

## ## End Default Options ##

title Debian GNU/Linux, kernel 3.13-1-amd64
root (hd0,0)
kernel /vmlinuz-3.13-1-amd64 root=UUID=38a6243a-6151-4250-85ff-167b28ec0574 ro quiet noresume SELINUX_INIT=NO
initrd /initrd.img-3.13-1-amd64

title Debian GNU/Linux, kernel 3.13-1-amd64 (single-user mode)
root (hd0,0)
kernel /vmlinuz-3.13-1-amd64 root=UUID=38a6243a-6151-4250-85ff-167b28ec0574 ro quiet single
initrd /initrd.img-3.13-1-amd64

title Debian GNU/Linux, kernel 3.2.0-4-rt-amd64
root (hd0,0)
kernel /vmlinuz-3.2.0-4-rt-amd64 root=UUID=38a6243a-6151-4250-85ff-167b28ec0574 ro quiet noresume SELINUX_INIT=NO
initrd /initrd.img-3.2.0-4-rt-amd64

title Debian GNU/Linux, kernel 3.2.0-4-rt-amd64 (single-user mode)
root (hd0,0)
kernel /vmlinuz-3.2.0-4-rt-amd64 root=UUID=38a6243a-6151-4250-85ff-167b28ec0574 ro quiet single
initrd /initrd.img-3.2.0-4-rt-amd64

### END DEBIAN AUTOMAGIC KERNELS LIST
Inoltre, sempre se la memoria non mi gioca difetto, il uuid avendo cambiato hard disk (e scheda madre) non sarà diverso? Se non erro linux gli attribuisce un valore univoco.

All'atto pratico non so come fare queste cose :doh:
Eventualmente, conosci una community dedicata a debian nel quale chiedere supporto?

Grazie ancora.

ishtar1900 27-06-2020 12:56

Il boot su partizione separata o meno cambia nulla, personalmente non ne individuo l'utilità, ma volendo puoi farlo, importande è indicare a grub dove sta la cartella perchè di default la "cerca" in /boot.
Se la metti in system semplifichi il tutto, poi in seguito, se tutto funziona ,puoi sportarla dove vuoi
L'uuid, se hai fatto un copia incolla con gparted ,non dovrebbe cambiare, in ogni caso gparted ti dice l'uidd della partizione, basta che te la segni e se in fstab è lo stesso lasci tutto come sta, diversamente lo modifichi direttamente dal file manager della distro live avviato in modalita root. Stessa procedura per creare la cartella root e la sottocartella grub. A te serve sapere quale è il comando per generare l' initramfs ( per creare i file initramfs-linux.img e initramfs-linux-fallback.img in /boot) e i comandi per installare il grub. Altro non serve.
Da live per fare le operazioni sopraelencate devi, come ti accennavo nel post precedente, entrare in chroot nel sistema. Se vuoi semplificarti le cose, scarichi una live di manjaro che ha installato di default un tool specifico. Apri il terminale da root e digiti manjaro-chroot -a , fatto cio dovrebbe apparirti il riferimento al sistema "ospite" , lo selezioni e a quel punto puoi operare da terminale direttamente come se il sistema fosse avviato.
Community di debian non saprei indicartene, ma immagino che quelle di ubuntu si sprechino, essendo una derivata è probabile che le procedure siano identiche
Qui sul forum c'è la sezione debian, magari possono darti una mano, in fondo si tratta di 3 comandi in croce.....

Nicodemo Timoteo Taddeo 27-06-2020 13:13

Quote:

Originariamente inviato da Life bringer (Messaggio 46854596)
Eventualmente, conosci una community dedicata a debian nel quale chiedere supporto?

http://debianizzati.org/

ishtar1900 27-06-2020 15:45

Ho dato un'occhiata veloce sul web , per ricostruire l'initramfs su debian pare che il comando sia
update-initramfs -u , la u aggiuntiva ricostruisce l'initramfs con il kernel piu recente tra quelli disponibili nel sistema

Per il grub ( il pacchetto c'è gia se non hai cancellato la cache del gestore pacchetti, se cosi non fosse fai un'update generale e te lo riscarica aggiornato) , lo reinstalli con :
grub install /dev/sda
grub-install --recheck /dev/sda ( per verifica)
update-grub2

Su quanto scritto purtroppo non posso garantire che sia corretto al 100% , ma ,anche se non dovesse risolvere, danni non dovrebbe farne, mal che vada non ti accetta il comando o ti rileva un errore.

Life bringer 27-06-2020 22:21

Quote:

Originariamente inviato da ishtar1900 (Messaggio 46855191)
Ho dato un'occhiata veloce sul web , per ricostruire l'initramfs su debian pare che il comando sia
update-initramfs -u , la u aggiuntiva ricostruisce l'initramfs con il kernel piu recente tra quelli disponibili nel sistema

Per il grub ( il pacchetto c'è gia se non hai cancellato la cache del gestore pacchetti, se cosi non fosse fai un'update generale e te lo riscarica aggiornato) , lo reinstalli con :
grub install /dev/sda
grub-install --recheck /dev/sda ( per verifica)
update-grub2

Su quanto scritto purtroppo non posso garantire che sia corretto al 100% , ma ,anche se non dovesse risolvere, danni non dovrebbe farne, mal che vada non ti accetta il comando o ti rileva un errore.

Ti ringrazio molto per i consigli, prima di effettuare queste operazioni, provvederò a creare un'ulteriore copia di backup così da poterci smanettare ulteriormente, ho ordinato stasera l'hard disk.

Life bringer 14-07-2020 22:37

Uppo perchè finalmente mi è arrivato l'hard disk!
Ho provveduto a clonare l'immagine precedentemente fatta sul nuovo (che è da 1tb invece che da 512gb e ho dovuto necessariamente cambiare le dimensioni delle partizioni.
ho creato la sda1 (/boot) da 1gb invece che da 100 mb (chissà perchè prima era così piccina), sempre ext2.
sda2 8gb /swap
sda3 partizione da 250gb /
Ho seguito le tue indicazioni ma al primo comando ricevo:
/boot/initrd.img-3.13-1-amd64 does not exist. Cannot update.

quando tento di installare grub ricevo questo errore:
https://imgur.com/a/8v7rSYq

Tieni conto che ho seguito nella parte iniziale (caricando /boot a parte) questa guida: https://shaunmallette.blogspot.com/2...ian-based.html

La versione installata di debian ai tempi era la buster (sid), ora passata in stable.

Stavo facendo un pensiero windowsiano, se procedo a reinstallare (senza formattare) la nuova versione di debian? Che può accadere?

Grazie.

Edit: aggiorno dicendo che ai tempi avevo disposto dei backup giornalieri, ad sono riuscito a recuperare un file .tgz con all'interno anche la partizione di boot, però ad ora non riesco a bootare dall'hard disk, il sistema si blocca alla ricerca del sistema operativo.

Per comodità aggiungo i file compressi della partizione boot recuperata e alcuni file di testo con la geometria delle partizioni, magari può aiutare: https://drive.google.com/file/d/1aoj...ew?usp=sharing

ishtar1900 16-07-2020 02:48

Quote:

Originariamente inviato da Life bringer (Messaggio 46880505)

Ho seguito le tue indicazioni ma al primo comando ricevo:
/boot/initrd.img-3.13-1-amd64 does not exist. Cannot update.

Il comando come temevo è errato, da chroot scrivi sul terminale
ls /lib/modules/
ti dovrebbe uscire la versione di kernel in uso, poi
update-initramfs -c -k versione kernel installato ( esempio, su arch mi esce 5.7.7-arch1-1 )

Spero di aver azzeccato..... Vediamo......

Quote:

Originariamente inviato da Life bringer (Messaggio 46880505)
quando tento di installare grub ricevo questo errore:
https://imgur.com/a/8v7rSYq

Il comando si riferiva alla cartella boot nella cartella di sistema, che è la posizione di default, su partizione separata devi specificare il percorso,
sudo grub-install –boot-directory=/mnt/boot /dev/sda oppure
sudo grub-install –root-directory=/mnt/boot /dev/sda



Quote:

Originariamente inviato da Life bringer (Messaggio 46880505)
Stavo facendo un pensiero windowsiano, se procedo a reinstallare (senza formattare) la nuova versione di debian? Che può accadere?

Non ho esperienza in merito, ma a rigor di logica, se reinstalli una versione identica dovrebbero essere sovrascritti i file di sistema e conservati i tuoi dati e le tue configurazioni. Su versioni diverse dipende quanto è stato modificato il sistema, se non sbaglio su debian e derivate ogni volta che viene rilasciata una nuova versione è necessaria la reinstallazione.

ps
Prima di fare le operazioni di ripristino accertati che la partizione di boot sia flaggata come boot e il file stab corretto. Personalmente, come ti avevo gia accennato farei pure un update.
Mi spiace dover andare a tentativi ma, come ti dicevo, Debian non l'ho mai usato.

ishtar1900 16-07-2020 15:36

Quote:

Originariamente inviato da Life bringer (Messaggio 46880505)

Edit: aggiorno dicendo che ai tempi avevo disposto dei backup giornalieri, ad sono riuscito a recuperare un file .tgz con all'interno anche la partizione di boot, però ad ora non riesco a bootare dall'hard disk, il sistema si blocca alla ricerca del sistema operativo.
Per comodità aggiungo i file compressi della partizione boot recuperata e alcuni file di testo con la geometria delle partizioni, magari può aiutare: https://drive.google.com/file/d/1aoj...ew?usp=sharing

Ho dato un'occhiata e sostanzialmente c'è tutto quello che serve, o che dovrebbe servire. Ho visto che hai grub-legacy non grub2 , il primo ,almeno su archlinux, è deprecato da almeno 7/8 anni, quindi conviene disintallare grub-legacy e installare grub2.
Probabilmente non ti fa il boot perchè sono cambiati i riferimenti alle partizioni, posizione o uuid. Per correggere l'errore normalmente è sufficiente rigenerare il grub da chroot. Anche questa potrebbe essere una soluzioni, mantieni il tutto, compreso grub-legacy e poi se riesci ad accedere al sistema modifichi quello che ritieni opportuno
Il comando è update-grub, almeno questo dicono sul sito debianizzati.org
Ovvio che prima di dare il comando va copiata pure la cartella grub del backup in /boot
Se funziona è la soluzione piu immediata rispetto a quella che ho scritto nel post precedente

Life bringer 16-07-2020 15:42

Grazie per i suggerimenti, aggiorno con gli ultimi aggiornamenti.
Da sistema chrootato, ho dato apt-get update, che ha restituito quell'errore critico, dopodichè ho dato upgrade e ha aggiornato alcuni pacchetti, da quel momento l'errore critico con l'update è cessato, alchè ho dato anche un dist-upgrade, sono riuscito successivamente a reinstallare grub (ancora la versione legacy da quel che vedo).

Per farla breve, ora il sistema boota, si avvia anche l'interfaccia grafica, tutto molto bello, se non fosse che sono spaesato, ovviamente del server lamp non funziona più nulla, sto riparando le cose a manina, ho ripristinato alcuni servizi che non partivano più, ma visto che anche il desktop è sparito (ai tempi si usava gnome3 con le icone windows style).

Provvederò ad aggiornarlo una volta rimesso su i vari servizi.

ishtar1900 16-07-2020 18:11

Mi fa piacere che tu sia riuscito a riesumarlo, ma non avevo dubbi, uno dei vantaggi di linux è che il "taglia e cuci" generalmente funziona.


Tutti gli orari sono GMT +1. Ora sono le: 10:24.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Hardware Upgrade S.r.l.