Fatti i test, che vi riporto:
La macchina e` un HP Proliant ML110 con 3 dischi:
sda (sda1 e sda2) e sdb (sdb1 e sdb2) sono in raid1 e creano md0 e md1
(root e swap).
la root (md0) e` formattata ext3.
sda1 e sdb1 (i componenti del raid md0) sono settati bootabili in fdisk,
ma credo che questo sia totalmente ininfluente.
sdc contiene sdc1 che e` formattata ext4 e non partecipa al raid. (non
bootabile in fdisk)
grub e` installato in sda e in sdb (con grub-install /dev/sdX)
Dalle prove, ho dedotto che c'e` solo un punto critico, e non e` un
problema di GRUB. Questo BIOS e` fesso e se cerca di fare il boot da un
hard disk che non e` bootabile (che sia un disco totalmente vuoto, pieno
di zeri, o un disco come il mio sdc, che e` formattato ma non bootabile
ne` contiene un master boot record valido) si blocca e non va oltre,
cioe` non tenta di bootare dai dischi successivi nel suo ordine interno
di boot. Questo e` bloccante se l'utente remoto non e` in grado di
entrare nel bios e dirgli di bootare prima da uno dei dischi "buoni".
Grub, una volta che riesce ad essere lanciato dal BIOS, se ne fotte di
dove si trova fisicamente, scansiona tutti i dischi attaccati alla
macchina alla ricerca dei propri pezzi, e li trova e poi fa il boot
correttamente. Complimenti, questo funziona meglio di grub1.
Per facilitarsi la vita, in una configurazione come la mia dove ho due
dischi che partecipano al raid che contiene root e uno che non c'entra
nulla, e` consigliabile installare grub anche sul terzo (e a questo
punto mi viene da dire su qualsiasi disco presente nella macchina)
perche` nel caso in cui il BIOS faccia il boot dal terzo, la macchina
partira` lo stesso (ovviamente se almeno uno dei due dischi del raid e`
installato).
Qui di seguito vi riporto giusto perche` cosi` allungo il brodo il log
delle prove che ho fatto, che mi hanno portato alla conclusione che gia`
vi ho indicato.
============================================================================
1- Tolgo completamente il disco sda a macchina spenta e riavvio:
vedo che il BIOS vede il secondo disco come secondo
grub parte
il boot funziona.
2- spengo, monto un disco vergine come prim al posto dell' sda originale
(cosi` ho due dischi di cui uno "sbagliato", diciamo, e non un disco
solo come era prima)
il bios riporta i dischi giusti
grub parte
il boot funziona
3- scambio il disco vuoto e il disco pieno (sdb) in modo che il disco
pieno (sdb) sia il primo, e il vuoto il secondo.
il bios vede i dischi ma dice boot failed (non prova nemmeno a caricare
grub). La cosa non ha senso. E` in assoluto la cosa che NON mi
aspettavo, visto che il disco con GRUB e` ora il primo disco.
4- provo a togliere il disco vuoto e lasciare il pieno (ex-sdb) al primo
posto.
il bios vede correttamente lo stato dei dischi, il sistema non boota e
lascia il cursore lampeggiante in altro a SX, senza messaggi di alcun
tipo. il disco ex-sdb messo come solitario in sda sembra andare oltre il
bios (niente messaggi boot failed dal bios) e poi morire senza alcun
messaggio di errore.
5- lascio il disco pieno (sdb) al secondo posto da solo (cioe` la stessa
condizione della prova numero 1) e ora fa come la prova 4, cursore
lampeggiante e niente altro. Devo dedurre che qualcosa nei test
precedenti ha corrotto il boot loader su sdb?
6- entro nel bios, controllo, vedo che il disco 3 (che e` un disco non
in raid che e` montato sulla macchina e non ho mai toccato) e` nel bios
settato come primario per il boot. Metto come primario il disco 2 (che
e` connesso con sdb) e ora boota. Probabilmente per qualche motivo il
bios ha fatto casino e si e` auto-reimpostato fra la prova 2 e la 3.
7- rifaccio la prova 3 pero` controllo che nel bios ci sia una
impostazione sensata (boot dal disco 1) e adesso funziona.
A naso direi che posso dedurre che posso scambiare i dischi a piacere,
ma se non dico al bios da quale disco bootare, il bios stesso (non grub)
si incarta.
con un disco totalmente vuoto (tutti zeri) dice "boot failed" e non
prova il prossimo disco in sequenza.
con un disco partizionato e formattato in ext4, pero` senza flag di
"bootabile", il bios resta bloccato con un cursore che lampeggia e basta
8- faccio grub-install anche su sdc (che non c'entra nulla con il raid)
e vediamo se riesco a bootare dicendo al bios che il disco di boot e` il
terzo (sdc). La configurazione e`: 1-sdb 2-vuoto 3-sdc: boota correttamente.
9- cambio configurazione: 1-vuoto 2-sdb 3-sdc e dico al bios di bootare
dal 3: funziona
10- tolgo tutti e due i dischi del raid originale, lascio sdc in
posizione 3, dico al bios di bootare da sdc: grub parte, poi non trova i
propri pezzi e mi dice error: no such disk, e poi entra in rescue mode e
mi da` un prompt.
============================================================================
--
Fabio "Kurgan" Muzzi
- IZ4UFQ -
La diagnosi del tecnico: E` colpa di Windows, chiami la Microsoft
|