特殊なUSBメディアや、USBメディアでは無いもの(たとえば、SDHCカード)などにインストールした場合、それをinitramfsを利用したカーネルが読み込めることが必要になります。そのような読み込むための機能を提供するものはモデュール(module)と呼ばれるようです。 initramfs(initrd.img-・・・)に適切なモデュールを組み込めば、そのような特殊なメディアを認識できて、その中にインストールされたUbuntuを起動できるかもしれません。

モデュールを組み込む方法

1)まず、起動したいUbuntuのカーネルのバージョンと同じカーネルで、Ubuntuを起動します。インストール直後なら、インストールに用いたメディア(たとえば、日本語RemixCD)で起動すれば良いかもしれません。
2)/etc/initramfs-tools/modulesに、組み込みたいモデュールの名前を追記します。たとえば、mmc_block.koを組み込みたいなら、端末で

sudo gedit /etc/initramfs-tools/modules

で開いたテキストエディタで、末尾に改行してから

mmc_block

と追加して保存しテキストエディタを閉じます。
3)端末で

sudo mkinitramfs -o モデュールを組み込んだinitramfsの名前

とやれば、上記で記した名前のファイルがカレントディレクトリ(おそらくホームフォルダ)に生成されます。それをgrub4dosなどの起動時に利用されるブートローダで認識できるパーティションにコピーして、initramfsとして利用するように設定すれば良いです。もちろん、カーネル(/bootにあるvmlinuz-?.?.?-?-generic)もブートローダで認識できるパーティションにコピーして、カーネルとして利用するように設定する必要があります。

SDHCカードの場合、

mmc_core
mmc_block
sdhci
sdhci-pci

を組み込めば良いかもしれません。
参考:
http://ubuntu.ubuntuforums.org/showthread.php?t=981951
http://www.osnews.com/story/20743/Eeebuntu_2_0_SD_Card_Installation_on_the_Aspire_One
成功した例はこちら

USB3.0接続カードを介した場合、Ubuntu10.10なら

xhci_hcd
usbhid
hid
usb_storage

を、
Ubuntu10.04なら

xhci
usbhid
hid
usb_storage

を組み込めば良いかもしれません。

注:ただし、xhciを組み込むとサスペンドができなくなるようです。サスペンドに関する問題を回避するには、SUSPEND_MODULES="xhci-hcd" を /etc/pm/config.d/unload_module に記述してください。

謝辞

このページの情報を作成するにあたり、jackalopeさんのご投稿および、のんきさんからのご連絡を参考にさせていただきました。 この場をお借りしまして、jackalopeさんとのんきさんに御礼申し上げます。

UbuntuJapaneseWiki: UbuntuTips/UsbInstall/BootUbuntuInUsbWithBiosWithoutSupportForUsb/Mkinitramfs (最終更新日時 2012-01-10 11:49:19 更新者 匿名)