PDA

Visualizza versione completa : Ripristino grub



kuz
05-09-13, 16: 04
Ciao a tutti ho bisogno del vostro aiuto..
Ho installato in un hd esterno una distro di ubuntu il problema è che se stacco l'hd esterno il sistema operativo principale ( debian ) non si avvia per appunto non ha grub
Questa è la prima volta che mi trovo ad affrontare questo genere di problema ho letto varie cose ma ho bisogno di utenti che hanno la pazienza di spiegarmelo

vincenzo@vincenzo:~$ sudo fdisk -l
[sudo] password for vincenzo:

Disk /dev/sda: 250 GB, 250056737280 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 29518 237103303 83 Linux
Warning: Partition 1 does not end on cylinder boundary.
/dev/sda2 29518 30402 7100730 5 Extended
Warning: Partition 2 does not end on cylinder boundary.
/dev/sda5 29518 30402 7100730 82 Linux swap
Warning: Partition 5 does not end on cylinder boundary.

Disk /dev/sdf: 500 GB, 500105249280 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdf1 *

sda Debian
sdf ubuntu

Grazie

PS ho una live di debian ma ovviamente non so come muovermi

pierino_89
05-09-13, 16: 06
Spiegati meglio. Perché Debian non ha grub? Perché non l'hai installato o per altri motivi?

kuz
05-09-13, 16: 18
Ciao
Quando ho installato ubuntu ho installato il suo grub quindi alla schermata di avvio ubuntu è il sistema principale...come da post precedente quando avvio il pc e ho la periferica contenente ubuntu non inserita il boot non riesce ha trovare debian come messaggio mi restituisce rescue grub..
il mio intento se possibile è mettere il grub di debian affinche diventi il sistema principale e ubuntu il secondario senza che debba inserire la periferica per accedere a debian.... è un semplice ( non per me :D ) ripristino di grub su debian tenedo conto che c'è anche un altro so

pierino_89
05-09-13, 16: 27
Ok, su Debian hai grub 1 o 2?
In ogni caso, dovrebbe bastare un "update-grub" lanciato da Debian.

Andy86
05-09-13, 16: 33
:bai

Probabilmente quando hai installato ubuntu il setup in default ti ha installato l'mbr sul disco principale (sda), a volte fa quello scherzo lì, quindi ora l'mbr di sda (che è il disco di boot) cerca i file nell'hdd esterno, quando è scollegato non li trova e da errore.

Avresti dovuto cercare le impostazioni avanzate (in una delle schermate del setup relative al disco) e impostare a mano il device per il grub.

Adesso per rimettere le cose a posto devi reinstallare il grub dall'interno di debian (se ho capito bene riesci ad avviarla quando è inserito l'hdd esterno) in modo che il l'mbr punti a sda, che è sempre collegato.


Only registered members can view code.

il secondo comando provvederà ad inserire l'hdd esterno nell'elenco del grub, quindi lo vedrai anche quando non collegato, anche se, ovviamente, non partirà.

Se vuoi installare un grub a parte sull'hdd esterno dai:


Only registered members can view code.

Assicurati che sdf sia l'hdd esterno al momento in cui dai il comando.
Assicurati di fare update-grub dal sistema installato sull'hdd esterno.

kuz
05-09-13, 17: 05
Grazie a entrambi

Si Andy.....perfetto!!!
Ho proprio quella situazione da te descritta....
Quando ho installato ubuntu nell'hd esterno...non so come ( dico così per la mia inesperienza in fatto di installazioni so ) è diventato il sistema di riferimento.....
Ovviamente come ho detto e che TE hai ribadito se per qualche motivo escludo l'hd al momento del riavvio debian non parte... il boot non lo trova....
OK andy....
Alcune guide dicono di mettere la distro live di debian e da terminale impartire dei comandi....
ti chiedo:
sapresti guidarmi?...tieni presente che vorrei tenermi ubuntu nel device removibile quindi nel grub mi deve comparire ma non come so principale....

chiedo debbo fare gli eventuali comandi che mi darai da cd live debian? ( scusami se sembra una ovvietà :ehmm ma per me diventa una sicurezza sapere o no se debbo farla da live o no )

Rispondo qui anche a Pierino...non ricordo se grub 1 o 2

vincenzo@vincenzo:~$ sudo fdisk -l
[sudo] password for vincenzo:

Disk /dev/sda: 250 GB, 250056737280 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 29518 237103303 83 Linux
Warning: Partition 1 does not end on cylinder boundary.
/dev/sda2 29518 30402 7100730 5 Extended
Warning: Partition 2 does not end on cylinder boundary.
/dev/sda5 29518 30402 7100730 82 Linux swap
Warning: Partition 5 does not end on cylinder boundary.

Disk /dev/sdf: 500 GB, 500105249280 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdf1 *

Andy86
05-09-13, 17: 35
:bai

Operare da live serve se non riesci ad accedere al sistema o se devi usare la partizione in read-only, ma poi rischi di dover dare alcuni comandi in chroot.

Se riesci ad accedere al sistema collegando l'hdd esterno, fallo, e prova con i comandi che ti ho indicato. (poi se vuoi cambiare l'ordine dei device ci pensiamo).

kuz
05-09-13, 17: 38
Allora...
Ora sono con la debian avviata con il grub di ubuntu....
impartisco i comandi che mi hai dato da terminale di debian come amministratore?

Andy86
05-09-13, 17: 41
Si. O meglio, come sudoers. Ho specificato sudo apposta. Se preferisci (se hai lo script nel menù contestuale) puoi anche avviare direttamente il terminale come amministratore, io trovo più comodo il sudo.

kuz
05-09-13, 17: 56
Ok....
Dato comando....restituito questo errore:

vincenzo@vincenzo:~$ sudo grub-install sda
[sudo] password for vincenzo:
/usr/sbin/grub-probe: error: cannot stat `sda'.
vincenzo@vincenzo:~$

Per completare info posto cfdisk

GNU cfdisk 1.2.4

ATA Hitachi HDT72502^Y
Disk: /dev/sda Disk type: msdos Size: 250059350015B, 250059MB
Heads: 255 Sectors per track: 63 Cylinders: 30401

Number Flags Part Type Filesystem Label Size
------------------------------------------------------------------------------
Primary Free space 1.02MB
1 Bootable Primary ext3 242790MB
Primary Free space 1.05MB
2 Extended 7267MB
5 Logical linux-swap(v1) 7267MB






[ New ] [ Rescue ] [ Units ] [ Commit ] [ Quit ] [ Info ] [ Help ]



Create new partition from free space


---------- Post Unito alle 18: 25 ----------

Ho risolto Andy
I tuoi comandi sono stati risolutivi!!!!
Ricapitolando
Ho installato una distro linux in un HD esterno
Questo ha causato la perdita di grub del sistema operativo principale a vantaggio del grub installato dalla distro nel HD esterno
Questa azione provoca di fatto la scomparsa dal Boot del SO principale dato che il grub che determina questa azione fa riferimento alla distro installata nella periferica
Per ripristinare il grub nel disco fisso e di fatto per identificarlo come primo sistema da indentificare e installare senza l'uso di una live i comandi come suggeriti da Andy sono:

Accedere al SO principale tramite grub del sistema , in questo caso, installato nel HD esterno

Identificare la partizione per installare grub

Comando da Root : sudo fdisk -l

Identificata la partizione secondo comando da impartire sempre da root :

sudo grub-install /dev/partizionedesiderata

Ultimo comando:

sudo update-grub

Questa soluzione trovata con l'aiuto di Andy mi ha permesso di ripristinare grub senza cd live e di portare il mio so sul disco fisso come so principale.....e di non essere costretto ad usare il so installato nella periferica per avviare il principale

OK

Risolto.....

Andy86
05-09-13, 19: 03
Hai ragione, ho dimenticato il /dev/, colpa mia. :ops:

Quindi correggo anche il comando per fare una copia di grub sull'hdd esterno:


Only registered members can view code.

Ricorda che se non hai un grub separato sull'hdd esterno, l'hdd esterno non funzionerà su di un altro pc.