# grub e l'installazione nel MBR

## C4RD0Z4

Ciao a tutti,

ho appena finito di installare la Gentoo 2006.1, partendo dal cd "minimale" per x86. Tutto è sembrato andare per il meglio, finchè sono arrivato ad installare il boot-loader; grub appunto. Ora le mie partizioni di "avvio" sono quella di Windows XP su /dev/sda1 e la /boot, su /dev/sda2. Nel computer sono presenti 2 dischi:

/dev/sda, un disco SATA che è primary master;

/dev/hdb, un disco EIDE da 60GB impostato come primary slave.

Le mie partizioni sono su /dev/sda.

Ora, secondo la particolare sintassi di grub, /dev/sda diventa (hd0) e di conseguenza (hd0,0) sarà /dev/sda1 e (hd0,1) sarà /dev/sda2. Giusto?

A quanto pare, però, grub sembrà fare confusione. Da quanto ho appena detto devo installare grub nel MBR di (hd0), cioè /dev/sda, ma grub fa confusione in fase di installazione, considerando /dev/sda come (hd1) e /dev/hdb come(hd0) (me ne sono accorto grazie alla funzione di completamento automatico della shell di grub, nella installazione manuale). Ho subito pensato che ci fosse qualcosa che no andava. Ma c'è di più.

Preso atto di questo scambio, ho pensato bene di modificare il grub.conf di conseguenza, cambiando

 *Quote:*   

> title Gentoo GNU/Linux 2.6.17-r8
> 
> root (hd0,1)
> 
> kernel /boot/linux-2.6.17-gentoo-r8 root=/dev/sda6
> ...

 

in

 *Quote:*   

> title Gentoo GNU/Linux 2.6.17-r8
> 
> root (hd1,1)
> 
> kernel /boot/linux-2.6.17-gentoo-r8 root=/dev/sda6
> ...

 

che a rigor di logica, sarebbe dovuto andare bene. E invece no!

Avviando il computer normalmente, le partizioni in questione, ossia (hd1, 0) e (hd1, 1), non vengono viste!!!

Sapete qual'è la cosa "comica"? E' che lasciando il grub.conf di partenza, quello con hd0 al posto di hd1 le cose funzionano?!.. Robba da matti!!!

Secondo voi posso ignorare bellamente questo problema, oppure devo preoccuparmi? Avete una spiegazione? Perchè grub è impazzito???

----------

## cloc3

 *C4RD0Z4 wrote:*   

> 
> 
> Sapete qual'è la cosa "comica"? E' che lasciando il grub.conf di partenza, quello con hd0 al posto di hd1 le cose funzionano?!.. Robba da matti!!!
> 
> Secondo voi posso ignorare bellamente questo problema, oppure devo preoccuparmi? Avete una spiegazione? Perchè grub è impazzito???

 

 :Shocked: 

saranno affari suoi?

lui vede prima il disco ide e lo chiama 0, poi il sata e lo chiama 1.

a te, che ti importa?

se vuoi cambia scheda madre, ma lascia stare grub.

----------

## C4RD0Z4

si ma non è "coerente" con le sue scelte... Ma come è possibile che le vede nel modo sbagliato solo in fase di installazione nel MBR???

----------

## X-Drum

 *C4RD0Z4 wrote:*   

> Avete una spiegazione? Perchè grub è impazzito???

 

grub utilizza un ottimo sistema imho per elencare i dischi, il problema è che se

il bios della tua macchina considera come primo dispositivo/disco

il disco connesso come primary master su bus IDE, ovviamente grub

si attiene a quanto riportato dal bios.

Non è nulla di grave, tuttavia se per te è fastidioso tale comportamento,

c'è un modo per "ingannare" e forzare la visione che grub ha dei dischi

cerca sul forum!

----------

## Ic3M4n

devi dare un

```
 Map (hd0) (hd1)

Map (hd1) (hd0)
```

almeno... a memoria.

----------

## Scen

 *Ic3M4n wrote:*   

> devi dare un
> 
> ```
> Map (hd0) (hd1)
> 
> ...

 

Confermo  :Cool: 

----------

## C4RD0Z4

Facciamo il punto della situazione: grub si attiene alle informazioni estratte dal BIOS per "elencare" le partizioni, giusto? Quindi dal BIOS, c'è un primary master (il disco SATA, in cui c'è linux) e un primary slave (il disco IDE); se ho capito bene, però, per il BIOS, verrebbe prima l'IDE che il SATA, giusto?

Allora perchè nel grub.conf la configurazione si inverte?

----------

## X-Drum

 *C4RD0Z4 wrote:*   

> Facciamo il punto della situazione: grub si attiene alle informazioni estratte dal BIOS per "elencare" le partizioni, giusto? 
> 
> 

 

non partizioni, si parlava di dischi.

 *C4RD0Z4 wrote:*   

> 
> 
> Quindi dal BIOS, c'è un primary master (il disco SATA, in cui c'è linux) e un primary slave (il disco IDE); se ho capito bene, però, per il BIOS, verrebbe prima l'IDE che il SATA, giusto?
> 
> Allora perchè nel grub.conf la configurazione si inverte?

 

Credo di non essermi spiegato bene

il bios della motherboard vede i Sata come Sata1,Sata2,..,SataN

Primary Master, Primary Slave, ecc di solito sono attributi associati ai dischi IDE,

il problema è che ogni produttore di motherboard usa le sue convenzioni

ed offre le sue soluzioni, su alcune motherboard è presente ad esempio una sorta di "emulazione IDE"

per consentire al bios di identificare ad esempio un Sata1 come Primary Master,

altri produttori se ne infischiano allegramente e fanno comunque identificare i sata dopo gli ide,

altri ancora danno precedenza ai sata rispetto agli ide se connessi, e cosi via ognuno di noi

potrebbe riportare esperienze differenti.

grub non inverte nulla, legge i dischi nell'esatto ordine in cui il bios li considera

----------

## C4RD0Z4

ok, quindi alla fine è la motherboard che usa strane convenzioni.

Però perchè c'è questa "disparità" di trattamento? Perchè un disco sul grub.conf viene identificato come (hd0), mentre al momento dell'installazione di grub nel MBR viene identificato con (hd1)?

Vorrei aggiungere una cosa. Io avevo già installato una volta Gentoo su questo harddisk SATA, però mi ricordo perfettamente che problemi di questo tipo non ce ne sono stati affatto. Può dipendere dal fatto che il disco IDE non era collegato?

----------

## X-Drum

 *C4RD0Z4 wrote:*   

> ok, quindi alla fine è la motherboard che usa strane convenzioni.
> 
> Però perchè c'è questa "disparità" di trattamento? Perchè un disco sul grub.conf viene identificato come (hd0), mentre al momento dell'installazione di grub nel MBR viene identificato con (hd1)?
> 
> 

 

la butto li, perche magari non avevi montato nel chroot la dev?

 *C4RD0Z4 wrote:*   

> 
> 
> Vorrei aggiungere una cosa. Io avevo già installato una volta Gentoo su questo harddisk SATA, però mi ricordo perfettamente che problemi di questo tipo non ce ne sono stati affatto. Può dipendere dal fatto che il disco IDE non era collegato?

 

ovviamente dipende da quello, se non è connesso:

-il bios non lo vede

-grub non lo vede

----------

## alain-elkann

A quanto pare, però, grub sembrà fare confusione. Da quanto ho appena detto devo installare grub nel MBR di (hd0), cioè /dev/sda, ma grub fa confusione in fase di installazione, considerando /dev/sda come (hd1) e /dev/hdb come(hd0) (me ne sono accorto grazie alla funzione di completamento automatico della shell di grub, nella installazione manuale). Ho subito pensato che ci fosse qualcosa che no andava. Ma c'è di più.

Preso atto di questo scambio, ho pensato bene di modificare il grub.conf di conseguenza, cambiando

 *Quote:*   

> title Gentoo GNU/Linux 2.6.17-r8
> 
> root (hd0,1)
> 
> kernel /boot/linux-2.6.17-gentoo-r8 root=/dev/sda6
> ...

 

in

 *Quote:*   

> title Gentoo GNU/Linux 2.6.17-r8
> 
> root (hd1,1)
> 
> kernel /boot/linux-2.6.17-gentoo-r8 root=/dev/sda6
> ...

 

C4  

(hdo) equivale al MBR, dove presumibilmente c'è il settore d'avvio di XP;

dovresti installare invece, grub sul settore d'avvio della prima partizione (e cioè /boot - dev/sda1 credo), in modo da avere XP sull'MBR e gentoo su /boot

grub non ha fatto nessuna confusione, in quanto secondo la propria semantica, grub considera i dischi IDE come aventi sempre un numero inferiore dei SATA/SCSI;

----------

