GRUB e ASERE in MULTIBOOT

Lo scopo del progetto è installare sul portatile tre sistemi operativi a 64bit:
Windows 7 Pro x64, MAC OS X 10.6 e Ubuntu 10.10 x64 dove iAtkos s3 v2 fa le veci di MAC OS X.
Il portatile è un un Fujitsu Siemens AmiloPRO V3505 con il seguente hardware:

  • Processore Intel Core 2 Duo T5500
  • RAM 2 GB – DDR 2
  • HD 160GB sata
  • VGA: Intel 950 igp
  • LAN Marvell
  • WIFI Intel

Il primo tentativo è stato quello di formattare il disco secondo le specifiche GPT;
Windows 7 supporta i dischi GPT solo per dischi non primari (non di sistema).
Il disco è formattato MBR ed i sistemi operativi sono stati installati secondo l’ordine precedentemente elencato.
Una copia del boot sector è stata effettuata dopo ogni installazione tramite la versione live di Ubuntu che parte da chiavetta USB (copiata sotto forma di ISO insieme a GRUB2).
$ sudo dd if=/dev/sda of=/boot.bin bs=512 count=2
La copia del primo kilobyte secondo le specifiche MBR contiene non solo parte del bootloader ma anche tabella di partizione ecc; se ne deduce che, in caso di ripristino forzatto tramite dd, ricopiare l’intero settore comporterebbe anche la modifica della tabella partizioni!
La copia di riserva servirà in un secondo momento.
Il termina dell’ultima installazione (Ubuntu) riporta all’avvio un menu da parte del bootloader (GRUB) che offre diverse scelte tra cui il caricamento di Windows, di MACOSX, di Ubuntu e altro ancora.
Windows e Ubuntu sono scelte funzionanti mentre MAC OS X no.
L’unica maniera per far partire di nuovo Snow Leopard è quella di caricare ulteriormente il programma contenuto nel suo boot sector.
La possibilità viene offerta dalla flessibilità di GRUB che non smetterò mai di elogiare.
Il settore di boot da 1K copiato dopo l’installazione di MAC OS X conservato (asere.bin) l’ho inserito nell’albero di linux sotto la cartella /BOOT in maniera da poterlo recuperare da GRUB agevolmente.
L’ultimo passo sarà quello di istruire GRUB in maniera da lanciare il boot loader ASERE come nel seguente esempio:

menuentry “MAC OSX via ASERE” {
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos5)’
 chainloader /boot/asere.bin

}
La sequenza (chain loading) in caso si scelga MAC OS X:
BIOS –> GRUB –> ASERE.BIN –> MAC OS X

NB: Snow Leopard, a causa di problemi di compatibiltà hardware parte solamente col il parametro di boot -x .