Il ne faut pas confondre /boot et MBR : cela n'a rien à voir.
Le MBR (Master Boot Record) est le premier secteur de chaque disque dur (cf Wikipedia). Il est composé de trois parties :
- une zone de 446 octets qui contient du code
- une table des partitions de 64 octets, pouvant contenir la définition de 4 partitions
- une signature : AA55
Au démarrage, le BIOS va charger le MBR du disque dur défini comme principal, et exécuter le code qui s'y trouve.
- Pour Windows, le code cherche une partition active dans la table des partitions et démarre le windows qui s'y trouve.
- pour Grub, le code (appelé stage1) va charger la suite du code (appelé stage1.5) sur la partition définie lors de l'exécution de la commande root de grub.
les stage 1.5 de grub (il y en a un pour extXfs, un pour reiserfs, un pour jfs...) permettent de lire un filesystem du type considéré et donc de trouver le couple noyau/initrd.
L'intérêt d'une partition /boot dédiée :
- ta racine (/) est au choix : cryptée, dans un LVM, via un montage NFS. Comme grub n'a pas de stage1.5 pour ces types de filesystem (ce ne sont pas des filesystems à proprement parlé, mais je simplifie), tu dois avoir un /boot séparé
- tu as plusieurs os linux et tu ne veut qu'un menu de boot. Tu mets tes différents noyaux (debian, Arch, Ubuntu...) dans la même partition et tu définis ton menu.lst pour te les présenter tous.
EDIT : il y a
cette page qui présente bien le mécanisme de boot du bios et de linux. Il y a une erreur à la fin de la partie stage1 (l'article dit que le primary boot-loader "stage" cherche une partition active, mais cela dépend du code - c'est comme ça que fonctionne Windows, mais pas grub)
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM