Pagina 1 di 1

[Grub] Error 18 (pc con 2 hard disk, XP, FreeBSD e Ubuntu)

Inviato: sabato 8 agosto 2009, 13:06
da flattit82
Salve ragazzi,

il disco PATA dev/sdb da 160GB è così organizzato:

- partizione primaria dev/sdb1 NTFS da 37GB con sopra Windows XP
- partizione primaria dev/sdb2 NTFS da 96GB per i dati
- partizione primaria dev/sdb3 FreeBSD 16GB con sopra FreeBSD 7.2

il disco SATA dev/sda da 250Gb è così organizzato:

- partizione primaria dev/sda1 NTFS da 100GB per i dati
- partizione primaria dev/sda2 NTFS da 117GB per i dati
- partizione estesa dev/sda3 da 16GB con sopra Ubuntu 9.04 (Swap + / di tipo rispettivamente linux-swap e ext4)

Ordine di installazione dei SO:
1) ho installato XP;
2) ho installato Ubuntu;
3) ho testato Grub verificando che avviava correttamente sia XP sia Ubuntu;
4) ho installato FreeBSD indicando di non toccare l'MBR;
5) ho aggiunto al file /boot/grub/menu.lst di GRUB le seguenti righe per avviare FreeBSD:

Codice: Seleziona tutto

title FreeBSD 7.2
root (hd1,2,a)
kernel /boot/loader
6) ho testato se Grub avviava FreeBSD ottenendo "Error 18: Selected cylinder exceeds maximum supported by BIOS";
7) XP e Ubuntu continuano ad avviarsi senza problemi.

Qualcuno ha idea di come potrei risolvere il problema? Grazie in anticipo a chi mi darà dei suggerimenti.
Buon fine settimana a tutti,

Federico

Re: [Grub] Error 18 (pc con 2 hard disk, XP, FreeBSD e Ubuntu)

Inviato: sabato 8 agosto 2009, 13:15
da jerico
di solito quell'errore lo danno i bios vecchi e la soluzione è creare una /boot separata e piccolina.
però dato che ubuntu e xp partono non so.... mi posti il menu di grub di freebsd? (sempre che ce l'abbia)

Re: [Grub] Error 18 (pc con 2 hard disk, XP, FreeBSD e Ubuntu)

Inviato: sabato 8 agosto 2009, 13:38
da patel
se Ubuntu funziona (piazzato dopo 220 Gb) l'errore 18 è un falso errore, però preferirei vedere un

Codice: Seleziona tutto

sudo fdisk -l

Re: [Grub] Error 18 (pc con 2 hard disk, XP, FreeBSD e Ubuntu)

Inviato: sabato 8 agosto 2009, 13:44
da andrea111
title FreeBSD 7.2
root (hd1,2,a)
kernel /boot/loader
a naso penso debba essere così

Codice: Seleziona tutto

title FreeBSD 7.2
root (hd1,c)
kernel /boot/loader
boot
(però non so nulla di FreeBSD).

Re: [Grub] Error 18 (pc con 2 hard disk, XP, FreeBSD e Ubuntu)

Inviato: sabato 8 agosto 2009, 14:04
da flattit82
Grazie per le risposte,

jerico
potresti spiegarti meglio circa il menu di Grub di FreeBSD, per favore?

patel
ecco l'output di fdisk

Codice: Seleziona tutto

Disco /dev/sda: 250.0 GB, 250059350016 byte
255 testine, 63 settori/tracce, 30401 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Identificativo disco: 0x2de72de6

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       13055   104864256    7  HPFS/NTFS
/dev/sda2           13056       28313   122559885    7  HPFS/NTFS
/dev/sda3           28314       30401    16771860    5  Esteso
/dev/sda5           28314       28574     2096451   82  Linux swap / Solaris
/dev/sda6           28575       30401    14675346   83  Linux

Disco /dev/sdb: 160.0 GB, 160041885696 byte
16 testine, 63 settori/tracce, 310101 cilindri
Unità = cilindri di 1008 * 512 = 516096 byte
Identificativo disco: 0xe8fde8fd

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1       77520    39070048+   7  HPFS/NTFS
/dev/sdb2           77521      276874   100474416    7  HPFS/NTFS
/dev/sdb3          276875      310101    16746408   a5  FreeBSD
andrea111
provo la soluzione che mi hai proposto e ti faccio sapere quanto prima.

Una domanda.
Cosa significa il flag "Boot" settato per una partizione?
E' giusto che partizioni senza sistema operativo come la dev/sda1 ce l'abbiano settato?

Grazie e a presto!

F.

Re: [Grub] Error 18 (pc con 2 hard disk, XP, FreeBSD e Ubuntu)

Inviato: sabato 8 agosto 2009, 14:08
da jerico
in ubuntu il file di configurazione di grub è il menu.lst e si trova in /bot/grub/
per freebsd non so dove sia.
mi posti anche il contenuto di /boot di freebsd?

Re: [Grub] Error 18 (pc con 2 hard disk, XP, FreeBSD e Ubuntu)

Inviato: sabato 8 agosto 2009, 14:17
da patel
fdisk conferma che Ubuntu si trova più lontano di Freebsd, quindi l'errore è dovuto a

Codice: Seleziona tutto

title FreeBSD 7.2
root (hd1,2,a)
kernel /boot/loader
prova magari root (hd1,2)

Re: [Grub] Error 18 (pc con 2 hard disk, XP, FreeBSD e Ubuntu)

Inviato: sabato 8 agosto 2009, 14:36
da flattit82
jerico
Scusa l'ignoranza... mi puoi dire come leggere il contenuto di /boot/ di FreeBSD?
Al momento, forse non si è capito  :), FreeBSD non riesco ad avviarlo.

patel
Ubuntu e FreeBSD stanno in fondo a due dischi diversi. Che significa che uno è più lontano dell'altro?

andrea111
Grazie per la buona volontà ma la soluzione che mi hai proposto non funziona.

Su, coraggio ragazzi!

F.

Re: [Grub] Error 18 (pc con 2 hard disk, XP, FreeBSD e Ubuntu)

Inviato: sabato 8 agosto 2009, 14:47
da patel
l'errore 18 si ottiene quando il bios non riesce a bootare un sistema troppo lontano dall'inizio del disco.
Però ho fatto confusione con i numeri di inizio partizione, non riesco a capire perché Ubuntu installato dopo 225 Gb funziona e freebsd installato dopo 140 Gb non funziona.
Per risolvere devi creare una partizione di boot da 100 Mb all'inizio del disco da 160.
Non so se ne vale la pena.

Re: [Grub] Error 18 (pc con 2 hard disk, XP, FreeBSD e Ubuntu)

Inviato: sabato 8 agosto 2009, 15:05
da flattit82
patel
Il disco da 160GB copre la sua dimensione con ca. 300 mila cilindri mentre il disco da la 250GB copre con ca. 30 mila cilindri.
Una proporzione di 10 a 1.
Sarà giusto allora misurare la "distanza" in termini di cilindri?
Secondo la tua ipotesi dovrei allora installare FreeBSD a partire da un cilindro iniziale <= di quello iniziale di Ubuntu?

A me basterebbe di far partire FreeBSD anche da dischetto, penna USB o CD. C'è un modo per fare ciò? Dopotutto FreeBSD dovrebbe essere installato correttamente... è solo che non riesco ad avviarlo.

F.

Re: [Grub] Error 18 (pc con 2 hard disk, XP, FreeBSD e Ubuntu)

Inviato: sabato 8 agosto 2009, 15:09
da andrea111
Si tratta di interpretare correttamente questa roba (dal manuale di Grub)
    # For booting FreeBSD
    title  FreeBSD
    root   (hd0,2,a)
    kernel /boot/loader

This item will boot FreeBSD kernel loaded from the `a' partition of the third pc slice (???che roba è) of the first hard disk.
13.3.31 root
” Command: root device [hdbias]

   Set the current root device to the device device, then attempt to mount it to get the partition size (for passing the partition descriptor in ES:ESI, used by some chain-loaded boot loaders), the BSD drive-type (for booting BSD kernels using their native boot format), and correctly determine the PC partition where a BSD sub-partition is located. The optional hdbias parameter is a number to tell a BSD kernel how many BIOS drive numbers are on controllers before the current one. For example, if there is an IDE disk and a SCSI disk, and your FreeBSD root partition is on the SCSI disk, then use a `1' for hdbias.
Quale è il "formato nativo di avviamento" del BSD? E poi la "sub-partition"?

@flattit82 sai qualcosa del BSD o sei completamente vergine (come me?)

Re: [Grub] Error 18 (pc con 2 hard disk, XP, FreeBSD e Ubuntu)

Inviato: sabato 8 agosto 2009, 15:52
da flattit82
andrea111
La slice è come un guscio (una partizione primaria) in cui sono contenute le label di FreeBSD che sarebbero /, swap, /var, /home, /usr e via dicendo.
Essendo Grub nato sotto Linux (Debian), per la sua configurazione, conta come Linux vede i dischi.
In base a ciò, tramite delle semplici regole, si determinano i valori da utilizzare per Grub.
P. es. per indicare (disco 1, partizione 2) a Grub si deve dire (hd0, 1)... in pratica si deve togliere 1 ai numeri d'ordine.
Nel mio caso FreeBSD è installato su (disco 2, parizione 3)... userò quindi (hd1, 2, a).
La "a" dovrebbe identificare la label (la numero 1 in questo caso) in cui è contenuto il codice di boot per FreeBSD.
Tutto questo è vero se non ho capito male leggendo in qua e là perché, ebbene sì, anche io sono nuovo di FreeBSD :)

F.

Re: [Grub] Error 18 (pc con 2 hard disk, XP, FreeBSD e Ubuntu)

Inviato: sabato 8 agosto 2009, 16:20
da andrea111
Nel Bios l'HD in questione è impostato come LBA o AUTO?

Se non lo è, impostalo in uno dei due modi.
Con l'LBA il problema del numero dei cilindri "dovrebbe" essere superato e quindi l'error 18 non dovrebbe più presentarsi (sempre se il BIOS lo supporta).
Una domanda.
Cosa significa il flag "Boot" settato per una partizione?
È lì solo per retrocompatibilità con i primi SO Windows. I sistemi Win recenti e Linux lo ignorano.

Re: [Grub] Error 18 (pc con 2 hard disk, XP, FreeBSD e Ubuntu)

Inviato: sabato 8 agosto 2009, 19:09
da patel
flattit82 ha scritto: Secondo la tua ipotesi dovrei allora installare FreeBSD a partire da un cilindro iniziale <= di quello iniziale di Ubuntu?
Non è una ipotesi, lo dice il manuale del grub

Codice: Seleziona tutto

error 18 : Selected cylinder exceeds maximum supported by BIOS
    This error is returned when a read is attempted at a linear block address beyond the end of the BIOS translated area. This generally happens if your disk is larger than the BIOS can handle (512MB for (E)IDE disks on older machines or larger than 8GB in general).