Ubuntu, Grub2 e XP su RAID Nvidia (ASUS P5N-MX) | Ing. Eugenio Bonifacio
Tags: applicazioni sms, applicazioni web, cataloghi elettronici, commercio elettronico, consulenza agenzie web, consulenza opensource, consulenza oscommerce, consulenza Drupal, consulenza Wordpress, consulenza Zend Framework, e-commerce, portali web, sistemi di prenotazione, sistemi informativi, siti web comiso, siti web ragusa, siti web sicilia, software personalizzati, sviluppo firmware, programmatore php freelance, sviluppatore zend framework, sviluppatore doctrine, programmatore zend framework, programmatore doctrine, sviluppatore cakephp
24
Dic 09

Ubuntu, Grub2 e XP su RAID Nvidia (ASUS P5N-MX)

 

In questi giorni, dopo averlo sperimentato con enorme soddisfazione sul mio notebook, sto cercando di migrare il mio PC, quanto più possibile, da XP a Ubuntu. Ho una scheda madre ASUS P5N-MX che monta un dispositivo RAID, a quanto ho capito sembra essere software, e avevo comprato a suo tempo due HD SATA da 250GB per configurarli proprio in RAID1, così da scongiurare guasti che mi avevano appena costretto a sostituire il vecchio PC.

Proprio dal vecchio PC era sopravvissuto un HD SATA da 200GB, connesso al nuovo ma che non ho mai utilizzato, vista l'abbondanza di spazio a disposizione. Ho pensato di metterci Ubuntu, certo, le cose col pinguino non sono mai semplici ma per uno come me, abituato alle sofferenze informatiche, è sempre un modo per conoscerlo meglio (ne farei volentieri a meno comunque).

Avvio il Live CD, faccio partire l'installazione, intanto che installa mi faccio una bella navigata con Firefox, arrivo all'installazione del bootloader seleziono di installarlo nell'MBR del disco su cui ho installato Ubuntu, riavvio e imposto l'ordine di avvio dei dischi con il disco su cui gira Ubuntu come primo.

A questo punto sorgono i problemi, il bootloader ha riconosciuto Windows XP su dispositivo RAID ma appena lo seleziono mi si presenta un messaggio "error: invalid signature". Comincio a cercare, devo dire senza troppa fortuna. Alla fine capisco che Karmic usa la versione 2 di Grub che differisce da quella che conoscevo, così mi prendo il manuale di Grub2 (scarsino per la verità) e comincio a capire cosa possa essere successo. Impiegando una buona mezza giornata in prove, ricerche e tentativi sono riuscito a capire dove stava il problema.

Innanzitutto Grub2 utilizza degli script che si trovano in /etc/grub.d/ per costruire il menu di selezione quando si avvia update-grub. Tra questi script ce n'è uno che si chiama "40_custom" in cui è possibile aggiungere del codice personalizzato per costruire il menu. Qui dentro ho creato il mio menu personalizzato per Windows XP, ottenuto dopo svariati tentativi alla console di grub, eccolo:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
 
menuentry "Microsoft Windows XP Professional (Eugenio)" {
    drivemap -s (hd0) (hd1)
    root=(hd1,1)
    chainloader +1
}

Spieghiamo in dettaglio.

  • Il comando drivemap ha sostituito in Grub2 il comando map di Grub, col quale si scambiano virtualmente i dischi. Nel mio caso XP risiede nel disco hd1 il quale però non è il primo disco, come richiesto da Windows. Con il comando drivemap i due dischi hd0 e hd1 vengo perciò scambiati virtualmente, in questo modo il primo disco torna ad essere quello con XP.
  • La variabile root (che su Grub era un comando) viene poi impostata sulla partizione da avviare.
  • Il terzo comando non saprei spiegarlo molto, dovrebbe essere qualcosa per leggere il primo settore della partizione.

In questo modo XP parte!