Liegt GRUB auf der externen Platte oder auf der internen? Sollte GRUB auf der externen liegen, musst du dein BIOS darauf einstellen, dass er von USB booten soll (geht nur bei einigen wenigen).
Liegt GRUB auf der internen, gibt's folgenden Roman von mir:
Angeblich kann GRUB von allen möglichen Medien booten - es sollte also jemand schreiben, der sich besser damit auskennt. Ich mag GRUB nicht, verwende dafür LILO, aber das soll dich jetzt nicht irritieren.
Was ich sagen will:
Wie Karsten schon sagte, werden USB-Massenspeicher als SCSI-Geräte eingebunden, dazu braucht muss USB laufen (Treiber geladen).
Vermutlich kann GRUB nicht von der USB-Festplatte starten, weil es dazu über USB auf die Festplatte zugreifen muss, wozu ein Treiber benötigt wird. Treiber werden aber erst beim Booten des Kernels bzw. Laden der Module geladen, dies geschieht aber erst, wenn GRUB Linux starten lässt...
Problemlösungen: (1) du installierst Linux auf einer internet Platte (nur das System, Daten kommen auf die externe) oder (2) du legst GRUB und Linux-Kernel auf die interne Platte und den Rest des Systems auf die externe, dazu musst du eine ~50MB Boot-Partition (/boot) erstellen, eine eigenen Kernel kompilieren und USB fest (nicht als Modul!) darin einbinden.
Fazit: Du musst direkt von der externen booten, sofern darauf GRUB installiert ist; du installierst Linux auf eine internen (kannst auch nachträglich rüber ziehen) oder du - sofern GRUB auf der internen - beschäftigst dich damit, ob man irgendwie von USB booten kann ;)
HTH