Stage1.5 wird in einen reservierten Bereich geschrieben, und ist genug Code um gängige Dateisysteme zu erkennen und damit die Stage2 zu finden. Ist die stage1.5* in /boot/grub/ nicht vorhanden bei der Installation sucht grub die stage2 anhand des Festplattenblocks wo sie bei der Installation lag. Was natürlich grandios schiefgeht wenn man die z.B. löscht und von einem anderem System wieder her kopiert oder ähnliches. Mit stage1.5 sucht er sie sich neu, braucht dafür aber auch manchmal einen moment (wobei ich nicht 100% sagen kann ob das immer der Grund ist).