Reference :
How Computers Boot Up : Gustavo Duarte
The Kernel Boot Process : Gustavo Duarte
http://snow.nl/dist/xhtmlc/ch02.html
The MBR itself contains the first stage of the boot loader. GRUB calls this stage 1
The MBR code plus code loaded in step 2 then read a file containing the
second stage of the boot loader. In GRUB this is GRUB Stage 2, and in
Windows Server this is c:\NTLDR. If step 2 fails in Windows you’d get a
message like “NTLDR is missing”. The stage 2 code then reads a boot
configuration file (e.g., grub.conf in GRUB, boot.ini in Windows). It
then presents boot choices to the user or simply goes ahead in a
single-boot system.
At this point the boot loader code needs to fire up a kernel. It must
know enough about file systems to read the kernel from the boot
partition. In Linux this means reading a file like
“vmlinuz-2.6.22-14-server” containing the kernel, loading the file into
memory and jumping to the kernel bootstrap code. In Windows Server
2003 some of the kernel start-up code is separate from the kernel image
itself and is actually embedded into NTLDR. After performing several
initializations, NTDLR loads the kernel image from file
c:\Windows\System32\ntoskrnl.exe and, just as GRUB does, jumps to the
kernel entry point.
沒有留言:
張貼留言