Questions sur le partitionnement

Bonjour à tous :wink:

Le partitionnement à toujours été un problème pour moi, voilà pourquoi je fais appel à vous pour essayer de comprendre les grandes lignes et enfin pouvoir faire des multiboots plus proprement.

Voici actuellement le partitionnement de mon 17" :

image.noelshack.com/fichiers/201 … nement.png

J’ai donc :

  • Une partition boot sur /dev/sda1

  • Un partition étendue /dev/sda2/ qui contient deux OS :

     - [b]Kali linux[/b] sur [b]/dev/sda5[/b] (partition /) et [b]/dev/sda6/[/b] (le swap)
    
     -[b] Debian 8[/b] sur [b]/dev/sda7[/b]
    

J’ai fait tout ça un peu à l’arrache et sans vraiment comprendre, j’ai donc plusieurs questions :

J’ai ma partition boot unique sur /dev/sda1, est-il possible de faire pareil avec le swap, c’est à dire d’avoir une seule partition swap pour tout les systèmes et qui serai sur /dev/sda2 par exemple et non sur une partition étendue ?

Au niveau des partions étendues, il vaut mieux en créer une pour chaque système que l’on veut installer ou bien comme je l’ai fait sur mon 17", càd une seul partition étendue ? Le problème c’est que dans ma partition étendue /dev/sda2, j’ai un peu tout qui se mélange, j’ai à la fois le swap et la racine de kali et la partition de debian.

Voilà, je vous remercie d’avance :wink:

Je ne suis pas sur pour l’histoire de partition étendues, mais à mon avis ça n’a aucun impact.
En ce qui concerne la partition swap, tu peux en effet la partager entre plusieurs OS.

Je confirme les dires de N3mesis98, ça n’a aucune importance.J’ai pris l’habitude de mettre /boot et le swap sur deux partitions primaires, et tout le reste sur une seule partition étendue. Je n’ai jamais rencontré aucun souci lié à ça.
Tant que /boot est sur une partition primaire, tu peux faire à peu près ce que tu veux.

Pour le swap, l’installation de Debian utilise par défaut une partition swap qui existerait déjà. Il semblerait que ton intallation soit parfaite, actuellement. Tu n’as qu’un seul swap, utilisé par l’OS en cours d’exécution, et certainement par l’autre aussi. La seule remarque que je ferais mais qui est hors de propos ici est que c’est généralement une bonne idée de séparer /home aussi.

On peut tout à fait tout mettre dans une seule partition étendue ou séparer dans des partitions étendues différentes. Mais :

  • Une partition étendue est vue comme une partition primaire dont on ne peut en avoir que 4.
  • Les EBR décrivant les partitions logiques sont chaînées. Si l’un des maillons de la chaîne vient à être effacé/corrompu, tu peux dire au-revoir à toutes les partitions logiques qui suivaient. Et cette chaîne rend le tout plus bien plus difficile à sauvegarder que les 512 octets d’un MBR.

On peut tout à fait partager un espace de swap. Par contre, il ne faut pas qu’un Linux soit mis en veille prolongée / hibernation / “suspend to disk” puis sortir de la veille prolongée en bootant sur un autre Linux. Je n’ai pas testé mais je pense que cela n’apprécierait pas trop.


AnonymousCoward

Merci pour vos réponses :wink:

Donc sur mon nouveau pc, je veux un triple boot ArchLinux/Debian/kali, donc avant tout je vais booter sur le live de gparted et partitionner comme ceci :

  • Une partition boot en ext4 de type primaire (/dev/sda1)

  • Un partition swap (/dev/sda2)

  • Une partition étendue (/dev/sda3) qui contiendra 7 partition logiques : /, /home et /tmp pour debian ; /, /home et /tmp pour Arch et / pour kali.

Ce partitionnement est-il correct ?

Juste 2 autres questions, j’ai du mal à cerner la différence entre une partition primaire et une partition logique, pouvez-vous m’éclairer ?

En type de partition je prend msdos ?

Ensuite pour le grub, pour chaque os je l’installe bien sur /boot hein ?

Merci à vous :wink:

Vue la quantité de partitions que tu as à gérer, je te conseille de te pencher sur les LVM. Ça t’évitera un casse-tête monstrueux si tu veux redimensionner ou déplacer une partition, tu gardes les avantages des partitions secondaires (pas de limitations de nombre) sans les inconvénients (cf le message de AnonymousCoward)

Merci :wink:

Mais mon exemple de partitionnement précédent était correct ?

Tu me confirmes que pour chaque nouvelle install je dois installer grub sur /boot mais par contre je ne dois pas le formater ?

En gros mettons qu’après l’install de ubuntu je veuille installer debian, est-ce que je dois repréciser que je veux utiliser boot, ou bien le laisser en non-utilisé (dans l’installateur) ?

Oui, ton exemple est correct. Il y aurait des choses à redire, comme la possibilité d’utiliser la même partition /tmp pour les ArchLinux et Debian (voire kali), ou bien pourquoi ne pas partitionner kali aussi en / et /home.
Mais si tu partitionnes comme ça, tout fonctionnera.

Et concernant /boot, il n’est pas utile de l’installer à chaque fois. Définis juste à l’avance quel OS va gérer /boot (quand est-ce que tu vas configurer grub, mettre à jour la liste de boot, …). Ensuite, pour être sûr de ne pas avoir de problème de compatibilité, installe tous tes OS en finissant par celui qui devra gérer /boot. Lors de cette installation, formate /boot, et installe ton amorceur comme il le propose. Si c’est une Debian, l’OS devrait détecter tout seul les autres installations et les ajouter à la liste de démarage.
Finir par l’installation de l’OS qui gérera /boot est peut-être stupide comme idée. Il n’y a aucun problème entre Debian et ArchLinux (tu peux gérer /boot de puis les deux simultanément, si tu utilises le même amorceur, et le même outil de configuration), mais je ne connais pas kali.

En fait, j’ai l’impression que tu te poses beaucoup de questions sur ton partitionnement pour pas grand chose. Tant que tu n’utilises pas de LVM, ton installation sera assez rigide. Toutes les possibilités que je te présente ci-dessous fonctionneraient dans ton cas.

[ul][li]/dev/sda1 pour l’OS 1[/li]
[li]/dev/sda2 pour l’OS 2[/li]
[li]/dev/sda3 pour l’OS 3[/li]
[li]/dev/sda4 pour le swap[/li][/ul]
Dans ce cas, c’est l’OS 1 qui détient /boot et qui le gère.

[ul][li]/dev/sda1 pour /boot[/li]
[li]/dev/sdaA pour l’OS 1[/li]
[li]/dev/sdaB pour l’OS 2[/li]
[li]/dev/sdaC pour l’OS 3[/li]
[li]/dev/sdaD pour le swap[/li][/ul]
Là, /boot peut en théorie être géré par l’OS 1, 2 ou 3 si l’outil utilisé est le même. Ici, il faut utiliser une ou plusieurs partitions secondaires pour les OS, d’où les sdaA, sdaB, … et non sda2, sda3, …

En dehors du problème du boot, les partitions de chaque OS peuvent être faites à ta sauce, jusqu`à un truc comme ça (bien que non recommandé ^^) :
[ul][li]/boot pour OS 1[/li]
[li]/home pour OS 1[/li]
[li]/tmp pour OS 1[/li]
[li]/ pour OS 1[/li]
[li]swap pour OS 1[/li]
[li]/boot pour OS 2[/li]
[li]/home pour OS 2[/li]
[li]/tmp pour OS 2[/li]
[li]/ pour OS 2[/li]
[li]swap pour OS 2[/li]
[li]/boot pour OS 3[/li]
[li]/home pour OS 3[/li]
[li]/tmp pour OS 3[/li]
[li]/ pour OS 3[/li]
[li]swap pour OS 3[/li][/ul]

Quand tu gères tes partitions, les règles à respecter pour que “ça fonctionne” sont :
[ul][li]maximum 4 partitions primaires/étendues, le reste va en partitions logiques dans une partition étendue ;[/li]
[li]au moins une partition / par OS ;[/li]
[li]au moins un swap (conseillé) ;[/li]
[li]avoir conscience que l’amorceur est écrit au début du disque, ce qui veut dire que si la première partition est / pour OS 1, c’est l’OS 1 qui sera “responsable” de l’amorceur. La première partition ne peut donc pas être /home, /tmp, swap ou quelque-chose comme ça. Les deux seules possibilités sont /boot ou une racine / d’un OS.[/li][/ul]

Le problème des possibilités que je t’ai présentées ici sont leur rigidité. Tu mets ça en place, et il est très difficile de modifier ce schéma par la suite. Déplacer une partition prend un temps fou, avec des risques de perte de données. C’est pourquoi je me permets d’insister sur les LVM. Ça t’évitera de sérieux ennuis plus tard.

EDIT : Je me suis rendu compte que mon message n’apportait pas grand chose. Voici donc ce que j’aurais mis en place si j’étais dans ta situation :
[ul][li]/boot (la seule partition primaire)[/li]
[li]swap[/li]
[li]/ pour OS 1[/li]
[li]/home pour OS 1[/li]
[li]/ pour OS 2[/li]
[li]/home pour OS 2[/li]
[li]/ pour OS 3[/li]
[li]/home pour OS 3[/li][/ul]
J’aurais certainement tenté un truc pour avoir un /home commun, mais mes expériences précédentes m’ont démontré que c’est généralement une mauvaise idée.
En ce qui concerne l’installation, j’aurais installé l’OS 2 puis 3 en n’indiquant PAS /boot (installation sur / et /home uniquement), puis terminé par l’installation de l’OS 1 en indiquant /, /home et /boot. L’OS 1 devrait détecter l’OS 2 et 3.
J’espère que c’est clair ^^

Merci à toi :wink: Je vais me pencher sur LVM cette aprèm !

Si j’ai bien compris pour /boot :

D’abord je créé mes partitions avec gparted et avec /boot sur /dev/sda1, j’installe ensuite les OS de mon choix sur les partition créées mais sans rien faire sur /dev/sda1. Pour le dernièr OS (Debian), je peux enfin toucher à /dev/sda1, je le formate en ext4 et je met /boot comme point de montage.

C’est bien ça ?

Et lorsque les autres systèmes vont me demander si je veux installer grub sur le premier secteur d’amorcage du disque dur, je répond non car c’est avec le dernier OS que je le ferai ?

Merci encore pour ta patience :033

J’ai bien suivi ce que tu m’as dit, j’ai d’abord installer kali sans toucher au boot, puis ensuite Debian.

Mais j’ai un autre problème, seule ma debian a accès au swap, pas la kali :confused:

Pourtant lors de chaque install j’ai précisé et formaté le swap.

Y-a t-il une solution ?

En fait dans kali, pour avoir accès au swap je suis obligé de faire manuellement “Activer le swap” (dans gparted) à chaque démarage, y-a t-il un moyen d’activer le swap automatiquement ?

Tu peux nous donner le contenu de ton [mono]/etc/fstab[/mono] et nous dire quelle est ta partition swap ?

Alors j’ai suivi ce tuto : http://doc.ubuntu-fr.org/swap#activerdesactiver_l_utilisation_du_swap

En fait l’UUID de ma partition swap n’était pas correct dans fstab et /etc/initramfs-tools/conf.d/resume, j’ai donc fait les modifications nécessaire et j’ai mon swap sur ma kali.

Mais cette modification a ensuite déclenchée un problème au démarrage de debian (a job is running …) et j’ai donc dut faire les mêmes modifications d’UUID dans debian pour que tout fonctionne.

Etonnant mais ca marche la :wink:

Bah je commence à ne plus rien comprendre …

Quand je change mon swap sur debian, je le perd sur kali, et inversement :confused:

Quelques remarques en vrac…

Il ne devrait pas y avoir plus d’une partition étendue sur un disque. Le comportement d’un OS avec plusieurs partitions étendues n’est pas défini.

D’accord avec la fragilité (et le manque de souplesse) de la structure partition étendue et partitions logiques. Si on a besoin de plus de 4 vraies partitions, une possibilité consiste à utiliser une table de partition au format GPT qui supporte au minimum 128 partitions sans distinction primaire/logique. Seule limitation éventuelle, Windows ne peut être installé sur un disque au format GPT qu’avec un amorçage de type UEFI.

D’accord avec la suggestion d’utiliser LVM. Il est important de laisser de l’espace non alloué dans le VG (groupe de volumes logiques) pour l’agrandissement futur des volumes, sinon on perd beaucoup de l’intérêt de LVM. On peut créer un VG par OS, mais c’est plus souple de tout mettre dans le même VG. A noter que le système de fichier btrfs, qui remplacera ext4 à terme, inclut des fonctionnalité qui peuvent aussi remplacer LVM dans une certaine mesure.

Concernant /boot, je déconseille d’utiliser la même partition pour plusieurs OS, ça risque d’avoir des effets indésirables. GRUB 2 sait lire le format LVM, donc il n’y a pas absolument besoin d’une partition classique pour /boot ou la racine. La seule restriction est que /boot ne doit pas être chiffré (en fait seul /boot/grub ne doit pas être chiffré mais on va faire simple).

Je recommande une partition séparée pour /var pour éviter, comme je l’ai déjà vu plusieurs fois, qu’un problème quelconque générant un gros volume de logs finisse par remplir la partition racine.

Concernant le swap partagé, l’installateur Debian reformate obligatoirement toute partition marquée comme “utiliser comme swap”, ce qui change son UUID. L’OS qui utilisait déjà ce swap et l’identifiait avec son UUID ne va donc plus le trouver. Il y a plusieurs méthodes pour que ça fonctionne : ne pas utiliser le swap dans l’installateur et ne l’ajouter qu’après l’installation, ou corriger l’UUID dans la configuration de l’autre OS (/etc/fstab et peut-être ailleurs, notamment le générateur d’initramfs pour la sortie d’hibernation), ou remettre l’UUID d’origine sur la partition et corriger dans la configuration du dernier OS installé.