Noyau Linux – ne peut pas accéder à sda16 & sda17

Je ne peux pas accéder à sda16 sda17 et les partitions supérieures de mon linux. Ce linux est plutôt debian (très ancien); Noyau 2.6.23. Donc, je sais que l'ancien noyau linux ne peut pas accéder à> 16 partitions sur un seul disque sata.

Quelle version du noyau devrais-je utiliser pour pouvoir accéder à sda16, sda17 etc.? Je souhaite mettre à jour uniquement un noyau, pas une distribution Linux complète.

PS. Il existe un noyau WindowsNT qui peut accéder et formater une partition 16, 17 ou supérieure, mais j'ai l'intention d'utiliser sda16 et sda17 à partir de linux (je veux Linux Kernel).

PPS: dmesg:

sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 sda9 sda10 sda11 sda12 sda13 sda14 sda15 > sd 2:0:0:0: [sda] Attached SCSI disk sd 4:0:0:0: [sdb] xxx 512-byte hardware sectors ... 

Donc, il n'y a pas de mappage de sda16, sda17, … à sdb. Sdb est le deuxième disque dur physique.

Je peux trop travailler sans changer de noyau et à monter avec décalage:

 $ fdisk -l -u /dev/sda Device Boot Start ... /dev/sda16 123456783 ... /dev/sda17 234567894 ... $ mount -o ro,offset=$[512*123456783] /dev/sda /mount/sda16 $ mount -o ro,offset=$[512*234567894] /dev/sda /mount/sda17 

Le problème provient du déplacement de SATA vers le sous-système SCSI. SCSI ne peut avoir que 15 partitions:

http://publib.boulder.ibm.com/infocenter/dsichelp/ds6000ic/topic/com.ibm.storage.smric.help.doc/f2c_linuxdevnaming_2hsag8.html – Nom du périphérique Linux

Par convention, les disques SCSI ont un maximum de 16 nombres mineurs mappés sur un seul disque. Ainsi, pour chaque disque entier, il existe un maximum de 15 partitions par disque car un petit nombre est utilisé pour décrire le disque entier (par exemple / dev / sda) et les 15 autres nombres mineurs sont utilisés pour désigner des partitions pour cela Disque (par exemple / dev / sda1, / dev / sda2, etc.).

Donc, il n'est pas possible de créer des blocs spéciaux pour les 16ème et mknod divisions à l'aide de mknod , car 16 mineurs seront le lecteur suivant, par exemple:

 # ls -l /dev/sda? /dev/sda?? /dev/sdb brw-rw---- 1 root disk 8, 0 May 24 08:09 /dev/sda brw-rw---- 1 root disk 8, 1 May 24 08:09 /dev/sda1 brw-rw---- 1 root disk 8, 2 May 24 08:09 /dev/sda2 ... brw-rw---- 1 root disk 8, 14 May 24 08:09 /dev/sda14 brw-rw---- 1 root disk 8, 15 May 24 08:09 /dev/sda15 brw-rw---- 1 root disk 8, 16 May 24 08:09 /dev/sdb 

La modification a été faite dans la version du noyau Linux vers 2.6.20, selon le thread http://forums.justlinux.com/showthread.php?149956-Howto-get-44-logical-partitions-out-of-a-SCSI- SATA-PATA-USB-disk – "Comment extraire 44 partitions logiques d'un disque SCSI / SATA / PATA / USB"

Un Linux utilisant le noyau 2.6.20 ou plus tard appelle chaque disque dur SCSI, Sata, Pata et USB par la même convention de dénomination, en utilisant les noms de disque sda, sdb, sdc, sdd, sde etc. Un maximum de 16 noms de périphériques est maintenant standard Pour chaque disque. Pour le premier disque sda, les 16 noms de périphériques sont sda et sda1 à sda15. Les sda1, sda2, sda3 et sda4 sont réservés en permanence aux 4 partitions primaires, même si certaines d'entre elles ne sont pas utilisées et les autres sda5 à sda15 sont 11 noms de partitions logiques.

Cela a été créé par "libata", qui implémente PATA / SATA sur le sous-système SCSI:

http://kernelnewbies.org/Linux_2_6_19#head-cdcbaa9c1b476decdc064e0a75d23d1328b1ddce

Libata PATA (Parallel ATA) fusion Par "Parallel ATA" on entend tous les contrôleurs ATA / IDE et les lecteurs que nous utilisons depuis des années avant SATA. Presque dès le départ, l'un des objectifs de certains pirates informatiques était de remplacer les pilotes IDE disponibles dans les drivers / ide (tout sous le menu de configuration «Pilotes de périphériques – ATA / ATAPI / MFM / RLL») avec une réinstallation en haut De libata (c'est-à-dire la "couche SATA"). … Cela signifie que 2.6.19 peut avoir deux pilotes pour votre périphérique PATA: l'ancien pilote IDE sous "Pilotes de périphériques -> Support ATA / ATAPI / MFM / RLL" et un pilote alternatif sous "Pilotes de périphériques -> Serial ATA (Prod) et Parallel ATA (expérimental) "(avec le reste des pilotes SATA)

Le problème était connu dès 2006: http://www.redhat.com/archives/rhl-list/2006-October/msg00218.html

  1. Le sous-système SCSI ne permet que 15 (je pense) des partitions sur un disque. Et avec les tables de partition de style standard MS-DOS, cela inclut toujours les quatre partitions principales. Donc, une première + onze partitions logiques est la limite.

  2. Le support libata pour les disques SATA utilise le sous-système SCSI et hérite des mêmes limitations.

  3. Le support libata pour IDE (= PATA) a été fusionné et devrait être disponible pour 2.6.19. Ce ne sera pas le jeu de pilotes par défaut , et il est très peu probable qu'il devienne par défaut au cours d' une version Fedora Core mais, compte tenu des objectifs et des ingénieurs de Fedora, je ne serais pas surpris de voir cela activé dans les noeuds Fedora officiels pour la version FC7 . (Si ce n'est pas le cas, FC8. Nous parlons probablement la prochaine année).

Lorsque libata support est activé pour IDE parallèle, les partitions existantes sur les périphériques IDE ci-dessus / dev / hdx15 deviendront impossibles à utiliser.