venerdì 1 agosto 2008

Ripristinare Grub (boot manager di Ubuntu) dopo installazione di Windows


Sempre più persone tra i miei amici, conoscenti, parenti, vedendomi lavorare sul mio portatile rimangono affascinati da Ubuntu, in quanto notano la semplicità e le potenzialità di questo O.S. ed è capitato di dover installare Ubuntu sul loro PC, ma a causa un (giusto) timore del nuovo, mi hanno chiesto di far convivere Ubuntu con Windows Xp sulla stessa macchina. Naturalmente non è questo l'argomento che voglio affrontare, in quanto è già largamente affrontato sui wiki ufficiali, ma è capitato che, come spesso succede, Windows è cominciato a diventare molto lento, a causa di virus, ecc....e naturalmente, per non perdere molto tempo a capire qual era il problema (visto che di tempo ne ho già poco!), mi è stato chiesto di resettare il computer, formattando l'HD. Per chi fa questa operazione la prima volta ha la bella sorpresa di venere il nostro amato sistema Linux "scomparire", o meglio se ne perdono le tracce. Non c'è da preoccuparsi....Ubuntu è la....e aspetta solo di riprendere il controllo (molto più democratico!!!) della macchina. Capiamo il perchè di questo inconveniente e cerchiamo di risolverlo.
Quando su una macchina su cui risiede l'OS WIndows installiamo Ubuntu, il bootmanager di windows viene sostituito con quello di Linux, Grub. Un bootmanager è un programmino molto importante che permette alla macchina di capire dove è il sistema operativo a cui affidarsi per iniziare a svolgere in totale le sue attività. Il bootmanager di windows non prevede il dual-boot (possibilità di scegliere tra più sistemi operativi sulla stessa macchina) e quindi quando viene installato dopo Ubuntu sovrascrive Grub, facendo perdere le tracce della partizione che contiene il nostro sistema Linux. Risolviamo il problema:
Per prima cosa muniamoci di un Live-CD di Ubuntu. Inseriamo il Live-CD e riavviamo il PC. Avviato Ubuntu in modalità live, da terminale digitiamo

sudo fdisk -l

che ci mostrerà la tabella delle partizioni. Prendiamo nota della partizione che contiene Ubuntu. Esempio:

:~$ sudo fdisk -l

Disco /dev/sda: 80.0 GB, 80026361856 byte
255 heads, 63 sectors/track, 9729 cylinders
Units = cilindri of 16065 * 512 = 8225280 bytes
Disk identifier: 0xd53d826f

Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 1 4438 35648203+ 83 Linux
/dev/sda2 4439 4699 2096482+ 82 Linux swap / Solaris
/dev/sda3 4700 9729 40403475 b W95 FAT32

Disco /dev/sdb: 80.0 GB, 80026361856 byte
255 heads, 63 sectors/track, 9729 cylinders
Units = cilindri of 16065 * 512 = 8225280 bytes
Disk identifier: 0x1c8d1f48

Dispositivo Boot Start End Blocks Id System
/dev/sdb1 * 1 9729 78148161 7 HPFS/NTFS

Nel mio caso si noti come la partizione di Ubuntu sia la /dev/sda1.
Creiamo una cartella che useremo per il ripristino:

sudo mkdir /mnt/ripristino

ora montiamo la partizione in cui risiede Ubuntu nella cartella appena creata, mettendo al posto di xxxx il nome della partizione dove abbiamo installato Ubuntu (nel mio caso sda1)

sudo mount /dev/xxxx /mnt/ripristino

EDIT (17 Giugno 2009):

e poi

sudo mount -o bind /dev /mnt/ripristino/dev

sudo chroot /mnt/ripristino

Ora possiamo installare fisicamente Grub.
ATTENZIONE!!! X è il numero dell'HD, Y è il numero di partizione sui cui vi è Ubuntu, cioè:
se Ubuntu è su sda1
X sarà 0 perchè in sda la "a" sta ad indicare il primo HD (partendo da 0)
Y sarà 0 perchè sda1 è la partizione che contiene Ubuntu; se fosse stato "sda3" per arrivare alla terza partizione dobbiamo contare 0,1,2. --> la nomenclatura di grub sarebbe stata (hd0,2)

cd /boot/grub
grub

così entriamo nel programma di gestione testuale di grub; date poi i seguenti comandi:

root (hdX,Y)

setup (hdX)

quit

Se adesso riavviamo il PC dovremmo vedere avviarsi Grub e quindi dovremmo poter riaccedere a Ubuntu.


Vediamo ora come ripristinare l'avvio di Windows XP, in quanto molto probabilmente non riuscirete più ad avviarlo.
Digitiamo:

sudo fdisk -l

e segnamoci la partizione che contiene Windows. Per esempio, riferendosi alla tabella di prima, la partizione sda3.
Apriamo con l'editor di testo Gedit il file di configurazione di Grub:

sudo gedit /boot/grub/menu.lst

aggiungiamo alla fine del file il seguente testo:

title Windows XP
root (hdX,Y)
makeactive
chainloader +1

ATTENZIONE!!! X è il numero dell'HD su cui vi è Windows, Y è il numero di partizione sui cui c'è Windows, cioè:
se Windows è su sda3
X sarà 0 perchè in sda la "a" sta ad indicare il primo HD (partendo da 0)
Y sarà 2 perchè essendo sda3 la partizione che contiene Windows, per arrivare alla terza partizione dobbiamo contare 0,1,2. --> la riga che ne segue è
"root (hd0,2)".

Se Windows è su sdc2 --> "root (hd2,1)"..........ecc.

Ora riavviando dovremmo poter essere in gardo di scegliere fra Ubuntu e Windows.

Spero di essere stato chiaro. La procedura è corretta, cmq può variare in base a diversi fattori. Contattatemi in caso di difficoltà.

37 commenti:

Anonimo ha detto...

salve, avrei un problema con ubuntu 8.10. in pratica in boot non mi vede Windows xp. Ho provato i suoi passaggi ed ho inserito windows nella lista del boot ma nn parte. Mi da errore 11

Anyon ha detto...

Postami il risultato del comando

sudo fdisk -l

e vedrò di darti delle indicazioni precise.

Antonio ha detto...

Salve ;)
Utilizzo ubuntu 9.04 e sono alle primissime armi ;)
Ho seguito la guida passo passo, ma quando scrivo:

sudo grub-install /dev/sda (Ubuntu risiede in /dev/sda3)

mi viene fuori l'errore:

sudo: unable to resolve host ubuntu
/dev/sda: Not found or not a block device.

Come posso fare? Grazie ;)

Anyon ha detto...

Devo dire che che anche io ho riscontrato questo errore con ubuntu 9.04. Segui questa pagina che a breve pubblicherò la procedura corretta. Ciao

Anyon ha detto...

@Antonio

Ho aggiornato la procedura; prova in questa maniera e se hai ancora problemi non esitare a contattarmi. Ciao

giacob ha detto...

Ciao quando scrivo il primo comando per vedere dove è installato linux mi da più di una voce con scritto linux mentre da te era una soltanto. come faccio a capire quale è quella giusta??

Anyon ha detto...

@giacob

Prova a montare singolarmente tutte le partizioni dove c'è scritto linux.
Poi digita il comando:

nautilus /mnt/ripristino

e dai un occhiata tra le cartelle che vi sono. Se trovi la tua home, allora è quella giusta. E' un metodo poco ingegneristico, ma dovrebbe funzionare! Ciao...

giacob ha detto...

con questo cd non mi fa montare la partizione, sto provando a cercare un cd più recente. Dicevi comunque che devo cercare la cartella home nella partizione per capire quale è quella corretta? grazie intanto..

gacob ha detto...

ciao ho provato col nuovo cd e mi da un errore quando digito SETUP(HD0) e se riavvio non parte come prima. è il cd che è sbagliato? è la versione 9.04 grazie ancora

Anyon ha detto...

No, non è il cd sbagliato. Questa procedura l'ho scritta proprio per Ubuntu 9.04. Un errore simile mi è già capitato, ed era dovuto al fatto che l'istallazione di ubuntu era stata effettuata in modo "automatico", cioè si era lasciato decidere al programma di partizionamento di ubuntu (quello che compare nell'installazione) come suddividere il disco per poter affiancare uvbuntu a windows xp. Questo programma infatti mi aveva creato una partizione estesa in cui includeva le due partizioni di ubuntu (root e swap). Per non perdere la testa ho risolto reinstallando ubuntu e creandomi da solo le partizioni,ma si potrebbe tentare con una live chiamata "Super Grub Disk" ( http://www.supergrubdisk.org/index.php?pid=7 ) che puoi installare su una penna usb e che ti dovrebbe facilmente risolvere il problema, senza che ci impelaghiamo in procedure tecniche. Se invece ti interessa risolvere il problema tecnicamente dovresti darmi i dettagli della tua tabella di partizione, postandomi almeno:
sudo fdisk -l

e spero di poterti aiutare. Ciao

lore ha detto...

Scusa Anyon, ho un problema col boot.. seguivo il tuo post ma non sono riuscito. Dove posso chiederti aiuto!? inviarti il mio fdisk?

Grazie

Anyon ha detto...

@ lore
Qual è precisamente il problema? Postami tutto qui. Ciao

lore ha detto...

ok. ho installato ubuntu 9.10 ma nel boot non mi da la possibilità di avviare con windows xp..

situazione: 1 hd sata con partizione e xp sulla prima partizione.

2 hd sata ubuntu sulla prima partizione..

ho provato anche a inserire la modifica ed anche ad inserirla dentro grub.cfg

continuo a non vedere windows, che non è stato toccato dall'installazione di ubuntu.

Ti inserisco i copia incolla di ..

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

Disco /dev/sda: 200.0 GB, 200049647616 byte
255 testine, 63 settori/tracce, 24321 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Identificativo disco: 0xa511a511

Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 1 11465 92092581 7 HPFS/NTFS
/dev/sda2 11466 24321 103265820 f W95 Esteso (LBA)
/dev/sda5 11466 24321 103265788+ 7 HPFS/NTFS

Disco /dev/sdb: 200.0 GB, 200049647616 byte
255 testine, 63 settori/tracce, 24321 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Identificativo disco: 0xa4baa4ba

Dispositivo Boot Start End Blocks Id System
/dev/sdb1 * 1 7644 61400398+ 83 Linux
/dev/sdb2 7645 24321 133958002+ f W95 Esteso (LBA)
/dev/sdb5 7645 24320 133949938+ 7 HPFS/NTFS
/dev/sdb6 24321 24321 8001 82 Linux swap / Solaris

mentre mount

fulvio@fulvio-desktop:~$ mount
/dev/sdb1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/fulvio/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=fulvio)
fulvio@fulvio-desktop:~$ ^C
fulvio@fulvio-desktop:~$

Anyon ha detto...

@lore

Naturalmente hai già provato ad aggiungere in fondo a "menu.lst" (sudo gedit /boot/grub/menu.lst)
le seguenti righe:

title Windows XP
root (hd0,0)
makeactive
chainloader +1

lore ha detto...

si provato.. ieri con la complicità di qualcuno, che in remoto ha rafficato.. forse son riuscito a far uscire il menu'.. forse.. (però sto grub2 (1.97) vedo che ne sta facendo di casini..)

Adesso ho un errore di win.. ntdlr mancante.. quindi debbo intervenire sull'altro fronte e poi vediamo se tutto è ok! ;-) grazie x ora.. appena ho un attimo agisco s u winz

Anonimo ha detto...

GRAZIEEEEE!!!!!!!!
pensavo di aver perso il PINGUINO e tutte le fantastiche applicazioni installate!

Anonimo ha detto...

GRAZIEEEEE!!!!!!!!
pensavo di aver perso il PINGUINO e tutte le fantastiche applicazioni installate!

Anonimo ha detto...

I like the helpful info you provide in your articles. I'll bookmark your weblog and check again here regularly. I am quite sure I will learn many new stuff right here! Good luck for the next!

My blog Get twitter user data back

Anonimo ha detto...

It's actually very complex in this busy life to listen news on TV, therefore I only use world wide web for that purpose, and take the latest news.

my web blog: can i earn money online

Anonimo ha detto...

Saved as a favorite, I really like your blog!

Feel free to surf to my web site: sharecash downloader 2012

Anonimo ha detto...

you are really a just right webmaster. The site loading velocity is amazing.
It seems that you're doing any unique trick. Furthermore, The contents are masterwork. you've
performed a excellent task in this subject!


My blog post: Amazing videos

Anonimo ha detto...

Excellent blog here! Also your site loads up fast!
What web host are you using? Can I get your affiliate link to your host?
I wish my web site loaded up as quickly as yours lol

my webpage; play minecraft for free

Anonimo ha detto...

When some one searches for his vital thing, therefore he/she desires to be available that in detail,
thus that thing is maintained over here.

Feel free to visit my webpage: pdf password remover

Anonimo ha detto...

After going over a number of the articles on your blog, I seriously appreciate
your way of blogging. I added it to my bookmark site list and will be checking back in the near future.
Please visit my website as well and let me know what you think.


Also visit my web page :: Make money from no money

Anonimo ha detto...

I loved as much as you will receive carried out
right here. The sketch is tasteful, your authored material stylish.
nonetheless, you command get bought an impatience over that
you wish be delivering the following. unwell unquestionably come more formerly again as exactly the same nearly very often inside case
you shield this increase.

Look into my web blog; Minecraft Premium Account Hacks

Anonimo ha detto...

Wow! This blog looks just like my old one! It's on a completely different subject but it has pretty much the same page layout and design. Great choice of colors!

Here is my weblog ... Adfly Earnings Increaser Bot

Anonimo ha detto...

Thanks for your personal marvelous posting! I seriously enjoyed reading it, you might be
a great author. I will make certain to bookmark your blog and definitely will come back from now on.
I want to encourage you to ultimately continue your great job, have a nice
weekend!

My site minecraft download

Anonimo ha detto...

Hi, I do believe your blog could be having web browser compatibility issues.
When I look at your blog in Safari, it looks fine
but when opening in I.E., it's got some overlapping issues. I simply wanted to give you a quick heads up! Aside from that, fantastic site!

Here is my web-site ... Funny Video

Anonimo ha detto...

Hello, Neat post. There's an issue along with your website in internet explorer, might test this? IE still is the marketplace chief and a huge part of other people will miss your magnificent writing because of this problem.

Review my weblog; sharecash

Anonimo ha detto...

Hello, I wish for to subscribe for this web site to get most recent
updates, thus where can i do it please help.

Feel free to visit my webpage ... where do you find pictures with funny captions

Anonimo ha detto...

I am sure this post has touched all the internet viewers, its really really fastidious post on building up new webpage.


Also visit my homepage: password recovery windows 7 **

Anonimo ha detto...

Thanks for sharing your thoughts on watch desperate
housewives online free. Regards

Here is my webpage; watch tv series free

Anonimo ha detto...

These are genuinely fantastic ideas in regarding blogging.
You have touched some pleasant things here. Any way keep up wrinting.


My web site: farming simulator 2012

Anonimo ha detto...

This program is intended to recover lost passwords
for RAR/WinRAR archives of versions 2.xx and 3.xx.
http://www.passwordrecoveryforrar.tk The free professional solution
for recovering lost passwords to RAR and WinRAR
archives.

What a material of un-ambiguity and preserveness of valuable knowledge on the topic of unexpected feelings.


Also visit my blog post Password Cracker Rar

Anonimo ha detto...

Excellent post. I used to be checking constantly this blog and I am impressed!

Extremely helpful info specially the closing phase :) I take care
of such information a lot. I used to be looking for this certain information for a
very long time. Thanks and good luck.

Here is my weblog :: bypass sharecash surveys

Anonimo ha detto...

Today, I went to the beach front with my kids.

I found a sea shell and gave it to my 4 year old daughter and said "You can hear the ocean if you put this to your ear." She placed the shell to
her ear and screamed. There was a hermit crab inside and it pinched her ear.

She never wants to go back! LoL I know this is entirely off topic but I had to tell someone!


My blog - tube toolbox

Anonimo ha detto...

Hi there! Someone in my Facebook group shared this site with us so I
came to take a look. I'm definitely enjoying the information. I'm book-marking and will be
tweeting this to my followers! Great blog and fantastic design.


my blog post ... iphone games