Aside from all of the obvious things that one can read from the internet about booting from USB on the Surface Pro (i.e. hold down volume button, disable secure boot, etc.), there are a few important things that you need to do to the USB drive before your Surface Pro will boot from it. Why these things are frequently ignored on the "how to boot from USB on your Surface Pro" websites, I don't know. Anyway, here's what you need to know about the media you're trying to boot.
1. The Surface Pro will ONLY boot from disks that are partitioned with a GPT partition scheme AND configured for a UEFI firmware interface. So, if your Surface seems to be ignoring your attempts to boot from USB and going straight into Windows 8, this is likely your problem. Unlike just about every other computer sold today, the Surface has no support for legacy boot. In other words, that USB stick that boots just fine on every other computer in the world (except your Surface) is likely partitioned with an MBR scheme and/or designed for a BIOS firmware interface.
2. The Surface Pro will only boot 64 bit operating systems. In my experience, when trying to boot a 32 bit OS, things will look like they're booting properly for a little while, and then crash, and then boot into Windows 8. Take note, this is different from what happens when it's issue #1 is preventing you from booting from your USB.
3. The Surface Pro will only boot from partitions that are formatted in FAT32 (and possibly FAT16 and FAT12 - I've never tried booting a FAT16 or FAT12 partition and have read conflicting reports as to what is possible with the Surface.) This is a condition of UEFI boot. If you're trying to boot a disk formatted in NTFS, ext3, ext4, etc. it won't work.
Your probably saying to yourself, "Great, now that I know the rules, how to I make my drive conform?". If you have a drive that doesn't meet the above rules, you may or many not even be able to make it conform. I'll let someone else tackle that hurdle.
However, if you have an .iso file that you want to make bootable from your USB, you just need to do the following:
- Make sure the .iso file is for a 64 bit OS
- Download Rufus (http://rufus.akeo.ie/) and use it to create your bootable USB. Be sure to select "GPT partition scheme for UEFI computer". There may be other programs out there, but Rufus is the only one I've found that sets up the partitioning properly for the Surface.
- Make sure secure boot is disabled on your Surface.
- Power down the Surface, hold the volume button down and power the Surface up while continuing to hold the volume button down.
Voila!