Différences entre / dev / sda et / dev / sda1


17

Je sais que / dev / sda est le périphérique brut et que / dev / sda1 est la partition ou le périphérique virtuel.

Mais je suis un peu confus quant à la raison pour laquelle le sda ​​# n'apparaît que parfois, ou uniquement sur certains systèmes. Qu'est-ce qui fait que cela se produit? Peut-être que le moment où les lecteurs sda # n'apparaissent pas est celui où il n'est pas partitionné? Ou peut-être que ce n'est pas la même chose sur le matériel?

Et pourquoi puis-je monter les deux? (parfois) La partition ne devrait-elle pas être montable?

Toutes les ressources ou couleurs que vous pouvez donner seraient grandement appréciées. Merci d'avance.


1
"Et pourquoi puis-je monter les deux?" [citation nécessaire]
Ignacio Vazquez-Abrams

1
@ IgnacioVazquez-Abrams: Je n'ai pas vraiment de citation. J'ai monté les deux sur une boîte Debian, et je pouvais écrire et lire sur les deux. Je ne sais pas pourquoi. Pas vraiment un hardware ou un administrateur système, c'est pourquoi je demandais des éclaircissements. Merci encore à tous pour votre aide!
leurre

Réponses:


19

Sur un système moderne, un périphérique de partition n'apparaîtra que si la partition existe réellement.

Sur un disque avec une table de partition MBR, les numéros de partition 1 à 4 correspondent aux quatre emplacements de la table de partition, appelés partitions "primaires". Ils ne doivent pas être remplis séquentiellement, il est donc possible, par exemple, d'avoir un sda2 mais pas de sda1. Les numéros de partition 5 et plus correspondent à des "lecteurs logiques" dans une partition étendue, et ceux-ci sont toujours numérotés séquentiellement, vous ne pouvez donc pas avoir de sda6 sans avoir aussi de sda5.

Sur un disque avec une table de partition GPT, il peut y avoir beaucoup plus (généralement jusqu'à 128) partitions, et toutes sont "primaires". Ainsi, vous pourriez avoir un disque dont la seule partition est sda9, par exemple.

Si le disque n'a pas de table de partition, il n'aura bien sûr aucun périphérique de partition.

Les systèmes plus anciens - ceux qui utilisent un statique / dev plutôt qu'un système géré par udev - auront généralement des nœuds de périphérique pour tous les numéros de partition possibles, que les partitions existent ou non. (Essayer d'ouvrir le fichier de périphérique pour une partition inexistante échouera, bien sûr.)


Il est possible de renoncer au partitionnement et de placer un système de fichiers directement sur un disque. Lorsque vous montez un périphérique bloc, le pilote du système de fichiers recherche généralement un superbloc à un décalage prédéterminé par rapport au début du périphérique, et puisque le début d'une partition n'est pas le début du disque lui-même, le superbloc d'un système de fichiers dans une partition est situé à un endroit différent du disque que le superbloc pour un système de fichiers créé sur le périphérique "disque entier".

Donc, si le disque avait juste un système de fichiers, puis qu'il a été partitionné et qu'un système de fichiers a été créé dans une partition, l'ancien superbloc peut toujours être là, par exemple dans le petit espace avant le début de la première partition. Ainsi, le disque semble toujours avoir un système de fichiers sur le périphérique de disque brut et sur le périphérique de partition, car celui que vous essayez de monter, lorsque le pilote du système de fichiers recherche le superbloc, il en trouve un.

Cependant, il n'est pas sûr de monter et d'utiliser les deux systèmes de fichiers, car ils se chevauchent sur le disque. L'un peut avoir des données comptables importantes dans ce que l'autre pense être de l'espace libre. C'est pourquoi c'est une bonne idée de mettre à zéro le début d'un périphérique de bloc, de supprimer tous les superblocs indésirables, lorsque vous voulez changer un disque brut en un disque partitionné, ou vice versa, ou changer le type de système de fichiers utilisé sur une partition, etc. .


6

Pour autant que je sache, lorsque le noyau détecte un nouveau périphérique bloc sur un bus de type scsi (y compris sata), en plus d'ajouter un nœud /devpour le disque entier lui-même, par exemple, /dev/sdail tentera de voir s'il y a une table de partition . S'il y a des partitions lisibles, cela créera alors les nœuds de partition numérotés selon qu'il s'agit de partitions physiques ou logiques (je pense que les partitions logiques commencent à # 5).

Si vous voyez un nœud de disque mais sans nœuds de partition, cela signifie qu'aucune partition n'a été détectée. Je ne connais aucune instance où vous pouvez monter le périphérique physique, car cela impliquerait qu'il y a un système de fichiers directement écrit sur le périphérique physique sans table de partition. Il se pourrait que dans le cas où il n'y a qu'une seule parition,mount interpréterait une mount /dev/sdacommande comme signifiant /dev/sda1, mais je n'ai jamais testé cela.


2
Vous pouvez avoir un système de fichiers directement sur le disque lui-même, sans table de partition. (Un périphérique amovible configuré de cette façon est parfois appelé «super disquette», car les disquettes n'étaient généralement pas partitionnées.)
Wyzard

Excellent point. J'avais une faible mémoire de coller un lecteur USB dans un ordinateur portable et de pouvoir le monter, /dev/sdcmais je ne savais pas si j'inventais cela.
growse

3

/ dev / sda - périphérique brut

/ dev / sda1 - périphérique 'virtuel', comme une partition.

Une différence intéressante est que si un périphérique a des partitions (a des données MBR ou quelque chose de similaire), vous ne pouvez pas lire les données MBR à partir de l'un des périphériques virtuels, car les données MBR résident en dehors des partitions sur un périphérique. Le MBR réside dans le premier secteur de l'appareil (CHS: 0 0 1). Il est recommandé de créer la première partition à 1 Mo après le début d'un périphérique.

Pour lire les données MBR, vous devez utiliser le périphérique brut (/ dev / sda), c'est-à-dire:

dd if=/dev/sda of=mbr.bin bs=512 count=1

0

Ah, les tables de partition et les noms des périphériques. Préparez-vous à vous confondre avec eux.

Vous avez un serveur HP avec son contrôleur RAID Compaq? Non / dev / sda, dites bonjour à / dev / ccsis.

Vous avez un ancien ordinateur de bureau avec une ancienne interface IDE? Non / dev / sda, dites bonjour à / dev / hda.

Vous avez un serveur moderne qui vous dit / dev / sda mais après l'installation, vous le voyez à peine? Dites bonjour à LVM, votre installation de système d'exploitation a fait de votre / dev / sda un volume physique LVM, créé un groupe de volumes à l'intérieur et un volume logique à l'intérieur.

Donc ... si vous ne voyez rien comme / dev / sda1, vous pourriez avoir LVM ou similaire en cours d'utilisation, qui a créé ses propres "partitions".

est-ce que cela a répondu à ta question?

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.