Bios
Http://forum-en.msi.com/faq/article/what-is-the-bios-and-what-does-it-do
CMOS
Post -- beep and display
Active other bioss
Interrupt
Configuration
Booting and address
Booting Process and address
And
Grub
BiOS -- bootloader
0x7c00 (x86) -- OS
The address ffff0h has a special purpose in PC. When the system starts, cs = f000h, IP = fff0h, that is, execution starts from the address ffff0h. This region belongs to the system BIOS. (F000: fff0) = ea5be000f0 (which is the hexadecimal representation of the JMP f000: e05b command). It immediately jumps to the BIOS initialization program and starts the system startup process.
For many people, the address 0x7c00 is mysterious and does not know what it is. However, those who have learned about the BIOS Startup Process on the X86 platform are not familiar with this address. BiOS reads the MBR into the 0x7c00 address and then performs subsequent boot. The operating system or bootloader developer must assume that
Their assembly code is loaded and executed from 0x7c00. 0x7c00 is defined in the BIOS specification rather than in the Intel x86 Platform specification.
+ ------- 0 × 0 | interrupts vectors (interrupt vector table)
+ ------- 0 × 400 | BIOS data area (BIOS data area)
+ ------- 0 × 5 ?? | OS load area)
+ ------- 0x7c00 | Boot Sector (Pilot Region)
+ ------- 0x7e00 | boot data/stack (BOOT data/stack)
+ ------- 0x7fff | (not used) + -------(...)
The BIOS loads the first sector of the disk (the first 512 bytes of the disk) into the memory and places it at 0x0000: 0x7c00 (see figure 3 ), if the last two bytes of this sector are "55 AA", this is a boot sector, which is also a bootable disk. Generally, a program of B is called a boot program ). If the last two bytes are not
Then the BIOS checks the next disk drive.
Through the above expression, we can summarize the characteristics of the following three Bootstrap programs:
1. It is 512b in size and cannot contain more than one byte, because the BIOS only reads 512b to the memory.
2. The end two bytes must be "55 AA", which is the identifier of the boot sector.
3. It is always placed on the first sector of the disk (0 head, 0 track, 1 sector), because the BIOS read-only the first sector.
Operating system guidance
Http://blog.csdn.net/daiyutage/article/details/8895895
UEFI
Http://blog.csdn.net/u011643458/article/details/9853595
BiOS I know
Http://blog.csdn.net/lightseed/article/category/547391