Maybe you can.
Windows doesn’t really care at all, for a reason we often overlook: the initial steps of booting your computer have nothing — or at least very little — to do with Windows.
Let’s have a look at booting, who does what at boot time, and why you probably can boot from an SD card if you really want to.
Become a Patron of Ask Leo! and go ad-free!
Booting from SD
What devices can be used to boot is controlled by your computer, not Windows. Whether or not your computer supports booting from an SD card varies based on the computer. If your computer can boot from a USB device, a thumb drive removes all confusion, but a USB SD card reader or similar device may also work.
What it means to boot
To “boot” something is a term derived from “bootstrapping”, which in turn came from the phrase “to pull yourself up by your bootstraps”.1
In the realm of computing, to boot something means the process of starting up a computer or similar device from some inactive state to a working, functional state. It’s mostly about loading the operating system software, such as Windows, but can also involve any software configured to run when a computer starts.
Note that I said, “Load the operating system software.” That’s our clue as to why Windows doesn’t care what you boot from.
Boot time chicken and egg
Windows doesn’t control the first part of the booting process because Windows isn’t running yet.
The boot process loads Windows,2 so booting starts before Windows comes into play.
It doesn’t have to be Windows at all. Your machine could boot into Linux or some other operating system entirely. Not only is Windows not involved; it may not even be installed on the machine.
BIOS does the booting
What controls the booting process is the computer’s BIOS — or UEFI, the more secure and powerful BIOS replacement. I’ll refer to both as BIOS.
The computer’s BIOS is built into the hardware. Aside from some housekeeping when it starts, it’s there and running the instant you turn on your computer.
A BIOS has several different jobs, one of which is to load the operating system.
In other words, it’s the BIOS that does the booting.
Logically enough, your computer’s BIOS determines what devices you can boot from.
If your computer has a built-in SD card reader and your computer’s BIOS supports booting from that reader, then you’re good. It should, in theory, work.
In reality, most computers don’t have a built-in SD card reader. Most computers do have USB sockets, though. As a result, it makes more sense to make the USB interface the next most logical boot device after the hard disk itself (or any optical drive).
Most SD card readers are themselves external devices you connect to your computer via a USB interface. Therefore, you should be able to create a bootable SD card if you treat that external SD card reader as if it were a USB thumb drive.
However: if you need to have an external card reader and an SD card, it’s probably just easier to use a plain old USB thumb drive to begin with.
Where many people get hung up, particularly since the introduction of UEFI, is boot order.
When you turn on your computer, the BIOS essentially asks itself a series of questions to figure out what to boot from.
- Is there a hard disk? Is there an operating system3 on the hard disk?
- Yes? Great, let’s boot that.
- Is there a CD or DVD drive? Is there a CD or DVD inserted? Does it have a bootable operating system on it?
- Yes? Great, let’s boot that.
- Is there a USB drive? Does it have a bootable operating system on it?
- Yes? Great, let’s boot that.
- I give up. No bootable devices.
As you can see, if there’s a bootable operating system on the hard disk, the USB drive will never be used for booting.
Most BIOSs let you change the order it checks. A very common alternate order is to check the CD/DVD drive first, then USB, and lastly the hard drive. As long as neither the CD/DVD drive nor the USB drives have anything bootable inserted,4 the machine boots from the hard drive; otherwise, the inserted disk or thumb drive is used.
How you change the boot order depends on the BIOS in your machine, and naturally, different machines have different BIOSs. You’ll need to check the documentation that came with your machine.
UEFI can make things more complicated because it provides a security mechanism that prevents changing the boot order at all, or prevents booting from anything other than the hard disk.
And this is also where Windows can get involved in the boot process… kind of.
UEFI, booting, and Windows
With the advent of UEFI, many of the choices we could make at boot time are now made in Windows itself instead. In Windows versions after 8, to reboot into a recovery mode, repair Windows, or even change many different start-up options, you use the Settings app. Then, under the control of the UEFI, the machine reboots, and whatever was selected happens.
To me, it feels like putting the cart before the horse. You have to boot into Windows, (usually proving you’re the administrator — an added security measure), in order to run the settings app to make choices affecting how the machine boots the next time. But it’s still a reboot. It’s the UEFI determining what happens, but at the instructions of a previously running copy of Windows.
One of the more frustrating aspects of UEFI is that it can be configured to disallow booting from external media at all. This is a security measure that prevents people from walking up to your computer, inserting a disc, and forcing a reboot to bypass all your other security. Unfortunately, it’s a hassle if you have a legitimate need to boot from something other than the hard disk (as in the case of a failed hard disk).
Once again, this also all depends on your specific computer and exactly how your computer manufacturer configured the UEFI used in your machine.
If it looks like a USB drive…
One of the nice aspects of the USB interface is that it more or less hides the technology being used from the computer. If your USB SD card reader looks like a USB flash drive to the computer, you should be able to use it as a boot device. Similarly, one of my recommendations for booting from DVDs and CDs for machines that don’t have optical drives is to get an external USB DVD reader. Most look like any other USB device at boot time, and if the BIOS supports booting from USB, they can be used for exactly that purpose.
So, sure, you can boot from an SD card if you like; you probably just need to treat it like a USB flash drive.
But I don’t see any huge advantage to doing so.
If you need to boot from a flash memory device, use a USB thumb drive if at all possible. As long as your BIOS supports booting from USB, using an actual thumb drive will remove all confusion in case an SD card reader fails for some reason. Alternatively, look for card readers and other devices that “look like” a thumb drive to your BIOS.
While you’re at it, boot yourself into a newsletter subscription: Subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.
Download (right-click, Save-As) (Duration: 6:45 — 6.4MB)
Footnotes & References
1: More at Wiktionary.
2: More correctly, it loads a small program that loads a somewhat larger program that then loads another larger program, which is typically Windows, which then finishes the whole process. But that’s beyond the scope of what we care about here.
3: Technically, “Is there a boot record?” That boot record may itself contain a small program to make further choices about what to do. This is typically how dual-boot or multi-boot systems are set up.
4: Sadly, some BIOSs are bad at this. Sometimes any connected USB drive, whether it has an operating system on it or not, will be enough to cause the BIOS to try to boot from it … and then fail.
21 comments on “Why Can’t I Boot From an SD Card?”
If you change the UEFI boot order in Windows 10 , is that order used only on the next reboot or on all successive reboots?
It should be a permanent change, but it really REALLY, depends on the specific UEFI implementation.
To boot from a different source without changing the boot order permanently, press the F12 key repeatedly as soon as you power up till you get a choice of OSes to boot in to. The key may be different for different UEFIs, but from my experience F12 is pretty standard.
To complicate things further, some BIOS allow you to change the enumeration order of the connected hard drives. Recently, it happened to me that that order got accidentally changed, making it look as if the OS got corrupted or a key file got deleted.
Reordering the drives in the correct order saved me that time.
I do have a built-in multi-card reader, and because of some difficulties I had with my built-in USB ports, I opened up the machine and while I was checking connections, noticed that the multi-card reader was connected at the same place on the motherboard as the USB ports, and I believe the exact connection is also labeled USB.
Does this mean that my built-in multi-card reader is really just another USB device and an SD card would be treated the same as a USB flash drive?
This is an interesting question, even though like Leo, I’m not sure why I would use it. I haven’t seen any SD cards big enough to turn into a bootable version of Windows, and even if there are, they seem to be a lot more expensive than comparable USB flash drives.
It *may* be. I know that some manufacturers do exactly that – implement the internal devices using USB technology. But it’s certainly not required that they do so.
I find one advantage of booting from an SD card, probably not a major advantage, but it’s something I’ve thought about for a while. For example, if someone is worried about malware, and they prefer doing their banking using Linux live, they can keep an SD card plugged into their laptop and boot from that when they want to do their banking. I’ve never done that, and the person I know who does uses a DVD, but with many laptops not coming with optical drives now, booting from a permanently installed SD card might be nice for that.
I have a suggestion–most of the SD cards sold today are of the “Micro” variety, and the make “hollow” thumb drive carriers or adapters to hold them. (Cheap–eBay has some for $.77 from China.)
So you could literally plug your SD Micro card into the adapter, plug it into a USB slot, and you’re off to the races! The PC thinks it’s a USB drive.
Hope this helps someone,
The problem with that is it’s no different from using a USB flash drive. With a laptop, you still have the USB device sticking out and vulnerable to breakage.
The clear advantage to using an SD card is that it doesn’t stick out of the machine and won’t break off. Card readers are common on most laptops – and at least one manufacturer is making a laptop which comes with basically no storage other than 32 GB for the Win10 OS and 3gb of RAM. Memory and storage expansion is through SD card and M.2 SSD. It retailed for $169 CAD on sale at my local shop. Tempting! Except for the Celeron processor, of course.
EUFI can generally be configured to boot an OS from any drive, but the EUFI partition itself needs to be on a bootable device.
If desired, the card could also function as a security key, but it doesn’t seem sensible really.
That said, not all card readers are created equal. In my 2014 Lenovo G400s, for instance, the card reader is connected to the USB 2.0 bus, which isn’t fast enough to support ReadyBoost, so it’s unlikely to provide any performance improvement over the HDD. A USB 3.0 interface would show a noticeable improvement though. In both cases however, the SD card itself will probably wear out faster than an SSD if used for things like the page/swap file – it generally doesn’t have the advanced internal management features or “spare” capacity of a fully-fledged SSD. Also, in my particular case, the card reader connection seems a little flaky. It’s connected to the USB 2.0 mouse port, which has taken a few hits over the rears.
Just my 2 cents.
Now many USB flash drive are coming in smaller forms which only stick out a few millimeters and are much less vulnerable to breakage.
Leo, you wrote:
“…[A]ny connected USB drive, whether it has an operating system on it or not, will be enough to cause the BIOS to try to boot from it … and then fail.”
Alas, that includes OUR computer. (Not sure if it has UEFI or just BIOS, though.) Any suggestions for correcting this?
That’ll be a setting in the BIOS or UEFI to change the boot order to look at the HD before USB. What that setting is I can’t say, because UEFI/BIOS vary from machine to machine.
Went there, and did that — I had no choice, because otherwise, as long as my 512G USB FlashDrive was connected, the &#%@$ thing wouldn’t boot Windows!
Grrr! :( :( :(
What I really meant to ask is, “Is there any way of changing the computer’s behavior on accessing a non-booting flashdrive, so that it doesn’t abort the boot sequence, but simply skips that drive and tries the next one on its list?”
If the connected drive isn’t bootable, it should be skipped by the UEFI or BIOS on startup. The problem is sometimes that doesn’t work because of a bug in the UEFI/BIOS. On one computer, I had to pull out the USB plug of my connected drives to get it to boot. This was remedied by a UEFI update. Unfortunately, I don’t know how to bypass that if it’s a bug.
This is completely dependant on the UEFI/BIOS. In my experience the answer appears to be: no.
I have found SD cards very useful for booting from. I had acquired loads of them from mobiles etc. So I have a collection taking up very little space for booting into various Linux flavours, Hiren, win 98,xp, win7&10 iso, OMV,I think there is a DOS 6.22, I can store them all in my wallet if need be. I always boot through a USB card reader as using the internal card readers of PC and Laptop seem to have a few funny’s. USB booting seems pretty problem free these days.
One of the first things I do when I get a new computer is to go into the UEFI and turn off Secure Boot. I do this on all my machines except to the laptop I carry around. As long as my computer is in a secure place, eg. my home, I consider that secure enough. Just be sure your computer is physically secure.
The older BIOS could be as or almost as secure as UEFI if you set an administrator password to change the settings. The difference is that UEFI automatically locks the settings and it’s a PITA to change it. I’m sure there are other security features, but Secure Boot should be an optional setting which you can set when turning on the machine for the first time.
I have an older PC, Asus T100HA “mini-transformer” (e.g., Surface wannabe). 64 GB solder-on internal drive shows up as mmcblk0, and it has an SD card reader that shows up as mmcblk2. Originally the performance of the internal one is somewhere around a V60 SD card, i.e., maybe max read speed 140 MBPS. I just invested in a 250 MBPS / 120 MBPS write sd card, an investment of something like a buck a GB. So this article: https://help.ubuntu.com/community/BootFromSD pointed me at an idea to breathe life back into these “mid-teens” laptops, now that really zippy SD cards are a reality. I do agree with Leo’s premise that it’s always easier to boot from something that shows up as /dev/sdX in Linux, and I have used a small SanDisk USB 3.1/3.0 convertible to boot Manjaro, it really is close to the speed of the internal MMC block device, maybe a tad faster (machine happily has a 3.1 port).
This is a bit of a hack, I put swap and /boot on the internal HD in order to keep it pretty portable, and with the guidance of the above (pre-UEFI) article above, I was able to make it boot and use the SD card as / (root). Worth the effort? Mayyyybe, it was decidedly a *learning* experience!