Basics of EFI, UEFI, and Bios. Please help me learn this


Oct 20, 2016
I am confused how all of these work. I can somehow use them correctly, but i want to make sure i know what is happening.

Here are some of my confusions:

I like windows, but i hate mac. I also have like... no money... and only macs. I have an old hard drive from my laptop, and I plug it in (to any mac really) and restart the mac holding alt, and booting the hard drive as a efi drive (via usb), and voila. Windows. Can someone enlighten me here what exactly is happening, because i dont know what the mac is doing. Here are some things i do not know:
1. Why does mac allow this
2. Why does it say EFI
3. Is this part of the uefi booting system
4. What is uefi
5. Does windows 7 and or 10 allow me to do this? If so, what boot options do i use and how do i get there.
6. Overall explanations please :)

Another situation:

Sometimes i make a partition on my mac to install windows (the bootcamp way) and i experience a lot of errors and confusions too, like....

1. What is the difference between GUID partition map, exfat, and mdos fat
2. Why dows mac let me boot with the windows usb bootable drive
3. Because of last question, is that part of the uefi booting?
4. Why doesnt windows let me install itself on a uefi hard drive (its a hard drive connected via usb)
5. Can i fix that last problem
6. Where can i buy a windows 7 key

Also there are some other things i would like to know about (links to websites hat explain this well would be nice too)

1. What is the difference between uefi and bios
2. What is uefi and bios
3. What is EFI, and Efi drive
4. Why does mac allow another operating system to... operate
5. Why does mac let me use a hard drive from a pc, connect via usb, booted as an efi drive, to control the computer.
6. How do i access the mac's hardrive and all of its partitions from the hard drive im running connected to usb.

Thank you all, anything helps, im am but a beginner swimming in an ocean of awkward bill gates and steve jobs, and even links to other websites that can explain this to me will help! ;)

Edit: also what is dual boot, someone please explain


Well, I sure can't answer most of those.

mac will "allow" you to boot a Windows os because the current Macs are built with Intel processors and Intel processors will run Windows. At one point, Macs were built with different processors that were not compatible with Windows.

If you haven't already, I strongly suggest that you use Google and Wikipedia to read about BIOS and UEFI. You'll at least get a basic idea of what they are and how they are different. I think of them as the operating system for the motherboard and processor, low-level hardware support that brings up enough functionality to control the hardware and allow Windows or Mac OS to load.

BIOS is an acronym for Basic Input / Output System. It started out just letting the processor talk to devices like a keyboard. UEFI is the Unified Extensible Firmware Interface, which grew out of EFI. This was an attempt to replace the de facto BIOS standard with a new, more powerful standard for providing basic hardware control on top of which operating systems and software could be written. EFI/UEFI allows much better graphics, and the use of a mouse, for the hardware configuration interface.

A disk drive's lowest level of organization is the partition table. BIOS supports the older MBR partition scheme, which will allow a limited number of partitions and does not provide access to more than 2 TB of disk space. UEFI supports GPT, which supports more of both, but will probably also seem quaint in 20 years. So a UEFI system is needed to take advantage of drives larger than 2 TB.

Next poster, please?


Sep 20, 2011
Answering all of this completely would require a lot of in-depth talk about computer architecture design, and I don't think you want that. WK has already added some good stuff. I'll try to add to it in a simple manner.

WK gave a good basic explanation of what BIOS and UEFI are; lemme try to explain how they interact with the rest of the system.

You turn on your computer and the motherboard loads the BIOS or UEFI to allow the things plugged into the mboard to talk to each other ( CPU, RAM, video, hard drives, mouse, and keyboard ). After a short power-on self test ( POST ) to make sure things can talk correctly, the BIOS/UEFI then points to a storage device to load an operating system. In particular it's pointing to a boot sector. The boot sector contains specific machine code telling the system how the drive is laid out, where to find the OS, and how to load it.

A BIOS can't understand all the boot sector types a UEFI can. It wants to see a master boot record ( MBR ) and that's basically it. A UEFI wants to see an EFI disk and global unique identifier ( GUID ) partition tables ( GPT ). So yes, this is part of the UEFI booting process and why it's looking for a EFI-compatible drive. Current OS's ( Windows 7 and up and OSX ) can work with UEFI.

Most UEFIs can work with an MBR by using a compatibility support module ( CSM ). If booting from a home-built machine from a USB drive, you will usually be given the option of whether you want to boot in UEFI or BIOS mode. However, some OS's will freak out if you boot in UEFI mode and want to boot from an MBR disk. If you're using new hardware, there's almost no reason to not boot from a complete UEFI + GPT system.

When you install Windows on a fresh drive, it actually creates multiple partitions. One is the main storage area that you know is your drive. However the others are hidden from the OS. One is the boot partition, where it makes the instructions for how to call and load Windows. You also might have recovery partitions and other things.

Now you're talking about file systems, which is different from boot sector and partition type. The File system dictates how files and directories are stored on the drive. FAT stands for fail allocation table and is an old system. It's been updated over the years to FAT16, FAT32, extended FAT, and so forth. It's a very common format and so it's useful for USB drives to be formatted this way so many OS's can recognize it ( Windows, Linux, and Mac OS all recognize it ).

You also have Windows NT file system ( NTFS ) which allows more control for security on files as well as storing metadata better. It was an option for Windows XP to use and Windows 10 requires NTFS ( I think Win7 might have been the first to require NTFS, but I can't remember fully ).

Yes, UEFI allows booting from external USB drives. It's not correct to say MacOS allows USB booting since the OS isn't yet loaded when UEFI calls the USB drive.
Windows has a restriction that it won't let itself be installed on removable media. This means most USB connected storage. If you had an eSATA drive, you could install it on that.

This is tricky at this point because Windows has stopped releasing new Win7 or 8 keys. If you can find a retailers that still has old Windows stock they need to clear out, you're fine. Otherwise you'll need Win10. Why do you want a Win7 key?

I think WK has already explained this.

Again, Mac OS hasn't loaded yet during the boot process, so it's not Mac OS that's allowing it. The Mac hardware itself is simply following the UEFI instructions, and those instructions say you can boot from a USB instead of the main drive, which means you end up in a different OS.

I think this is the same question as immediately above.

That could be a complicated question. First it's a matter of whether the secondary OS can even see those partitions. It's possible the firmware is hiding them. Second, those drives and partitions would need to be mounted and assigned a letter for the OS to even interact with them. Finally, those partitions would need to be in a file system that Windows understands.

Go back to what I said about the BIOS/UEFI calling the boot sector and Windows creating multiple partitions. Normally that boot sector simply points straight to the OS loading protocols. However, it's possible to redirect that to a simple application or OS that instead gives you the option to load a different effective boot sector. So you'd have one or more drives that have at least two different boot partitions, each calling a separate main OS partition.

Not a problem. We all started as beginners at one point or another.