Running Linux from a USB flash drive is a great way to test it, and at the same time to have a distribution, that one can easily move from one machine to another.
I'd been testing different methods to do so, and at the end of this post I'll list them, with a comment about it. If you know any other resources, please post it, so we all can share it.
The first thing is to be sure that your computer's BIOS support USB Boot. Check your computer's manual to know how to get into the BIOS, once there, in the Boot options look for something like: USB-HDD, USB-ZIP or HDD Generic USB SD Reader.
Another thing to keep in mind, is that USB flash drives have a limited erase/write cycles of about 100,000.00, and the OS writes every two seconds to it. Which it means, the installation would be good just for a few months/weeks only. Depending how much one uses it.
Right now, I'm using this USB reader. Which allows me to change the card easy and inexpensively. I have flash cards for each of the different distros I'm using. All I do is change the card, according to the one I feel using at the moment.
Regardless of which method you choose to use, the best way is to download the ISO of the distribution before hand. Use an empty USB flash drive, and if there are files to erase, Windows can be use to format it fat32.
Here is the list of the resources I tried:
For Ubuntu
http://rudd-o.com/new-projects/portablelinux
https://launchpad.net/usb-creator
For Fedora
https://fedorahosted.org/liveusb-creator/
Great utility, easy to run, I liked the most the choice to choose the size of the Persistent Storage.
For any distribution:
http://www.pendrivelinux.com/
Great detailed tutorials.
And the one, which I considered the best, because it's easier, faster and works with all the distributions.
http://unetbootin.sourceforge.net/
It can be implemented from Windows. Indeed, it works better from it. So if you don't want to double boot Linux and Windows, but still want to use Linux, this is a better option than a Live CD. Of course, UNetbootin can also be run from an existing Linux installation.
