Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Géométrie disque / FreeBSD 6.1

6 réponses
Avatar
Cyrille Szymanski
Bonjour,

je viens d'installer FreeBSD 6.1-RELEASE sur un (vieux) desktop Dell que
j'ai doté d'un nouveau disque Deskstar 160Go PATA.

Le programme d'install bute sur la géométrie détectée 319120/16/63 et me
propose 20023/255/63. L'installation se poursuit normalement mais
j'obtiens un "No /boot/loader" et un freeze sur "mountroot>" sur
différentes install. J'ai donc pensé à un problème de géométrie,
effectivement 20023/255/63 != 319120/16/63.

J'ai donc utilisé une géométrie arbitraire de 39890/128/63 équivalente à
la géométrie réelle et maintenant tout semble fonctionner correctement.

Comment choisir la bonne géométrie à utiliser ? Pourquoi fdisk m'a
proposé une géométrie qui ne fonctionne pas ?


******* Working on device /dev/ad0 *******
parameters extracted from in-core disklabel are:
cylinders=319120 heads=16 sectors/track=63 (1008 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=319120 heads=16 sectors/track=63 (1008 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:

The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 63, size 321672897 (157066 Meg), flag 80 (active)
beg: cyl 0/ head 1/ sector 1;
end: cyl 1023/ head 127/ sector 63


Le seul risque que je vois c'est que le BIOS croit que seule une petite
partie du disque est utilisée (4 Go) alors qu'en fait FreeBSD utilise
tout, ce qui pourrait poser problème si j'utilisais plusieurs partitions.


Merci pour votre aide.

--
Cyrille Szymanski

PS : Le BIOS du système (que je viens de mettre à jour) ne me permet pas
d'obtenir la géométrie du disque ni de régler le LBA. Il se contente de
me proposer un mode "Auto" et indique une taille max de 64 Go. Je viens
d'acheter un disque Deskstar de 160 Go.

6 réponses

Avatar
Cyrille Szymanski
Cyrille Szymanski wrote in
news::

J'ai donc utilisé une géométrie arbitraire de 39890/128/63 équivalente
à la géométrie réelle et maintenant tout semble fonctionner
correctement.

Comment choisir la bonne géométrie à utiliser ? Pourquoi fdisk m'a
proposé une géométrie qui ne fonctionne pas ?


Plus simplement pourquoi on se trimballe encore cette vieillerie de
géométrie CHS alors que de toute évidence le disque fonctionnera en mode
LBA ? C'est utilisé autrement qu'à titre indicatif par FreeBSD ?

--
Cyrille Szymanski

Avatar
Cyrille Szymanski
Bonjour,

Je repose ma question, peut-être j'aurai un peu plus de chance cette
semaine.

1. A quoi servent les infos CHS ? Le disque est un IDE et va fonctionner en
LBA.

2. Le bios (trop vieux) ne me donne pas la géométrie du disque (et est soi-
disant limité à 64 Go), fdisk en détecte une qui ne fonctionne pas (freeze
au reboot après l'install), alors j'ai mis arbitrairement 39890/128/63 pour
avoir un nombre de secteurs équivalent à ce qui est marqué sur le boîtier
du disque. Quels risques je prends ?

3. Le réglage actuel a l'air de fonctionner correctement. Quelqu'un a-t-il
une explication ?

Merci pour vos réponses.
--
Cyrille Szymanski
Avatar
talon
Cyrille Szymanski wrote:
Bonjour,

Je repose ma question, peut-être j'aurai un peu plus de chance cette
semaine.

1. A quoi servent les infos CHS ? Le disque est un IDE et va fonctionner en
LBA.


A rien, si le PC est suffisamment récent, c'est à dire si le BIOS supporte
l'adressage linéaire : "va chercher tel numéro de bloc". Pour activer ce mode
avec booteasy (le boot loader de FreeBSD) il faut activer l'option "packet"
dans boot0cfg. C'est le "mode linéaire" dans LILO et je crois que grub ne
connaît que ce mode.


2. Le bios (trop vieux) ne me donne pas la géométrie du disque (et est soi-
disant limité à 64 Go), fdisk en détecte une qui ne fonctionne pas (freeze
au reboot après l'install), alors j'ai mis arbitrairement 39890/128/63 pour
avoir un nombre de secteurs équivalent à ce qui est marqué sur le boîtier
du disque. Quels risques je prends ?


Le risque n'existe, je crois que si tu dual bootes avec une version de Windows
supportant le mode CHS, c'est à dire jusqu'à Win98. Je crois que WinXP utilise
aussi le mode linéaire. Celà étant, si tu veux un mode CHS qui fonctionne à la
fois pour le BIOS, pour DOS, pour FreeBSD, etc. il y a des contraintes sur
le nombre maximal de têtes et de secteurs. J'avais trouvé un document trés
bien là dessus. Il me semble me souvenir que j'avais réglé mon disque en
fonction de ça. Toujours est-il que voici comment il apparaît sous le fdisk
de linux (c'est le port linuxfdisk)
tulipe# fdisk-linux -l /dev/ad0

Disk /dev/ad0: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/ad0s1 1 4985 40041981 7 HPFS/NTFS
/dev/ad0s2 4986 6374 11157142+ c Win95 FAT32 (LBA)
/dev/ad0s3 6375 8441 16603177+ 5 Extended
/dev/ad0s4 * 8442 9729 10345860 a5 FreeBSD
/dev/ad0s5 6375 6496 979933+ 82 Linux swap
/dev/ad0s6 6497 8441 15623181 83 Linux

Je crois que le limite qui va bien est effectivement 255 têtes et 63 secteurs
par piste. Evidemment le fdisk de freebsd donne des indications délirantes,
c'est une bouse totale.

tulipe# fdisk ad0
******* Working on device /dev/ad0 *******
parameters extracted from in-core disklabel are:
cylinders5061 heads sectors/trackc (1008 blks/cyl)




3. Le réglage actuel a l'air de fonctionner correctement. Quelqu'un a-t-il
une explication ?


Probablement que tout marche en mode linéaire.


Merci pour vos réponses.


--

Michel TALON

Avatar
Cyrille Szymanski
(Michel Talon) wrote in
news:e5bubl$5e7$:

Le risque n'existe, je crois que si tu dual bootes avec une version de
Windows supportant le mode CHS, c'est à dire jusqu'à Win98.


fdisk :

parameters extracted from in-core disklabel are:
cylinders19120 heads sectors/trackc (1008 blks/cyl)

The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 63, size 321672897 (157066 Meg), flag 80 (active)
beg: cyl 0/ head 1/ sector 1;
end: cyl 1023/ head 127/ sector 63

Donc oui on dirait qu'il y a danger car les autres os croient que le
disque n'est presque pas utilisé.

D'ailleurs quand on fait un "Use all disk" sous FreeBSD ça crée une
partition qui occupe tout le disque, alors que sous NetBSD il me semble
que ça ne crée même pas de table de partition et que ça installe l'OS sur
tout le disque juste après le MBR.


Disk /dev/ad0: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders


= 156 296 385 secteurs

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/ad0s1 1 4985 40041981 7 HPFS/NTFS
/dev/ad0s2 4986 6374 11157142+ c Win95 FAT32 (LBA)
/dev/ad0s3 6375 8441 16603177+ 5 Extended
/dev/ad0s4 * 8442 9729 10345860 a5 FreeBSD
/dev/ad0s5 6375 6496 979933+ 82 Linux swap
/dev/ad0s6 6497 8441 15623181 83 Linux


Il te reste de la place à la fin du disque.

Evidemment le fdisk de freebsd donne des
indications délirantes, c'est une bouse totale.

tulipe# fdisk ad0
******* Working on device /dev/ad0 *******
parameters extracted from in-core disklabel are:
cylinders5061 heads sectors/trackc (1008 blks/cyl)


= 156 301 488 secteurs, c'est plus grand que ce que renvoie linux-fdisk.

Je crois que le limite qui va bien est effectivement 255 têtes et 63
secteurs par piste.


J'ai vu une histoire comme quoi h et s/tc ça engendrait un nombre
trop important de cylindres et ça dépassait la capacité de l'entier, du
coup les gens ont commencé à transformer ça en h%5, s/tc pour réduire
le nombre de cylindres. Mais de toute façon la limite quand-même été
atteinte.


Merci pour ces précisions,
--
Cyrille Szymanski

Avatar
talon
Cyrille Szymanski wrote:
(Michel Talon) wrote in
news:e5bubl$5e7$:

Le risque n'existe, je crois que si tu dual bootes avec une version de
Windows supportant le mode CHS, c'est à dire jusqu'à Win98.


fdisk :

parameters extracted from in-core disklabel are:
cylinders19120 heads sectors/trackc (1008 blks/cyl)

The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 63, size 321672897 (157066 Meg), flag 80 (active)
beg: cyl 0/ head 1/ sector 1;
end: cyl 1023/ head 127/ sector 63


Je crois que le nombre de cylindres ne peut pas dépasser 1024
donc FreeBSD met systématiquement ce genre de choses quand il est plus grand.
Ca n'a pas d'importance si tous les systèmes utilisent le mode linéaire, ce
qui est le cas des systèmes modernes, ils ne regardent jamais le C/H/S.


D'ailleurs quand on fait un "Use all disk" sous FreeBSD ça crée une
partition qui occupe tout le disque, alors que sous NetBSD il me semble
que ça ne crée même pas de table de partition et que ça installe l'OS sur
tout le disque juste après le MBR.


C'est ce que FreeBSD appelle le mode "dangerously dedicated" il y a une
commande cachée dans l'installeur pour l'activer, pour ça il faut lire les
helps. Il paraît que certains BIOS plantent sur ce mode, d'où la terminologie.



Device Boot Start End Blocks Id System
/dev/ad0s1 1 4985 40041981 7 HPFS/NTFS
/dev/ad0s2 4986 6374 11157142+ c Win95 FAT32 (LBA)
/dev/ad0s3 6375 8441 16603177+ 5 Extended
/dev/ad0s4 * 8442 9729 10345860 a5 FreeBSD
/dev/ad0s5 6375 6496 979933+ 82 Linux swap
/dev/ad0s6 6497 8441 15623181 83 Linux


Il te reste de la place à la fin du disque.


Oui mais c'est pas une grande perte. Par contre j'ai regagné de la place en
déclarant ma partition swap de Linux que tu vois ci-dessus comme partition
swap de FreeBSD. Voilà comment est le fstab:

/dev/ad0s4a / ufs rw 1 1
/dev/cd0 /cdrom cd9660 ro,noauto 0 0
/dev/cd1 /cdrom1 cd9660 ro,noauto 0 0
/dev/ad0s5 none swap sw 0 0
/dev/ad0s6 /Linux reiserfs ro 0 0
/dev/ad0s1 /WinXP ntfs ro 0 0
/dev/ad0s2 /DOS msdos rw 0 0
/dev/da0s4 /ZIP msdos rw,noauto 0 0
proc /proc procfs rw 0 0
linproc /compat/linux/proc linprocfs rw 0 0

Comme tu peux voir ça marche parfaitement bien, il n'y a aucun besoin qu'une
partition porte un disklabel pour héberger un swap.


J'ai vu une histoire comme quoi h et s/tc ça engendrait un nombre
trop important de cylindres et ça dépassait la capacité de l'entier, du
coup les gens ont commencé à transformer ça en h%5, s/tc pour réduire
le nombre de cylindres. Mais de toute façon la limite quand-même été
atteinte.


Oui, mais c'est la seule combinaison qui est compatible entre BIOS, Dos,
etc. d'aprés l'article que j'avais lu. Je ne le retrouve plus, mais j'ai
trouvé ça:
http://www.monkey.org/openbsd/archive/misc/9907/msg00511.html
comme tu peux voir il y a plusieurs raisons qui donnent plusieurs limitations
différentes et quand tu dois prendre l'intersection il ne reste plus grand
chose ...

--

Michel TALON


Avatar
Cyrille Szymanski
(Michel Talon) wrote in
news:e5fol8$1cq8$:

Par contre j'ai regagné de la place en déclarant ma partition swap de
Linux que tu vois ci-dessus comme partition swap de FreeBSD.

Comme tu peux voir ça marche parfaitement bien, il n'y a aucun besoin
qu'une partition porte un disklabel pour héberger un swap.


Ah oui c'est pas mal comme méthode ça.

http://www.monkey.org/openbsd/archive/misc/9907/msg00511.html


Aïe ça fait vraiment peur ça, je rajoute ça a ma liste de preuves que
l'architecture PC c'est vraiment de la daube.

--
Cyrille Szymanski