Re: Warning: a geometry of <bla> for ad0 is incorrect

From: Bernd Walter <ticso(at)cicely12.cicely.de>
Date: Wed, 6 Oct 2004 04:37:00 +0200

On Wed, Oct 06, 2004 at 12:00:39PM +1000, Peter Ross wrote:
> Hi,
>
> Bernd Walter wrote:
> > Das Problem kommt immer dann zustande, wenn die in der Partitions-
> > tabelle vorhandenen Daten nicht mit der Festplatte übereinstimmen
> > können, z.B. wenn die mehr Platz angeben als die Platte tatsächlich
> > hat.
>
> Eine SCSI-Platte kennt eigentlich gar keine Koepfe, Zylinder und Sektoren.

Eine IDE Platte auch nicht - selbst bei antiken IDE Platten.
Denoch braucht dieses PC Dreckzeugs eine umsetzung für die fdisk
Tabelle - und die sollte zu der Platte passen.

> Vor kurzem hatte ich einen SANsymphony Server, der, wenn ich Multipath
> benutzte, die LUN mit ca. 100000 Sektoren praesentierte. SuSE Linux
> Enterprise 8.0 fdisk und cfdisk konnten damit nicht umgehen (es sah so
> aus, als koennte ich die Partitionen einrichten, aber das Schreiben ging
> daneben), erst sfdisk war erfolgreich (gut, dass das Fahrrad mal wieder
> dreimal erfunden wurde..)

Ist bei der Größe auch nicht ganz einfach, da man mal wieder über PC
Kompatibilitätskrücken stolpert...

> > Genau - das ist ein Bug - und zwar in der Software, die die Festplatte
> > ursprünglich falsch eingerichtet hat.
> > Da das offensichtlich nur Leuten passiert, die Multiboot Systeme
> > betreiben wollen kann man wohl davon ausgehen, dass es ein Bug in einem
> > anderen OS ist.
> > Die Lösung ist die Geometriedaten in der fdisk Tabelle zu korigieren,
> > womit man aber auch alle Partitionen neu einrichten muss.
> > Man kann nur manuelle Daten akzeptieren wenn es noch keine anderen
> > eingesetzt wurden.
>
> Warum? Man kann doch sagen, wenn Windows eXPired nicht 64x8x256, wie die
> Platte sagt, sondern 8x32x512 in die Partitionstabelle geschrieben hat,
> dann nimmt eben auch FreeBSD den Weg (der Plattenplatz ist ja der gleiche)

Weil ein PC BIOS bei der Plattengröße eine LBA spezifizierte Umsetzung
macht und die ist nicht zufällig.
Nach LBA verfahren sind beide Varianten falsch - SCSI BIOS machen
oftmals andere Umsetzungen.
FreeBSD nimmt die Daten der aktuell vorliegenden Tabelle, aber wenn die
Tabelle sich z.B. mit der Plattengröße beist dann wird FreeBSD meckern.
Wenn es sich mit der LBA Umsetzung widerspricht wird es dich nur
Informieren.

> Letztendlich schert sich doch sowieso kein modernes OS um die BIOS-Daten,
> warum also darum kuemmmern?

Doch natürlich die Partitionstabelle ist danach aufgebaut und das sind
nun mal die BIOS Daten - ob es einem passt oder nicht.
Wenn du die ignorierst dann verstehst du die Partitionsgrenzen nicht.
Außerdem bootet FreeBSD bis zum start des Kernel mit mehreren
Zwischenlayern mit Hilfe des BIOS.
Und wenn das BIOS eine andere Vorstellung hat als die Platte
partitioniert wurde, dann macht das BIOS Mist, weil das BIOS in der
Regel seine eigenen Vorstellungen durchsetzt - egal wie Partitioniert
wurde.
Erst auf IA64 Systemen werden Sektornummern zum Partitionieren
verwended - tolle Leistung: Alphas booten seit anbegin komplett ohne
was von Partitionen verstehen zu müssen und auch ohne Limit auf
zukünftige Plattengrößen...

> > FreeBSD-5 kann das dank der neuen Features, die mit GEOM reingekommen
> > sind, sehr gut abfangen, während FreeBSD4 das leider nicht kann.
>
> Haette es denn einen Weg gegeben, um FreeBSD 5.2.1 neben Windows XP zu
> installieren? (Fedora Core 2 nahm wohl die Daten aus der Partitionstabelle
> , es laeuft als zweites OS auf dem IBM ThinkPad T40) Das Aendern der
> Geometrie im sysinstall war offentlich nicht der richtige Weg..)

Keine Ahnung - ich habe hier kein Windows und da ich in der Regel
Server baue habe ich eh nicht viel mit Dual Boot zu tun.

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd(at)bwct.de                                  info(at)bwct.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 06 Oct 2004 - 04:38:08 CEST

search this site