So, I know the UEFI is responsible for POSTing then loading the machine's OS... But then, what loads the UEFI itself up in the first place? Does it have its own tiny special boot loader?
Bios launches and runs uefiSo, I know the UEFI is responsible for POSTing then loading the machine's OS... But then, what loads the UEFI itself up in the first place? Does it have its own tiny special boot loader?
Every CPU has something called a "Reset vector." This is basically the first address in memory where instructions loaded and ran.
Note that "memory" can be any memory device and not necessarily RAM. In this case, the BIOS/UEFI flash chip.
Lol basically the same as what I said but longer the bios controls the whole system without it you have nothing thanks people.As I understand it:
Correctly, in UEFI the CPU reset vector points to the security phase of the boot process in UEFI (BIOS) which is the earliest phase of booting and acts as a root of trust. After that it initializes pre-EFI environment which includes memory and chipset initialization (the rest of POST?). Before this, it was using CPU resources only and operating out of CPU cache but after this it can use main memory and load initial drivers (from firmware?), initiate EFI runtime services and search for EFI partition to load additional drivers including display (for the console?) .
With the hardwares initialized and drivers to access them loaded the boot dispatcher can now load the boot manager (located in the EFI partition) which contains the variables to facilitate OS startup (including location of the OS partition). For transient OS services (booting from a USB flash drive for instance) there are some differences.
That's probably grossly oversimplified so...more here:
https://edk2-docs.gitbook.io/edk-ii-build-specification/2_design_discussion/23_boot_sequence
and especially here:
https://uefi.org/sites/default/files/resources/UEFI_Spec_2_8_final.pdf
Not trying to be pedantic but correctly even though we think of it as one and frequently call it that it's not BIOS anymore, it's a UEFI. I think it's more correct to refer to it as "firmware" for what's controlling things prior to the EFI runtime environment be established.Lol basically the same as what I said but longer the bios controls the whole system without it you have nothing thanks people.
For one BIOS doesn't exist in a system with UEFI. UEFI replaces BIOS. But in general, both are types of firmware as @drea.drechsler said. For another, since OP is asking what could be construed as a general computer systems related question, I'd rather give them an answer that explains how computers work in general. Because you know, my FitBit doesn't have a BIOS/UEFI. The SNES sitting in my closest doesn't have BIOS/UEFI. So how do those things boot up? And to be really pedantic, "BIOS" is specifically the name of the firmware used in IBM PC compatible computers. I've worked with bare metal software and we don't call what you'd call BIOS "BIOS."Lol basically the same as what I said but longer the bios controls the whole system without it you have nothing thanks people.
More correctly, once the firmware is done it "boots", or initializes, the EFI. The EFI loads run-time components (drivers) so it can boot the OS. This explains the function of the EFI partition: it holds all those drivers and components that can't be stored in the firmware. Probably part of what makes it "extensible". And (something I just learned) it seems it doesn't really step completely out of the way as there's an "after life" component that helps in storing the system state during shutdown....
Also, in this use case anyway, motherboard firmware does not control the computer per se. It initializes the hardware, then boot it into the OS. Once the OS is booted, the OS has control of the computer. ...
CPU boots the system.So, I know the UEFI is responsible for POSTing then loading the machine's OS... But then, what loads the UEFI itself up in the first place?
I believe the security platform's job is solely to verify that the firmware on the motherboard is signed, plus a few other things to ensure the system wasn't tampered with in some way. Once everything is hunky dory, it turns on the CPU, which then executes the reset vector, which is the motherboard's firmware.CPU boots the system.
AMD have an isolated core on the CPU that boots, creates & manages the environment that the BIOS/UEFI runs in. I think Intel uses the Intel Management Engine to do same things.
AMD uses the Platform Security Processor that is a ARM core on the CPU that is completely separate to the cores that you have access to. It sets up Secure boot and is also where the TPM is.
PC cannot boot without a CPU (bets someone can prove him wrong)
Bet's on, what about MB that can update BIOS even without a CPU present ?CPU boots the system.
AMD have an isolated core on the CPU that boots, creates & manages the environment that the BIOS/UEFI runs in. I think Intel uses the Intel Management Engine to do same things.
AMD uses the Platform Security Processor that is a ARM core on the CPU that is completely separate to the cores that you have access to. It sets up Secure boot and is also where the TPM is.
PC cannot boot without a CPU (bets someone can prove him wrong)
It technically doesn't boot 😛Bet's on, what about MB that can update BIOS even without a CPU present ?
Maybe not full boot but it's doing same thing you can do with SW and that also meas it runs some OS in there no matter how small or limited in scope it is, It can read an USB, see and use files on it and reprogram BIOS chip. That's quite a bit of work without some kind of CPU, memory and I/O.It technically doesn't boot 😛
The question is: what exactly is doing all that? I tend to think it's something that operates like an EPROM programmer which also does not use any of the firmware (BIOS, whatever) or UEFI services to do it's thing.Maybe not full boot but it's doing same thing you can do with SW and that also meas it runs some OS in there no matter how small or limited in scope it is, It can read an USB, see and use files on it and reprogram BIOS chip. That's quite a bit of work without some kind of CPU, memory and I/O.
You don't need an OS to read a USB drive, the file system it has, or to reprogram flash. Though those certainly help.Maybe not full boot but it's doing same thing you can do with SW and that also meas it runs some OS in there no matter how small or limited in scope it is, It can read an USB, see and use files on it and reprogram BIOS chip. That's quite a bit of work without some kind of CPU, memory and I/O.
Exactly, some can even connect to internet to download and update BIOS. Even some Legacy BIOS could.UEFI can act as operating system aswell...you can also run apps in it (without any OS), including games
it has command line (similar to linux shell), but unlike linux, UEFI needs compiled apps :/
CMOS is just volatile memory memory, (pretty fast too) kept running by it's battery.Note that "memory" can be any memory device and not necessarily RAM. In this case, the BIOS/UEFI flash chip.
technicaly speaking, UEFI doesnt use CMOS RAM anymore, its using NVRAM, not battery powered, CMOS is still used in RTC, thats why removing batery mostly has nothing to do with reseting uefi settingsCMOS is just volatile memory memory, (pretty fast too) kept running by it's battery.
Electrically speaking, BIOS chip is EEPROM.
im not sure about intel side, but on amd, it provides some passive security services like memory enryption and whatnot, nothing like on intel side where it can get exploited to control your PC, on amd, its passive, and any external activity would crash PCThis computer operates below ring-0 so can read or write anything in memory without the kernel knowing about it, and copy/send or modify TCP/IP network packets bypassing the OS and any firewall. Even when the PC is asleep or off. What could possibly go wrong?