Donner du sens aux tables de partition


17

C'est la sortie de fdisk:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048   419424255   209711104   83  Linux
/dev/sda2       419424256  1258291199   419433472   83  Linux
/dev/sda3      1258291200  1300236287    20972544    f  W95 Ext'd (LBA)
/dev/sda4   *  1300236288  1709836287   204800000    7  HPFS/NTFS/exFAT
/dev/sda5      1258293248  1275062271     8384512   82  Linux swap / Solaris

Et c'est la sortie de cfdisk:

Name         Flags       Part Type   FS Type           [Label]         Size (MB)
--------------------------------------------------------------------------------
                                     Unusable                               1.05  *
sda1                      Primary    ext4                              214744.18  *
sda2                      Primary    ext4                              429499.88  *
sda5         NC           Logical    swap                                8586.79  *
                          Logical    Free Space                         12889.10  *
sda4         Boot         Primary    ntfs                              209715.20  *
                                     Unusable                          124768.71  *

Je suis censé avoir 2 partitions Linux, 1 partition étendue Windows d'environ 20 Go avec une partition de swap logique de 8 Go et environ 130 Go d'espace non partitionné.

Comme si cela ne suffisait pas, la sortie de gpartedest également un peu différente. entrez la description de l'image ici

Je suis confus des sorties que j'ai postées ici.

  1. Pourquoi est /dev/sd4marqué comme amorçable si je démarre sur GRUB2?
  2. Qu'est-ce que / dev / sda3? Quel est son type (primaire / logique)? Pourquoi n'est-il pas affiché dans cfdisk?
  3. Pourquoi cet espace libre (je suppose 124768 pouces cfdisk) est-il marqué comme inutilisable?
  4. Que signifie l'indicateur NC cfdiskpour la partition de swap?

Réponses:


26

Pourquoi / dev / sd4 est-il marqué comme amorçable si je démarre sur GRUB2?

Le bootable est un drapeau dans le MBR (en fait un octet qui est comparé à 0x80). Cette entrée est marquée comme amorçable. Un chargeur de démarrage «traditionnel» lit le MBR, recherche une entrée avec l'indicateur de démarrage et lui passe le contrôle. Lorsque vous utilisez grub, il fait quelque chose de complètement différent, car il utilise à la place son fichier de configuration. Mais les outils vous disent comment les partitions sont configurées (en fait, vous pouvez avoir un chargeur de démarrage dans le MBR vous sautant sur / dev / sda4, et grub2 y est installé).

Qu'est-ce que / dev / sda3? Quel est son type (primaire / logique)? Pourquoi n'est-il pas affiché dans cfdisk?

/ dev / sda3 est une partition principale de type partition étendue . C'est une partition utilisée comme conteneur pour d'autres partitions. gparted le montre assez bien sur son graphique.

Vous pourriez discuter s'il s'agit en fait d'une partition ou non, d'une part, il prend un emplacement dans le MBR, d'autre part, c'est un conteneur de partitions , vous n'y mettez pas de système de fichiers.

Les outils de partition les traitent spécialement, donc cfdisk semble préférer ne pas l'afficher. fdisk, par exemple, ne permet pas non plus certaines actions sur ces partitions.

Pourquoi cet espace libre (je suppose 124768 dans cfdisk) est-il marqué comme inutilisable?

Je pense que ce sont les 116,20 Gio montrés par gparted à la fin

Vous ne pouvez avoir que 4 partitions principales (en comptant la partition étendue). Cela vient du nombre d' emplacements à la fin du MBR. Comme vous en avez déjà 4, cet espace non alloué à la fin ne peut pas être partitionné (vous ne pouvez pas y placer de partition logique, car vous ne pouvez avoir qu'une seule partition étendue et elle doit être contiguë).

Vos options (faciles) pour utiliser cet espace seraient soit:

  • étendre / dev / sda4 pour l'utiliser
  • étendre / dev / sda3 pour inclure / dev / sda4 (et de préférence également à la fin du disque) et faire de / dev / sda4 une partition logique

Que signifie l'indicateur NC dans cfdisk pour la partition de swap?

Citant la page de manuel cfdisk : "Les indicateurs peuvent être Boot, qui désigne une partition de démarrage, ou NC, qui signifie" Non compatible avec DOS ou OS / 2 "." Pas de quoi s'inquiéter


11

Commençons ...

  1. Il est marqué comme amorçable, afin que Windows puisse charger son chargeur de démarrage à partir de celui-ci. Même si Grub peut se charger en premier, il se "chargera en chaîne" dans le chargeur de démarrage de Windows, si Windows est sélectionné dans la liste. Pour que le chargeur de démarrage Windows s'exécute, il doit être sur une partition de démarrage (quelqu'un pourrait-il vérifier cela pour moi? Je n'ai jamais essayé de supprimer l'indicateur de démarrage sur une installation de Windows 7 ...)

  2. SDA3 est en fait une partition étendue . Votre disque est formaté en MBR , au lieu de GPT . L'une des restrictions est que MBR ne peut avoir que jusqu'à 4 partitions principales . Pour contourner ce problème, vous pouvez utiliser une partition principale étendue, puis créer plusieurs partitions logiques plus petites à l'intérieur (vous obtenez plus de 4 partitions).

  3. En raison de la limitation du MBR, il ne peut pas créer une 5e partition principale en dehors de la partition logique étendue . C'est normal. Si vous étendez la partition étendue, vous devriez pouvoir créer une nouvelle partition à l'intérieur de celle-ci et utiliser le reste de votre disque.

  4. Depuis les pages de manuel de cfdisk :

Les drapeaux peuvent être Boot , qui désigne une partition de démarrage ou NC , qui signifie «Non compatible avec DOS ou OS / 2».


Aucun problème. Je publiais la ou les mêmes réponses, et celle-là était la seule que tu n'as pas mieux définie que moi. ;)
Ƭᴇcʜιᴇ007

3

Les partitions 1 à 4 sont par convention "physiques" (elles étaient le seul type disponible à l'époque). Vous avez donc:

Device    Boot      Start         End      Blocks   Id  System
/dev/sda1            2048   419424255   209711104   83  Linux
/dev/sda2       419424256  1258291199   419433472   83  Linux
/dev/sda3      1258291200  1300236287    20972544    f  W95 Ext'd (LBA)
/dev/sda4   *  1300236288  1709836287   204800000    7  HPFS/NTFS/exFAT

/dev/sda5      1258293248  1275062271     8384512   82  Linux swap / Solaris

... sda1est physique, Linux. sda2est physique, Linux à nouveau. sda3est une partition logique où d' autres partitions (à partir de 5) peuvent résider. Enfin, sda4une partition Windows, marquée comme amorçable - je pense que seul Windows se soucie de cela. GRUB2 démarrera avec plaisir la partition que vous désirez, mais Windows veut être sur une partition de démarrage.

Maintenant, à l' intérieur de la partition logique sda3, qui cfdiskne s'affiche pas comme telle, il y a l'équivalent de plusieurs partitions physiques. Dans ce cas uniquement sda5.

Et puisque sda3va du secteur 1258M au secteur 1300M, mais sda5ne les utilise que jusqu'à 1275M, les secteurs 1275062272 à 1300236287 sont gratuits (mais attribuables à sda6).

Enfin, votre sda4(la dernière partition physique possible - le MBR n'en contient que quatre) ne se remplit pas jusqu'à la fin du disque. Il laisse environ 116 Go hors tension. Cet espace est inutilisable car vous ne pouvez pas créer une partition physique pour la couvrir (la partition étendue sda3ne peut pas augmenter, car son étendue est "bloquée" par sda4):

[SDA3...(sda5)...| FREE    ][...sda4...][ UNREACHABLE SPACE ]end-of-disk

Solutions pour récupérer l'espace indisponible

Aucun indolore, j'ai peur. Selon la géométrie, vous pouvez supprimer sda4et annoter ses limites. Ensuite, augmentez sda3pour inclure le disque entier (même début, 1258291200, mais jusqu'à la fin du disque), ou supprimez-le et recréez avec le même début et la fin maximale. Vous pouvez maintenant créer une partition à l' sda6intérieur sda3et la faire se terminer au cylindre juste avant le secteur 1300236288. Cela occupera l'espace libre actuellement laissé dans l'existant sda3. Enfin, vous créez une partition à l'intérieur sda3, et elle le sera sda7, indiquant au système qu'elle s'étend de 1300236288 à 1709836287 et est de type 7.

Si vous ne formatez pas cette partition, le contenu restera tel quel et il s'agit d'une partition Windows valide. Il est

Bien sûr, si les choses tournent mal, vous risquez de perdre toutes vos données. Les partitions physiques (comme celle de Windows maintenant sda4) et les partitions physiques à l'intérieur de la logique (comme ce serait le cas une fois devenu sda7) ne se mélangent pas nécessairement; certains outils refuseront à plat de les créer. Je suggère de faire un test sur un disque virtuel de la même taille, créé à l'intérieur d'un fichier clairsemé (le fichier lui-même ne serait vraiment que de quelques gigaoctets) ou sur un disque externe.

Une autre façon, peut-être plus sûre, est de supprimer sda5(c'est juste échanger) et de sda3déplacer les sda4paramètres vers sda3(cela peut impliquer la suppression sda4et la recréation sda3avec les anciens sda4paramètres), et cela laissera le sda4slot libre (et un "trou" au milieu du disque). La plupart des BIOS permettent des tables de partition hors séquence. Encore une fois, cela ne devrait exiger aucune copie. sda4devient sda3et reste maintenant une partition physique, donc sa géométrie devrait mieux correspondre aux hypothèses d'un outil de partitionnement.

Bien sûr, le moyen recommandé et le plus sûr (et le plus lent) de tous est de sauvegarder toutes les partitions, de les reformater toutes et de les restaurer après les avoir "repositionnées" correctement, avec la partition étendue en dernier et en occupant tout le disque dur restant. Cela supprimera l'espace libre à l'intérieur de sda3 et récupérera l'espace indisponible à la fin, sans aucun risque (si la sauvegarde est effectuée correctement - vérifiez-la après la sauvegarde. J'ai sauvegardé une fois sur un disque externe défectueux, qui est mort sur moi lors de n'était pas amusant du tout).


0

En plus de ce qui a déjà été dit sur le sens de tout cela, je pense que la solution la plus indolore serait d'avoir l'espace de swap dans la grande zone à la fin et d'ajouter l'espace vide au milieu à votre /home.

Pour ce faire, vous devez

  • supprimez votre fichier d'échange dès qu'il n'est pas utilisé, ainsi que la partition étendue qui le contient
  • étendez votre sda2pour inclure l'espace vide complet après (vous devrez le supprimer et le recréer).
  • recréer la partition étendue pour s'asseoir après sda3et l'utiliser pour contenir autant de partitions que vous le souhaitez (enfin, dans certaines limites).

Cela est plus facile à faire cfdisk, car il gère la partition étendue de manière dynamique. Mais veillez à sda2conserver son LBA de départ, sinon vous perdrez son contenu.

Après avoir étendu la taille de la partition, vous devez redimensionner le système de fichiers inclus pour utiliser l'espace complet.

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.