fdisk - en ai-je besoin ou puis-je créer un système de fichiers directement?


9

j'ai lu que fdisk pouvait créer une partition / qui consiste à décomposer un disque physique en plusieurs partitions logiques.

Si j'ai l'intention d'utiliser le disque entier dans son ensemble, est-il toujours nécessaire pour moi

1) pour fdisk et créer une partition principale qui prend la taille de tout le disque ou

2) Je peux simplement aller de l'avant et mkfs.ext4 sans faire de fdisk?

3) Et pourquoi ->

Modifié -> Après avoir lu tous les commentaires (certains oui et non), je pense que ce serait bien si quelqu'un pouvait me montrer ce que fait réellement fdisk? afin que je puisse mieux comprendre pourquoi en avons-nous réellement besoin par rapport à si nous ne l'avons pas fait.

J'ai essayé de googler, mais la plupart des sites vous enseignent comment fdisk, mais pas pourquoi (ou la plupart du pourquoi est de créer un système à double démarrage), mais je veux savoir pourquoi est-ce nécessaire même pour une seule partition.

J'ai également essayé mkfs sur un disque directement et je l'ai monté pour stocker des données et des fichiers (cela ne semble pas avoir de problème) - cela me rend donc encore plus curieux de savoir ce que fdisk fait réellement sur le disque de stockage.

Réponses:


5

Non, vous n'en avez pas besoin . Votre disque et votre système de fichiers fonctionneront correctement sans table de partition. Certains BSD plus anciens l'ont même fait par défaut si vous avez sélectionné dangereusement dédié .

Cependant, il est fortement recommandé pour des raisons de compatibilité.


Un peu plus verbeux:

Vous pouvez exécuter mkfs.ext4 directement sur / dev / sdb. Ça marchera. Vous pouvez ensuite monter cela sans problème. ( mkfs.ext4 -F -F /dev/sdb).

Vous pouvez configurer un disque amorçable de cette façon. Il faudra encore du code pour démarrer. Ce qui signifie que vous devez soit ignorer le premier bit des disques. (par exemple l'espace classiquement utilisé par le MBR et les quelques secteurs traditionnels au-delà). Techniquement, cela n'utilise toujours pas le MBR, bien que vous perdiez de l'espace équivalent.

Pour toute configuration moderne, cependant, ces quelques secteurs représentent une infime fraction de la capacité du lecteur. Je recommande donc d'utiliser GPT (ou sur les anciens systèmes MBR). Mais vous pouvez vous en passer.


Il semble que mkfs.ext4 utilise un paramètre -F pour forcer la création du système de fichiers même s'il semble que la cible n'est pas une partition, ou même si le périphérique cible semble être monté! Je pense que cela souligne les risques inhérents à le faire ...
David W

D'accord. Et "cette option doit être spécifiée deux fois" est une précaution secondaire.
Hennes

@Hennes j'ai mis à jour mon message d'origine, j'espère que vous y jetez un coup d'œil
Noob

1
Comparez fdisk à l'écriture d'un index pour un livre. Les gens s'attendent à un indice et se perdent quand il n'y en a pas. Un livre sans index et avec une seule histoire / chapitre fonctionnera toujours.
Hennes

1

Vous devez créer une table de partition même si vous allez utiliser l'intégralité du disque physique. Considérez la table de partition comme la "table des matières" des systèmes de fichiers, identifiant les emplacements de début et de fin de chaque partition ainsi que le système de fichiers utilisé pour celle-ci.


même si je voulais utiliser le stockage comme un appareil brut? j'ai encore besoin de fdisk? j'ai lu sur la création de partition fdisk, mais je ne comprends pas pourquoi il est nécessaire
Noob

1
Si je vous remets un disque contenant uniquement des octets bruts et aucune autre information, comment l'interpréteriez-vous pour en extraire des données? Tu ne pouvais pas. C'est une simplification excessive, mais c'est ce que fait une table de partition. Il dit "Voici où les données sont stockées sur le disque (emplacement de démarrage / d'arrêt / cylindre / piste), et voici comment elles sont organisées (système de fichiers)"
David W

En fait, vous pourriez. Prenez une disquette. Nous supposons une partition / volume. Nous spécifions le système de fichiers utilisé (puisque nous n'avons pas de MBR pour nous dire ce qui est utilisé, nous devons le spécifier manuellement ou le saisir dans / etc / fstab) et lire les informations pour le système de fichiers. Exemple classique: disquettes et FAT12.
Hennes

1
Il n'y a aucune information dans la table de partition standard qui n'est pas, ou pourrait facilement être faite, déjà dans l'enregistrement de démarrage de volume du système de fichiers. Toute dépendance d'un logiciel sur une table MBR / partition pour reconnaître et / ou démarrer correctement à partir d'un système de fichiers est entièrement artificielle.
kreemoweet

1
Non, vous n'avez pas besoin d'une table de partition et non, le type de système de fichiers indiqué dans la table de partition est ignoré. Au lieu de cela, des séquences d'octets bien définies («magie») sont utilisées pour déterminer le type de système de fichiers. Si vous voulez démarrer à partir du disque, c'est bien sûr différent.
Daniel B

0

Vous pouvez créer un système de fichiers sur un lecteur nu, mais cela fonctionnera rarement. Certaines clés USB sont organisées comme ça. Mais pour le disque dur, vous ne voulez pas.

S'il s'agit de votre lecteur principal / unique, il ne sera pas du tout amorçable si vous le créez en tant que tel. Ce que fait le BIOS, c'est lire le premier secteur du lecteur et l'exécuter (c'est-à-dire passer à son premier octet). Voulez-vous vraiment exécuter les métadonnées du système de fichiers? Heureusement, vous ne le ferez pas, car le BIOS contient une sécurité intégrée - les deux derniers octets de ce secteur doivent être 0x55 0xaa pour que le BIOS considère le lecteur comme amorçable. Et vous, vous avez un système UEFI, c'est encore pire, car UEFI nécessite une partition FAT distincte pour fonctionner.

S'il s'agit de votre disque dur secondaire, cela pourrait fonctionner, mais est toujours déconseillé - aucune détection automatique ne fonctionnera, la plupart des outils vous diront que le lecteur n'est pas formaté et nécessitera un partitionnement (ce qui détruira vos données).

Là encore, il est parfois possible de le faire, mais de manière très hackeuse, nécessitant une connaissance complexe de l'organisation sur disque de plusieurs systèmes de fichiers. J'ai déjà vu une description d'une image qui pouvait être gravée sur un CD amorçable, sur une clé USB amorçable ou même démarrée par des Mac plus anciens, mais c'était au niveau de 'Si je mets la longueur du système de fichiers à xxx, quand cela est exécuté par une autre architecture, il fonctionne comme une comparaison de registre inoffensive ».


Informations détaillées sur l'exemple de clé USB: il est également utilisé sur les disquettes et clés USB sans MBR, souvent appelé «format superfloppy».
Hennes

@Torinthiel, j'ai mis à jour mon message d'origine, j'espère que vous y jetterez un coup d'œil
Noob

-1

Même si vous avez l'intention d'utiliser l'intégralité du disque, il devra toujours être partitionné. Dans ce cas, avec une partition aussi grande que le disque lui-même (presque, au moins. La table de partition prend de l'espace. Voir ci-dessous pour plus de détails à ce sujet).

Lorsque j'initie les gens au concept de partitions et de systèmes de fichiers aux personnes qui ne pensent normalement qu'à des "disques durs, vides ou pleins", voici ce qui suit: Le disque dur est le bâtiment, tandis que la partition est la pièce réelle. Vous formatez une partition avec un système de fichiers spécifique, puis la rendez utilisable, et dans l'analogie du bâtiment, cela correspond à déclarer un type de pièce, tel que cuisine vs chambre (en d'autres termes, comment l'utiliser).

Maintenant, pour revenir à votre question d'origine, vous ne pouvez pas placer un système de fichiers sur un lecteur non partitionné, car la table de partition (les 512 premiers octets du lecteur) contient des informations sur l'endroit où se trouvent les partitions sur le lecteur physique. Pour que vous ayez un système de fichiers, il devra commencer quelque part que la table de partition peut référencer, et il ne peut pas référencer un système de fichiers qui n'a pas d'espace défini, c'est-à-dire la partition.

Et si nous devons placer la table de partition dans l'analogie du bâtiment, je suppose que cela correspondrait à un plan du bâtiment.

Mise à jour reflétant la modification de votre question: ce que fdisk fait est de vous permettre de sélectionner certains aspects d'une partition, tels que la taille, le type et l'emplacement physique, comme vous le savez sûrement déjà. Ce que fdisk fait ensuite est de les traduire en une entrée de table de partition. Fondamentalement, il veille à ce que la table de partition soit à jour avec une "liste" de toutes les partitions sur le disque, chaque élément de la liste indiquant quelle partition peut être trouvée où et de quel type. C'est ainsi qu'un système d'exploitation sait où accéder aux données sur les partitions.


1
Nan. Ce n'est pas nécessaire. J'ai utilisé sans. Il est toujours fortement recommandé, mais vous pouvez vous en passer.
Hennes

@Jarmund j'ai mis à jour mon message d'origine, j'espère que vous y jetez un coup d'œil
Noob
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.