web-dev-qa-db-fra.com

Qu'est-ce que "espace non alloué"?

Encore une fois, ici, j'essaie d'envelopper ma tête autour de certains concepts de disque dur et de fichiers.

Lorsque Windows affiche un lecteur comme ayant "espace non alloué" et invite le lecteur à être initialisé, qu'est-ce que cela signifie exactement - que le lecteur n'a pas de système de fichiers sur celui-ci ou que le système de fichiers n'est pas reconnu par Windows. ?

Le concept d'espace non alloué est-il un espace de Windows One, ou un disque dur un - en d'autres termes, est-il possible pour d'autres systèmes d'exploitation d'écrire sur un espace non alloué?

Si oui, Cela signifie-t-il qu'à l'extérieur de Windows, un système de fichiers n'est pas nécessaire d'écrire sur un disque dur?

32
Prometheus

Un disque dur (ou son équivalent tel qu'une clé USB) par convention a une table de partition dessus. Un MBR ( enregistrement de démarrage principal ) Table de partition de style s'inscrit dans un secteur (512 octets) au début du lecteur (numéro de secteur 0). Un MBR contient également un chargeur de démarrage Donc, l'espace de la table de partition est limité à quatre partitions "primaires" (bien que certains partitions du logiciel des années 1980 appuyaient huit partitions). Chaque entrée de partition MBR a:

  • un code de type (un octet unique) indiquant que la partition correspondante est soit NTFS, FAT-32 (quatre arômes), FAT-16 (huit arômes), la zone de swap FAT-12, Linux, etc. Code de partition 0 (zéro) signifie "RAW", ou "Aucun contenu significatif", "ou ignorer les contenus de la partition".
  • si la partition est marquée comme amorçable. Jusqu'à une partition par disque peut avoir ce drapeau activé.
  • L'adresse de disque du secteur de début de la partition
  • Le secteur final de la partition - ou le nombre de secteurs. Les premiers PC utilisaient des numéros de cylindre/tête/sectoriel; Après environ 1995, utilisez des "numéros de bloc logique" une seule valeur de 32 bits remplacée par cyl/tête/secte

Étant donné qu'un maximum de quatre partitions était bientôt intolérable, un mécanisme de partitions supplémentaires était " Partitions étendues " dans MBR où une partition spécialement marquée peut avoir un MBR intégré contenant une autre table de partition. Il est donc possible de diviser un disque en dizaines de partitions, bien que certains outils de partitionnement puissent infliger une limite artificielle.

A [~ # ~] gpt [~ # ~ # ~] n'est intrinsèquement pas limité à quatre partitions. Ses bases occupent plus de 512 octets sur disque, généralement quelque chose dans la plage de 4 à 16 mégaoctets. Mais la signification des partitions est la même.


Table de partition d'un disque qui a tous les secteurs du disque inclus dans celui-ci n'a "aucun espace non alloué" par l'utilisation la plus courante de la phrase. Donc, la réponse habituelle à votre question est que espace non alloué Est-ce à l'extérieur de toutes les partitions . Cependant, l'ambiguïté de la terminologie se produit si une partition est marquée comme type zéro (RAW), il peut donc exister un outil qui considère une partition brute comme, dans certains sens, non allouée.

Lorsque Windows affiche un lecteur comme ayant "espace non alloué" et invite le lecteur à être initialisé, qu'est-ce que cela signifie exactement que le lecteur n'a pas de système de fichiers sur celui-ci ou que le système de fichiers n'est pas reconnu par Windows?

Cela signifie qu'il n'y a pas de table de partition ni toutes les entrées de partition sont vides. Windows est heureux d'ignorer les systèmes de fichiers non reconnus.

Le concept d'espace non alloué est-il un espace Windows One, ou un disque dur - en d'autres termes, est-il possible pour d'autres systèmes d'exploitation d'écrire à un espace non alloué?

C'est une convention de disque dur observée par tous les systèmes d'exploitation standard prenant en charge le logiciel PC. Je ne sais pas quoi "En d'autres termes" signifie. Oui, il est possible d'écrire sur un espace non alloué (même sous Windows), mais l'étiquette appropriée consiste à créer une partition contenant l'espace non alloué, formatez un système de fichiers à celui-ci (qui écrit sur "espace non alloué"), puis écrivez des fichiers. et répertoires à elle.

Si tel est le cas, cela signifie-t-il qu'à l'extérieur de Windows, un système de fichiers n'est pas nécessaire d'écrire sur un disque dur?

Pour un système bien élevé, non. Les systèmes coopératifs nécessitent des systèmes de fichiers en place, des autorisations définies correctement, etc. Cependant, il serait trivial sous Linux (par exemple) d'ouvrir le disque lui-même comme un gros fichier (accès disque brut) et en écrivez directement. Cela nécessiterait un accès administratif et certaines directives ou calculs pour déterminer où écrire.

Cependant, ignorer les systèmes de fichiers et les partitions est mauvais. Ils améliorent considérablement la gestion du disque et rendent la vie beaucoup plus facile et plus sain d'esprit. En fin de compte, c'est possible Pour écrire un logiciel renégade qui ignore complètement la santé mentale et les bonnes manières et écrit n'importe où sur le disque qu'il souhaite.

Cependant, la méta-ness que je perçois de cette question pourrait être mal comprendre si vous avez l'intention d'obéir aux autorisations et aux limites imposées par le mode non administrateur/non système sous Windows, Linux, etc.

6
wallyk

D'autres réponses ont déjà raconté une bonne affaire, j'ajouterai un peu plus de détails pour combler certaines lacunes.

Une des questions que l'auteur demande est:

Si tel est le cas, cela signifie-t-il qu'à l'extérieur de Windows, un système de fichiers n'est pas nécessaire d'écrire sur un disque dur?

En fait, vous n'en avez pas besoin même dans les fenêtres. Mais le diable est dans les détails:

À un niveau bas, le disque dur n'est qu'un groupe d'octets pouvant être lu et écrit. Chaque octet a un numéro - le 1er octet, le 2e octet, etc. et ... c'est tout. Juste un tas d'octets numérotés. Notez qu'il n'y a pas de concept de "fichier" ou "répertoire" ou "partition" ou autre. Lorsqu'un système d'exploitation veut lire ou écrire au lecteur, au niveau le plus bas, il s'agit simplement de "me donner des octets de 123 à 456" ou "s'il vous plaît écrivez ces données en octets de 789 à 1234". Ou quelque chose comme ça.

En fait, vous pouvez facilement écrire un programme comme ça aussi. Si vous êtes programmeur, tout ce que vous avez à faire est d'ouvrir un nom de fichier spécial \\.\PhysicalDrive0 Comme un fichier régulier et vous obtenez un accès complet à tous les octets du lecteur, comme ils sont écrits. (Remarque: ceci est sous Windows. Sous Linux, vous ouvrez l'un des fichiers sous /dev et d'autres OSES pourraient avoir d'autres mécanismes encore)

Mind You, vous aurez besoin de privilèges d'administration pour cela, puisque vous do Accédez à toutes les informations sensibles sur le lecteur. Mais autre que ça, c'est tout ce qu'il y a. Je l'ai fait moi-même.

Maintenant, en fait, je vous ai un peu menti. Un petit mensonge blanc. Le lecteur ne traite pas réellement d'octets individuels. Il lit et écrit des données dans des "secteurs". C'est juste un nom de fantaisie pour "un groupe d'octets à la fois". Pour le type de lecteurs "rouille de filature", les secteurs sont généralement de 512 octets grands. Ainsi, lorsque vous lisez ou écris sur le lecteur, vous devez le faire dans des gros morceaux de 512 octets. Donc, Windows raconte réellement le lecteur "Obtenez-moi des secteurs 1 à 5" ou "Écrire aux secteurs 6 à 8". Mais cela ne change pas vraiment l'idée.

Les SSD ont généralement des secteurs plus importants et les tailles peuvent varier entre les lecteurs. Typiquement, il s'agit de 4096 octets, mais il y a des lecteurs avec 2048 secteurs d'octets et probablement d'autres valeurs aussi. Encore une fois - n'a pas d'importance, juste quelque chose à garder à l'esprit. Le système d'exploitation l'abstrait généralement et vous permet de lire et d'écrire quoi que ce soit, puis un peu de travail supplémentaire pour s'assurer que le résultat est ce que vous vous attendez.

Les prochaines étapes sont les "tables de partition" qui Wallyk a bien expliqué dans sa réponse .

Les tables de partition ne sont rien que le lecteur se soucie - tout cela se soucie de lire et d'écrire des secteurs d'octets. Mais nous, les humains, aimerions diviser le lecteur en "partitions" et c'est là que les tables de partition sont entrées. Une table de partition est, par convention, stockée au début du lecteur. Il est probablement documenté dans certaines normes quelque part également, de sorte que tous les outils et systèmes d'OSES aient la même compréhension d'eux.

La table de MBR (Master Boot Boot) est une norme plus ancienne, depuis 1982. Depuis à ce moment-là, personne n'avait même rêvé de SSD ou de secteurs différents de 512 octets, le MBR a été conçu pour prendre exactement 1 secteur (512 octets) et avait Un tas d'autres limitations, notamment relatives aux plus grandes tailles d'entraînement.

Finalement, les entraînements ont suffisamment grand que MBR n'était pas suffisant et GPT (Table de cloison GUID) a été introduit pour contourner ces limites.

Maintenant, quel que soit le format que vous utilisez, tout ce que la table de partition dit réellement est quelque chose dans le sens de "La partition 1 existe sur les secteurs 50 à 5000 et est formaté avec le système de fichiers FAT32; la partition 2 existe sur les secteurs 5001 à 10000 et est formaté avec le système de fichiers ext4 "et ainsi de suite.

De cela, le système d'exploitation peut trouver les partitions réelles et analyser les systèmes de fichiers. Et c'est là que vous obtenez des fichiers et des dossiers et des autorisations et d'autres choses que l'OS vous fournit. Tout cela est fait dans le logiciel.

Et voici une autre chose à noter - comme je l'ai dit, les tables de partition sont une convention , pas une nécessité. Le matériel ne se soucie pas de cela, le logiciel fait. Vous pouvez donc utiliser un lecteur même sans un. Par exemple, ce jour et cet âge, il est courant d'utiliser LVM sous Linux pour gérer vos disques durs (c'est un peu longue). Et une possibilité avec c'est-à-dire d'ajouter un lecteur entier au pool de périphériques gérés par LVM. Dans ce cas, il n'y aura pas de table de partition sur le lecteur - LVM le gérera à la place.

6
Vilx-

Imaginez un disque dur comme une planche magnétique pour les enfants

Magnetic whiteboard for children

Lorsque vous recevez une carte la première fois, il ne sera pas complètement blanc, mais un mélange brouillé de non-sens noir et blanc. Avant de pouvoir lire ou écrire quelque chose, vous devrez d'abord effacer une partie du conseil, où vous voulez écrire. Et puisqu'un disque dur peut stocker toutes sortes de données, vous devrez également créer des informations initiales (généralement au début), ce qui définit le type de données sur le lecteur.

Je pourrais par exemple écrire un modèle de points dans le coin supérieur gauche pour désigner le contenu de la carte à écrire l'anglais. Ou un autre motif, qui indiquerait une image. Ou un modèle complexe, qui diviserait la carte en quatre parties et définirait que le trimestre supérieur gauche contiendra une image, le haut à droite contiendra du texte anglais et les deux dans la moitié inférieure sont vides et prêts pour de nouvelles données. (Et il suffit d'écrire dans le modèle "La moitié inférieure est vide" et je n'ai pas à nettoyer cette partie complètement, car personne ne tentera de lire le contenu de cet espace, car il est désigné comme "vide" )

De cette manière, le système d'exploitation rédigera généralement un motif clair au début d'un lecteur, qui peut être utilisé pour identifier quelles autres données sont écrites sur le lecteur et où elles se trouvent. Ces pièces sont le descripteur de la table de partition et du système de fichiers.

Les données inconnues ne sont pas facilement distinguables du bruit

Lorsqu'un système d'exploitation rencontre un disque dur, il essaie généralement de lire les premiers octets sur le lecteur pour identifier un certain motif. La plupart des systèmes d'exploitation connaissent un tas de formats différents comment un lecteur peut être partitionné et il essaie de trouver les marqueurs connus (enregistrement de démarrage principal, tables de partition, ...) pour identifier le contenu du lecteur. - Si un système d'exploitation (comme Windows) ne peut pas trouver de modèle qu'il reconnaît, il ne sait pas, si le lecteur est juste "vide" (rempli de bruit aléatoire, comme une carte magnétique après la secouette) ou s'il est juste dans Un format qu'il ne sait pas.

Donc, l'espace "non alloué" n'est que des données méconnaissables sans motif identifiable pour le système d'exploitation. Si vous choisissez de créer une partition dans cet espace, le système d'exploitation écrasera simplement les premiers octets et créera un motif de données, ce qui explique essentiellement "ce lecteur contiendra des fichiers dans cette structure et que tout après cette note est actuellement vide et que vous puissiez Soyez écrasé "et après que tous les fichiers que vous copiez sur le lecteur seront écrits dans la structure définie dans cette note.

Cas spéciaux d'espace "espace non alloué"

Un espace non reconnaissable sur un disque dur peut être un système de fichiers inconnu. Ou ce pourrait être une partition cachée générée par un logiciel de cryptage comme Veracrypt - qui est conçue de manière à ce que les données cryptées cachées ressemblent à un bruit aléatoire sur un disque non alloué. Un autre cas peut être un système de fichiers endommagé. Si le disque dur a connu des dommages, le motif au début pourrait être brisé, le système ne peut plus reconnaître le système de fichiers, même s'il est de type connu. Dans ce cas, vous auriez besoin de certains logiciels de récupération, qui essaie de reconstruire les informations sur le système de fichiers, de sorte que les données d'origine peuvent être accessibles à nouveau.

Outils pour accéder aux données brutes

Il existe également des outils pour Windows/Linux, qui vous permettent d'accéder aux données brutes d'un disque dur. Ces outils ne se soucieront pas si un lecteur est partitionné ou contient juste un bruit aléatoire, si vous utilisez ceux-ci, vous pouvez afficher le lecteur dans son intégralité, tout comme la carte magnétique. Vous verrez une quantité géante de nombres et de symboles à la recherche aléatoire, qui sont généralement interprétés par un pilote de système-fichier dans le système d'exploitation pour vous permettre de voir une structure de fichiers et de dossiers.

Si vous êtes intéressé par la manière dont les systèmes de fichiers fonctionnent, vous pouvez consulter un lecteur avec de tels outils et voir les tables de partition pour vous-même.

3
Falco