Suspeito que você esteja enfrentando um conflito entre o disco rígido do sistema e o leitor de cartão. Grub inicializa e encontra sua configuração OK porque o BIOS inicializa corretamente a partir do disco rígido. Mas, depois, o Grub enumera os dispositivos de unidade e o leitor de cartão flash obtém o nome de dispositivo que o disco rígido deve obter. Então, quando o Grub vai inicializar o sistema operacional, ele está olhando para o dispositivo errado.
Se este é o diagnóstico correto, você pode corrigi-lo manualmente, no menu Grub, editando a entrada de inicialização como esta. No menu Grub, selecione o kernel para inicializar e pressione E . Se sua entrada de inicialização diz:
title Ubuntu, kernel 2.6.20-15-generic
root (hd0,1)
kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=3630dd43-f9f9-40b1-8a5f-72c13f2b309c ro quiet splash
initrd /boot/initrd.img-2.6.20-15-generic
quiet
savedefault
... você precisará alterar a linha raiz para apontar para o dispositivo real:
root (hd1,1)
Isso pode levar algumas tentativas e erros, ou como mencionei no comentário, brincando com a linha de comando do Grub para ver quais dispositivos ele detecta. O dispositivo correto será hdX , onde X é algum número (você não precisará alterar a partição número, apenas o X ). Isso deve permitir que você inicialize corretamente, mas você terá que realizar essas etapas manuais a cada vez.
Consertá-lo permanentemente pode exigir a adição de uma linha para o dispositivo de cartão flash ao seu arquivo /boot/grub/device.map , ou a criação de um, se ele não existir. Como alternativa, se você deixar este dispositivo conectado permanentemente, poderá ajustar suas entradas de inicialização em /boot/grub/menu.lst para apontar para o novo dispositivo.
Se você postar seus arquivos de configuração junto com os dispositivos que o Grub vê, provavelmente poderemos ajudar ainda mais.