* Hold Volume Up key from the device to power it on. Put your USB drive into the USB 3.0 port.
* From start screen, open charms bar, tap Settings > Change PC Settings > General > “Restart Now” button under Advanced Startup.
* Select Troubleshoot > Advanced Options > Startup Settings >
Reboots into startup setting screen
* In Startup Setting screen, disable early launch anti-malware protection. Shuts down and turn it on again.
* Do the step 2 again. In options screen, tap on Use a device > UEFI: *** (like UEFI: SanDisk Cruzer 1.26).
Oh and here is a video of how to do it: ( I like Videos)
It has to be a UEFI disk or UEFI image on a USB stick. You will typically see 2 entries for a UEFI disk or device. One will not have the UEFI notation and the other will not. You have to select the one with the UEFI notation. On the Surface you can disable secure boot but you cannot disable UEFI boot. When I boot the Surface from an external device I just shut the system down, plug in the device, hold in the upper end of the sound rocker switch and press the power switch. As soon as the system starts I release the power button and then the rocker switch and it begins to boot. I cannot get any external device to boot without first disabling secure boot. Try to get your Linux disk to boot on a regular computer and force the boot menu to be displayed (F8 on ASUS, others have similar capability). When the boot menu is displayed look at all the entries and you will see the ones with UEFI notation. If you don't see one for your Linux disk you are not going to be able to boot the surface from it.
Yep, his post is extremely significant because there are people like me who have utilities that create bootable media, but if the image they create is not UEFI-compliant, then the Surface won't boot it.
For example, I used PE Builder to build and create a customized WinPE bootable environment. When I burned the image to a USB flash drive, it would boot no issues on my old ThinkPad W700 laptop; however, the Surface Pro would not see it at all. I kept on investigating and chasing down this problem until I eventually learned that the problem was due to the fact that the WinPE image that was created was not UEFI-compliant.
I wish this wasn't the case and that the Surface Pro would boot non-UEFI USB drives, but it is what it is and my workaround has been to purchase and use an additional USB drive (non-boot; just data) in order to get the customized boot environment that I require.