Si le noyau de Linux d�tecte la pr�sence d'un gestionnaire de disque sur un
disque dur IDE, il va essayer de recartographier le disque de la m�me
mani�re que l'aurait fait le gestionnaire de disque, comme �a Linux voit le
m�me partitionnement pour, par exemple, DOS avec OnTrack ou EZ-Drive.
Cependant, AUCUNE recartographie n'est effectu�e quand une g�om�trie a �t�
pass�e en ligne de commande -- donc une option de la ligne de commande comme
'hd=
cyls,
t�tes,
secs' peut tr�s bien briser
la compatibilit� avec un gestionnaire de disque.
Si vous �tes touch� par ce probl�me et que vous connaissez quelqu'un qui peut
compiler pour vous un nouveau noyau, trouvez le fichier linux/drivers/block/ide.c
et supprimez, dans la routine ide_xlate_1024()
, le test
if (drive->forced_geom) { ...; return 0; }
.
La nouvelle cartographie est obtenue en essayant les valeurs 4, 8, 16, 32, 64, 128, 255 pour le nombre de t�tes (H×C reste constant) jusqu'� ce que C <= 1024 ou que H=255.
Ci-dessous les d�tails -- les titres des sous-sections sont les messages qui apparaissent dans les diff�rents messages de d�marrage. Ici et partout ailleurs dans ce texte, les types des partitions sont donn�s en hexad�cimal.
EZ-Drive est d�tect� par le fait que le type de la premi�re partition primaire
est 55. La g�om�trie est recartographi�e comme d�crit ci-dessus et la table
des partitions du secteur 0 est supprim�e -- � la place, la table des
partitions est celle lue sur le secteur 1. Le nombre de blocs du disque n'est
pas chang�, mais les �critures sur le secteur 0 sont redirig�es vers le
secteur 1. Ce comportement peut �tre modifi� en recompilant le noyau
avec #define FAKE_FDISK_FOR_EZDRIVE 0
dans ide.c
.
OnTrack DiskManager (sur le premier disque dur) est d�tect� gr�ce au type 54 de la premi�re partition primaire. La g�om�trie est recartographi�e comme d�crit ci-dessus et la totalit� du disque est d�cal�e de 63 secteurs (comme �a, l'ancien secteur 63 devient le num�ro 0). Ensuite un nouveau MBR (avec une table des partitions) est lu depuis le nouveau secteur 0. Bien s�r ce d�calage a pour but de lib�rer de la place pour le DD0 -- c'est pourquoi il n'y a pas de d�calage sur les autres disques durs.
OnTrack DiskManager (sur les autres disques durs) est d�tect� gr�ce au type 51 ou 53 de la premi�re partition primaire. La g�om�trie est recartographi�e comme d�crit ci-dessus.
Une version plus ancienne de OnTrack DiskManager n'est pas d�tect�e
gr�ce au type de partition, mais par signature. (Un test est effectu�
pour savoir si la valeur de d�calage trouv�e dans les octets 2 et 3 du MBR
n'est pas sup�rieure � 430 et si le short
trouv� � cette valeur de
d�calage est �gal � 0x55AA et qu'il est suivi par un octet impair.) Une fois
encore, la g�om�trie est recartographi�e comme d�crit ci-dessus.
Finalement, il y a un test qui tente de d�duire une conversion � partir des
valeurs start
et end
de la partition primaire : si n'importe quelle
partition a comme secteurs de d�but et de fin respectivement 1 et 63 et
comme dernier num�ro de t�te 31, 63, 127 ou 254, alors, � partir du
moment o� il est habituel de terminer des partitions sur une limite de
secteur et qui plus est depuis que l'interface IDE utilise au plus 16
t�tes, il est suppos� qu'une conversion du BIOS est active et la
g�om�trie est recartographi�e pour utiliser respectivement 32, 64, 128 ou 255
t�tes.
Cependant, le disque n'est pas recartographi� quand la vision actuelle de la
g�om�trie a d�j� 63 secteurs par piste et au moins autant de t�tes (cela
signifie sans doute qu'il a d�j� �t� recartographi�).
Quand Linux d�tecte le gestionnaire de disque Ontrack Disk Manager il
d�cale tous les acc�s disques de 63 secteurs. De la m�me mani�re, si Linux
d�tecte EZ-Drive, tous les acc�s au secteur 0 seront d�cal�s au secteur 1.
Cela signifie qu'il peut s'av�rer difficile de se d�barasse de ces gestionnaires
de disque. La plupart de ces gestionnaires ont une option de d�sinstallation,
mais si vous avez besoin de supprimer un gestionnaire de disque, une approche
peut �tre de donner explicitement une g�om�trie de disque sur la ligne de
commande. De ce fait Linux saute la routine ide_xlate_1024()
et il est
du coup possible de supprimer la table des partitions ainsi que le gestionnaire
de disque (rendant l'acc�s � toutes les donn�es impossible) avec la commande
dd if=/dev/zero of=/dev/hdx bs=512 count=1
Les d�tails d�pendent du num�ro de version mineur du noyau.
Les noyaux r�cents (depuis le 2.3.21) reconanissen les param�tres de d�marrage
tels que hda=remap
et hdb=noremap
. Il est alors possible de
conserver ou d'�viter le d�calage d� � EZD sans se soucier de ce qui est dans la
table des partitions. Le param�tre de d�marrage hdX=noremap
permet
�galement d'�viter le d�calage d� au gestionnaire
Ontrack Disk Manager.Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:42