Récemment, j'ai du m'installer une debian afin de faire joujou avec Xen pour faire de la para-virtualisation, ça marche particulièrement bien :)
(faudra que je fasse un billet la dessus d'ailleurs... entre la para-virtualisation, et la full-hardware-virtualisation pour virtualiser des machines sous windows car noyau non modifiable, y'en a des trucs à dire et à faire)

Comme j'ai déjà un ubuntu installé, j'ai préféré m'installer une debian à coté pour démarrer sous xen.
De fait, problème au niveau du grub !
Comment faire simplement pour avoir le grub principal, et un grub pour debian (kernel normal et xen) ?
Tout simplement en "chainant" les 2 grubs. le premier est installé sur le MBR du disque dur, et proposera windows / ubuntu / debian
Lorsqu'on choisira debian, ca ira lancer le grub de debian, installé sur la partition idoine.

Ici, je n'utilise pas grub2, que j'aime pas, mais le grub1, configurable à souhait via le fichier /boot/grub/menu.lst.
C'plus simple pour faire du chainage :D
Si vous avez le nouveau grub, et que vous n'aimez pas non plus, allez lire ce billet qui explique comment repasser sur l'ancien.

Prenons un exemple: une machine avec un disque dur ayant 4 partitions :
- sda1: windows
- sda2: swap
- sda3: ubuntu
- sda4: debian

sur le grub principal, dont le dossier /boot est sur la partoche ubuntu (sda3), et installé sur le MBR du disque dur, on a initialement une ou deux entrées pour ubuntu, et une pour windows.

Lors de l'install de grub, le setup demande si on veut installer grub. on choisit "non".
A l'écran suivant, ça nous demande tout de même si on ne veut pas l'installer manuellement, et sur quelle partition, en utilisant la notation grub.
On va indiquer ici (hd0,3) ce qui correspond donc à la 4è partition du 1er disque dur.

Afin que ce 2è grubs puisse être installé sur cette partition, il ne faut pas oublier d'activer le flag de boot avec fdisk. pour ce faire, on se met sur un autre terminal (appuyer sur CTRL + ALT + F2) et on lance liste les partitions de manière à voir si le flag est mis :

fdisk -l /dev/sda

si il y a une étoile dans la colonne 'boot' c'est gagné. sinon il faut l'activer :

fdisk /dev/sda

Appuyez sur a puis indiquez le n° de partition (ici 4, car fdisk commence à 1, contrairement à grub qui commence le compte à 0)
puis on valide, et on appuie sur w pour enregistrer et quitter.

ON peut maintenant retourner à l'install de debian (CTRL + ALT + F1), ou on valide l'install de grub et c'est gagné !

Une fois debian installé, on redémarre sous ubuntu afin d'ajouter une entreé dans le grub principal.

vim /boot/grub/menu.lst

et on rajoute l'entrée suivante :

Title Debian Lenny
root (hd0,3)
chainloader +1

ici c'est la ligne chainloader +1 qui fait tout. elle indique qu'il faut donc aller démarrer sur la 4è partition, ce qui va lancer le grub de debian ;)

Si jamais le grub n'est pas bien installé sur la partition debian une fois l'ordinateur rebooté, voici ce qu"il faut faire : on démarre sur ubuntu, on lance une ligne de commande en root et, avec grub, on va s'assurer qu'il la voit bien

grub
find /boot/grub/stage1

ici, il devrait vous répondre 2 lignes, une sur (hd0,2) et une sur (hd0,3) maintenant, on va installer grub sur la partoche debian

root (hd0,3)
setup (hd0,3)

et c'est fini.

Maintenant, au démarrage de l'ordinateur, on pourra directement choisir ubuntu ou windows pour démarrer dessus.
Si on choisit l'entrée "Debian lenny", alors cela va lancer le grub sur la partition de lenny, qui proposera alors les différents kernel que vous avez installé sur votre debian.