Sometime happens!
E si può in effetti capitare di dover installare l’odiato Windows su un pc con a bordo Linux
Si sente spesso parlare del caso contrario ma per lavoro mi è successo di dover installare WinXP sul mio laptop con sù Ubuntu Jaunty.
Il problema?? Se installiamo WinXP su una partizione del nostro PC, l’intelligentissimo installer di casa Redmond non fa il detect dei sistemi operativi, sovrascrive l’MBR e al reboot (dopo 1 ora e 1/2 di installazione) ci ritroveremo senza la possibilità di avviare la nostra distro Linux preferita (Ubuntu ?!?!)
Avevo già scritto in proposito una guida
http://www.scubarda.net/wordpress/2007/04/26/recupero-boot-loader-grub/
quello che segue è un altro metodo funzionante (testato 2 gg fa)
Una volta avviato il livecd Ubuntu (la cosa funziona con qualsiasi altro livecd, a meno di usare l’utenza root al posto del comando sudo), bisogna come prima cosa montare la propria root partition (nel mio caso sda1, sostituire con la propria unità) sulla directory /mnt/root (o una qualsiasi da creare a piacimento)
sudo mkdir /mnt/root
sudo mount -t ext3 /dex/sda1 /mnt/root
Di seguito è necessario montare gli pseudo filesystem proc e dev all’interno del mount point appena creato
sudo mount -t proc /mnt/root/proc
sudo mount -o bind /dev /mnt/root/dev
e fare dunque il chroot
sudo chroot /mnt/root /bin/bash
Ora che ci siamo chrootati nel nostro root file system è necessario eseguire i seguenti comandi grub per ripristinare l’MBR
sudo grub
nella console grub> dare i seguenti comandi
find /boot/grub/stage1
dovrebbe ritornare qualcosa del genere (hd0,0) ovvero l’equivalente in grubiano del device sda1 (la root partition)
root (hd0,0)
la scansione deve riconoscere il fs e la partizione
setup (hd0)
Quest’ultimo comando sovrascrive e ripristina l’MBR (nota che il setup è fatto su hd0, ovvero nel mio caso il disco sda)
Nel caso si voglia predisporre il dual boot con Win basta semplicemente aggiungere l’entry relativa a Windows nel file /boot/grub/menu.lst. Sostituire la label (hd0,1) con quella corrispondente alla partizione su cui si è installato Windows.
(hd0,1) corrisponde a sda2.
Comando in chroot: sudo vi /boot/grub/menu.lst
title Windows
root (hd0,1)
makeactive
chainloader +1
A questo punto si può riavviare e avremo come boot loader il classico Grub con l’entry per Windows (premere ESC per vedere le opzioni di boot)
Chiaramente la procedura vale anche se avete cancellato/modificato l’MBR per qualche altro motivo.
Enjoy!






