Come recuperare la vostra installazione debian/ubuntu con il boot loader compromesso / non presente.

Oggi ho voluto formattare il mio portatile e non avendo il lettore cd / dvd avrei proceduto all’installazione con l’installer minimale scaricando i componenti da internet. Avendo una batteria che dura pochi minuti il pc mi si è spento dopo aver formattato il boot loader e quindi ho perso sostanzialmente ogni possibilità di recovery “facile” visto che sul mio portatile ho un solo hard disk.

L’errore che mi appariva sullo schermo era la classica Shell di “Grub Resque” che non conosco e che non intendo imparare.

Se avessi avuto il lettore dvd funzionante avrei fatto ripartire Windows con Super Grub Disk come spiegato qui ma non funzionando via usb l’unica strada da fare è stata quella di fare un network boot.

Ora vi spiegherò come si fà. C’è poca letteratura su internet.

Necessitiamo di:
– Un altro pc con debian/ubuntu installato,
– un cavo di rete,
– un router adsl,
– la bios del pc da salvare che supporti il boot startup pxe,
tanta pazienza.

Come prima cosa colleghiamo il router al computer da recuperare con il cavo ethernet.

Iniziamo. Apriamo il terminale del pc funzionante (d’ora in poi server) e installiamo alcuni pacchetti. Un server dhcp, e due pacchetti per il TFTP. I comandi sono del tipo

> sudo apt-get install dhcp3-server
> sudo apt-get install tftpd-hpa tftpd bootp


Configurazione server dhcp

Andate a modificare il file /etc/dhcp3/dhcpd.conf

Questo potrebbe essere un esempio per la rete 192.168.1.0

option domain-name “example.com”;

default-lease-time 600;
max-lease-time 7200;

allow booting;
allow bootp;

#dati della vostra rete
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.200 192.168.1.253;
option broadcast-address 192.168.1.255; #occhio
# the gateway address which can be different
# (access to the internet for instance)
option routers 192.168.1.1;
# indicate the dns you want to use
option domain-name-servers 192.168.1.3;
}

group { #mac address del vostro client da salvare
next-server 192.168.1.3;
host tftpclient {
# tftp client hardware address
hardware ethernet 00:10:DC:27:6C:15;
filename “/pxelinux.0”;
}
}

Dopo aver modificato il file di configurazione di dhcpd riavviarlo con /etc/init.d/dhcp3-server restart.

Adesso andiamo a configurare bootcp : /etc/bootptab

client:\
ha=”00:1B:38:71:7F:E1″:\
ip=10.0.2.50:\
gw=10.10.2.1:\
sm=255.255.255.0:\
td=/: hd=/: bf=pxelinux.0

Modifichiamo i dati con l’ip che vogliamo dare alla macchina e il mac della scheda con PXE.

Ora la parte che personalmente mi ha dato più rogne. Trovare e copiare i file che saranno caricati via TFTP. Facendo network boot diremo al nostro server di caricare alcuni file particolari via tftp per far partire l’installer di linux. Per debian i file li trovi a questo link. Io personalmente ho scaricato il file netboot/netboot.tar.gz perchè è già configurato per PXE e debian.

Ora dobbiamo scompattare l’archivio e metterlo nella cartella che trovate scritta nel file /etc/default/tftpd-hpa. Realisticamente sarà /var/lib/tftpboot .

Fine. Se adesso funziona tutto con il server acceso e il pc collegato avviate il computer e se il network boot è supportato forzate la bios a fare il boot. Se avete configurato tutto giusto dopo qualche secondo di attesa partirà l’installer classico di debian e potrete riparare all’installazione fallita!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *