Une partition / boot est-elle toujours nécessaire?

31

Dois-je créer une /bootpartition à chaque fois que j'installe une distribution Linux?

Y a-t-il une différence entre avoir une /bootpartition et rendre la /partition amorçable?

user1301428
la source
Je pense qu'il est plus sûr de garder la partition / boot séparée pour éviter d'écraser le chargeur de démarrage par erreur. Si je ne me trompe pas, le chargeur de démarrage devrait être dans les premiers cylindres du disque pour s'assurer que le processus de démarrage fonctionnera correctement car le BIOS charge toujours les premiers octets à partir du disque en supposant qu'il existe un code qui pourrait gérer un contrôle supplémentaire et est capable pour charger le système d'exploitation.
mnmnc
1
Ce n'est certainement pas une nécessité, mais comme indiqué dans le commentaire ci-dessus, c'est une bonne pratique.
Hamed Momeni

Réponses:

30

Pour répondre à la question pure et simple: non , une partition séparée pour /bootn'est certainement pas nécessaire dans tous les cas.

Cependant , même si vous ne fractionne pas quoi que ce soit d' autre, il est généralement recommandé d'avoir des partitions séparées pour /, /bootet échange. Je suggérerais également fortement de mettre également /homeune partition séparée, même si vous ne divisez plus la hiérarchie du système de fichiers.

La raison pour laquelle / boot sur une partition distincte du système de fichiers racine normal est que vous pouvez réduire la complexité du système de fichiers sur disque, ce qui réduit les exigences du chargeur de démarrage pour amorcer le noyau et le disque RAM initial. Cela devient particulièrement intéressant si vous exécutez une configuration non triviale - peut-être que vous exécutez RAID, ou un système de fichiers inhabituel tel que ZFS sur la partition racine, ou une partition racine chiffrée. La partition pour / boot peut alors être formatée en utilisant par exemple ext2fs ordinaire. Étant donné que la partition ne doit être que petite (quelques centaines de mégaoctets suffisent; / boot sur mon système actuel est de 100 Mo, et je ne ressens aucune contrainte de cela), les inconvénients d'un système de fichiers non journalisé tel que ext2 ont besoin pas si bon parce que les contrôles sont si rapides de toute façon, et la relative simplicité du système de fichiers ainsi que sa grande stabilité statique peuvent rendre la corruption non détectée moins probable. Le fait que le chargeur de démarrage n'ait pas besoin de comprendre nativement un système de fichiers exotique ou une configuration de disque est un autre avantage possible.

La raison pour mettre / home sur une partition séparée est que, même si quelque chose devient malhonnête et commence à le remplir (ou si vous le faites vous-même), vous ne risquez jamais de causer des problèmes pour les processus non-utilisateurs (qui manquent rarement de / home) ou le processus de démarrage lui-même. En outre, il devient beaucoup plus facile de réinstaller le système d'exploitation ou de changer de distribution, si vous pouvez simplement dire au programme d'installation de laisser / home tel quel et de le reformater /pour le remplir avec ses propres fichiers. En tant que dernier effort de récupération, si quelque chose se passe vraiment mal sur le plan logiciel, cela peut faire une différence majeure.

L'exécution d'un fichier d'échange n'est pas une configuration recommandée sous Linux, et je ne suis même pas sûr que la plupart des noyaux courants des distributions prennent en charge(ou autoriser) l'échange basé sur des fichiers. Il y a plusieurs raisons à cela, l'une des principales raisons étant les performances (principalement en raison du risque de fragmentation). Le swap est déjà horriblement lent par rapport à la RAM (il s'agit plus d'une mesure d'arrêt que d'un correctif), il n'y a donc pas de raison de le ralentir encore plus en risquant la fragmentation. Et une partition de swap peut être partagée en toute sécurité entre les distributions Linux dans un environnement multi-boot; peut-être pas une considération dans le cas général, mais certainement une considération pour certains. Une partition de swap peut également être placée sur un disque physique séparé avec des caractéristiques différentes; peut-être un SSD ces jours-ci, ou un lecteur de 10 krpm fonctionnant sur un canal de contrôleur séparé (ce dernier est moins pris en compte de nos jours lorsque chaque disque SATA est sur un canal séparé, mais pourrait faire une différence dans les jours PATA).

Personnellement ces jours-ci, je sépare /, / boot et permute, avec / sur mon système actuel étant de 100 Go (je suis loin d'utiliser tout cela; l'utilisation actuelle est de 8,9 Go, et cela me donne tout ce dont j'ai besoin en termes de logiciels, puis certains). Le reste du disque principal est composé d'un seul système de fichiers que je monte par convention personnelle sur / da ( disk a). Un deuxième disque serait / db, puis / dc et ainsi de suite. (Je doute que le FHS approuve vraiment ce schéma, mais cela fonctionne bien pour moi dans la pratique.) Je lie ensuite le montage / home dans / da, ce qui signifie que je peux déplacer le répertoire physique sans avoir à se soucier de la mise à jour de chaque chemin d'accès référençant ou repartitionner juste parce que je me suis rendu compte que je manquais un peu d'espace disque pour / home.

un CVn
la source
3
De plus, distinct / boot n'est requis que si la partition racine est chiffrée (et le démarrage est évidemment en clair)
usr-local-ΕΨΗΕΛΩΝ
@djechelon Je pense que cela relève de "une configuration non triviale", mais je vais modifier votre exemple particulier dans.
un CVn
J'examine ZFS, et chaque guide semble indiquer que lorsque vous utilisez ZFS sur root, vous avez besoin de quelque chose comme ext * on / boot.
CMCDragonkai
1
@CMCDragonkai Cela ne change pas ma réponse que "non, une partition séparée pour / boot n'est certainement pas nécessaire dans tous les cas. ".
un CVn le
3

Je ne pense plus que ce soit obligatoire. Dans le passé, c'était nécessaire en raison de certaines limitations du BIOS. Il était impossible d'avoir une partition de démarrage après 8 ou 64 Go (je ne me souviens pas exactement). Ensuite, si vous vouliez avoir un double démarrage, vous pourriez mettre une première petite partition (/ boot), et la partition Windows de démarrage, et après, les autres partitions Linux. Il y a longtemps, il n'y avait aucun répertoire / boot. Le noyau était directement sur /.

Thierry Chich
la source
1
Le noyau était parfois stocké directement dans la racine (certaines distributions pourraient toujours le faire), mais vous pourriez toujours avoir besoin d'autres choses telles que initrd, System.map, la configuration du chargeur de démarrage, etc., qui préféraient une hiérarchie qui leur soit propre.
un CVn
2

La différence est l'optimisation du système de fichiers. Généralement, chaque partition a ses propres tables pour les fichiers, les descripteurs, etc. Vous pouvez installer Linux sur une seule partition '/' sans '/ boot', '/ swap', / usr 'etc., mais ces tables internes à partition unique deviendront bientôt énormes et certaines opérations deviendront un peu lentes. Ainsi, différentes partitions sont utilisées pour fournir des conteneurs séparés et optimisés pour différents types de tâches.

grigoryvp
la source
L'ensemble complet des tables d'inode est rarement utilisé en dehors des vérifications du système de fichiers. Le plus souvent, seules les tables d'un répertoire particulier sont référencées. Ceux-ci ne sont pas (ou peu) de tailles différentes en fonction de la taille de la partition.
un CVn
La taille est basée sur la partition usage, pas sur la taille. inodeest une liste, donc plus de inodes = un peu plus de temps pour la recherche de fichiers, l'ajout, etc.
grigoryvp
Je ne vois pas en quoi votre commentaire contredit le mien. Et une partition de swap n'a pas de concept d'inodes, car elle ne traite pas des fichiers. Il y a une grande différence entre /swapet swap.
un CVn
0

Non, je pense qu'une partition / boot n'est pas nécessaire pour plusieurs raisons:

  • Vous pouvez souhaiter que le dossier / boot ne soit pas trop petit et l'inclure dans /
  • Il n'est pas nécessaire de créer une partition car les fichiers et dossiers de / boot ne sont pas souvent mis à jour et accessibles. Ce n'est pas comme un dossier / tmp ou / swap. les programmes n'écrivent pas dans / boot.
  • / boot n'est utilisé que lors du démarrage et des mises à jour du noyau lorsque les images initramfs sont mises à jour.
  • Vous pouvez inclure / boot to / root dans une matrice RAID 5 et cela fonctionnera avec GRUB2. Ajoutez GRUB2 au MBR pour chaque lecteur. Vous pouvez démarrer à partir du 2ème, 3ème lecteur ... lecteur si le 1er lecteur est mort.
  • Moins de montures = moins d'uuid = plus de visibilité = plus de simplicité
Nicolas Guérinet
la source