4 votes

Comment déplacer une partition primaire vers une partition étendue ?

Mon installation est composée de Fedora 18 et de Windows 8, et j'ai besoin de place pour un autre système.

J'ai une tâche très délicate : je dois déplacer ma partition primaire /boot à l'intérieur d'une partition étendue qui contient toutes les autres partitions du système (home, root et swap). La mise en page est la suivante :

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      718847      358400    7  HPFS/NTFS/exFAT
/dev/sda2          718848    84604927    41943040    7  HPFS/NTFS/exFAT
/dev/sda3        84604928    85628927      512000   83  Linux
/dev/sda4        85628928   883879935   399125504    5  Estendida
/dev/sda5        85630976    92938239     3653632   82  Linux swap / Solaris
/dev/sda6        92940288   197797887    52428800   83  Linux
/dev/sda7       197799936   883879935   343040000   83  Linux

Si vous préférez une image (elle est en portugais) : GParted print screen

J'ai beaucoup plus d'espace vide que d'espace utilisé, si nécessaire, comme on le voit dans la capture d'écran, et j'ai également un disque externe avec plus de 250G libres. Je veux avoir une partition de démarrage à l'intérieur de l'extension, si possible. Fedora utilise par défaut la plus grande quantité possible de partition primaire, et je veux en libérer une pour installer un autre système d'exploitation. Une autre solution très recherchée serait de déplacer les partitions de Windows à l'intérieur d'une partition étendue exclusive, car je pense que la partition de démarrage de Windows n'est pas utilisée (j'utilise Grub comme chargeur de démarrage).

1voto

Rod Smith Points 20483

Linux peut très bien démarrer à partir d'une partition logique. Il existe une poignée de programmes de partitionnement qui peuvent convertir des partitions primaires en partitions logiques et vice-versa, mais il y a souvent (peut-être toujours) des limites. Le programme avec lequel je suis le plus familier pour cette tâche est le mien FixParts. Je vous recommande de lire sa page Web pour apprendre à l'utiliser.

Dans votre cas, le problème majeur est qu'il n'y a pas d'espace libre entre vos /dev/sda2 y /dev/sda3 . Vous devrez donc réduire l'une de ces partitions pour créer de l'espace libre. Un seul secteur suffit, mais vous devrez probablement le réduire de 1 Mo. GParted peut faire ce travail, mais il y a un bémol : Windows peut être assez pointilleux sur sa partition de démarrage. Si vous démarrez à partir de /dev/sda2 il peut être rendu non amorçable en réduisant cette partition dans GParted. Il est donc préférable de le faire à partir de Windows. Une fois qu'il y a de l'espace non alloué juste avant que /dev/sda3 FixParts ne devrait pas avoir de problèmes pour la convertir en une partition logique dans votre partition étendue.

0voto

frooyo Points 658

Deux approches possibles explorées ici : réduire /dev/sda2 ou détruire la partition de /dev/sda1 (tout en laissant ses données intactes).

Je suis sûr qu'il y a d'autres options que ces deux-là. Je ne fais qu'indiquer quelques approches.

Pourquoi voulez-vous déplacer la partition primaire dans la partition étendue ? Je suppose que vous êtes préoccupé par une limite : la limite traditionnelle d'un MBR est de 4 partitions. Si le /dev/sda3 était déplacé dans une partition étendue, alors vous parviendriez à contourner cette limite. Cependant, où envisagez-vous de placer la partition Fedora ? Plus précisément, quelles seront les valeurs de "Début" et de "Fin" ? Vous avez également un autre problème à régler, celui de l'espace disponible.

D'après le rapport fdisk, /dev/sda4 est votre partition étendue, qui commence à 85628928, soit 2048 avant le début de /dev/sda5. Donc, ce que cela montre, c'est qu'il y a un peu d'espace au début de la partition étendue avant le premier "lecteur logique" qui est à l'intérieur de la partition étendue. Maintenant, votre /dev/sda3 commence à 84604928, ce qui est exactement un secteur après que /dev/sda2 se termine à 84604927. Il n'y a donc pas d'espace libre avant /dev/sda3 pour insérer le début de la partition étendue.

Cela signifie que vous avez essentiellement deux choix : déplacer le contenu de la partition /dev/sda3, ou réduire /dev/sda2 (d'au moins 2048) de sorte que /dev/sda2 se termine plus tôt. Le simple rétrécissement est probablement une tâche plus sûre que d'essayer de relocaliser une partition. Ce sont les parties vraiment dangereuses du processus. Si vous pouvez réduire /dev/sda2, alors vous pouvez ajuster le secteur de départ de la partition étendue, ce qui est plutôt sûr à faire avec certains logiciels. (Le fdisk d'OpenBSD est le meilleur que j'ai vu avec les logiciels modernes : Ranish Partition Manager était également excellent).

D'après l'image, il semble que vous ayez un espace "non alloué" après la partition étendue.

En fait... il y a peut-être un moyen beaucoup plus simple de gérer tout cela. Utilisez-vous le /dev/sda1 ? Ou est-ce une sorte de partition de récupération du système que vous n'utilisez pas vraiment ?

Si vous n'utilisez pas réellement /dev/sda1, vous pouvez faire ceci : A) Utiliser OpenBSD fdisk (je suis plutôt familier avec cette option logicielle). B) Editez la partition 0 (en supposant que c'est celle qui commence à 2048, se termine à 718847, et est de type ID 7). Note : les tailles de blocs peuvent être rapportées différemment ? Si c'est le cas, compensez avec les différents chiffres, comme il convient. C) Apportez les modifications suivantes à la Partition 0 : Début : changement de 2048 à 0 Fin : Modifier de 718847 à 0 Type/ID : passer de 07 à 00

Là, vous avez maintenant un emplacement libre sur le MBR. Vous pouvez maintenant ajouter une partition, et la faire démarrer après 883879935, et utiliser les 44,29 Go que vous avez à la fin du disque. Vos données NTFS continueront simplement à se trouver sur le disque à 2048. Si vous ressentez à nouveau le besoin de démarrer à partir de ce disque, vous pouvez éditer le MBR pour modifier la partition afin qu'elle commence à nouveau à 2048, se termine à 718847, et utilise à nouveau le Type/ID 07. Il n'y a pas vraiment de limite au fait que vous ne pouvez avoir que des partitions (l'une d'entre elles étant la partition "étendue") sur le disque. La limite commune est simplement que vous ne pouvez avoir que 4 partitions de ce type définies par le MBR, donc vous ne pouvez avoir que ce nombre disponible/actif à la fois. Mais vous pouvez alterner entre les deux à volonté.

J'ai déjà fait de telles manigances avec succès. Notez, cependant, que certains logiciels peuvent faire des choses bizarres et essayer d'écrire dans un espace qui n'est pas dans une partition. Je me méfierais particulièrement de la prise en charge de l'hibernation (s'agit-il d'un ordinateur portable ?). De plus, mon expérience avec Microsoft System Center Data Protection Manager (logiciel de sauvegarde) suggère qu'il stocke les données d'une manière autre qu'en utilisant un volume de système de fichiers dans une partition définie. Une bonne chose à propos de fdisk d'OpenBSD est que vous pouvez juste modifier les enregistrements de démarrage, qui sont des changements qui peuvent être inversés avec suffisamment de soin. A l'époque où j'utilisais MS-DOS plus souvent, FDISK de Microsoft détruisait gentiment les premiers 512 octets (ou était-ce 2048 octets ?) de données dans une partition. Si de telles modifications sont apportées à un volume de système de fichiers, cela entraîne essentiellement une perte de données qui rend généralement l'ensemble du volume de système de fichiers inutilisable. La possibilité d'effectuer certaines tâches en toute sécurité peut donc dépendre du logiciel que vous utilisez (ainsi que de votre connaissance de ce que vous faites et de votre prudence). Je ne recommanderais pas de jouer avec n'importe quelle sorte de redimensionnement/déplacement de disque, ou de suppression de partition (tout en essayant de laisser le volume du système de fichiers intact) si je n'avais pas déjà toutes les données importantes suffisamment sauvegardées (de préférence sur un disque différent).

Une chose que vous pourriez vouloir faire est de COPIER (et non de DÉPLACER) votre partition /dev/sda3 existante. Vous avez suffisamment d'espace libre après /dev/sda7 pour stocker une copie (ou même plusieurs copies). En théorie, cela pourrait être fait avec dd (en utilisant les valeurs appropriées pour des choses comme skip=). Mais si vous écrivez sur un espace non partitionné, vous devrez généralement faire très attention à ce que cet espace ne soit pas utilisé (écrit) par plusieurs logiciels. Si vous ne gardez pas méticuleusement la trace des chiffres, vous allez probablement les perdre. (Pour la quasi-totalité de ce billet, je ne fais qu'écrire sur ce qui est plutôt possible. Pour les données importantes, la seule approche qui soit convenablement recommandable est de faire une sauvegarde correcte qui sauvegarde toutes les données importantes de tout le monde sur l'ensemble du disque).

Je confirme la réponse de Rod Smith à une question posée dans les commentaires : Les systèmes Linux peuvent démarrer à partir de partitions étendues.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X