Bài viết này, giúp bạn hiểu về boot sequence từ BIOS để hoàn thành Boot. "Các hệ thống mới hơn sử dụng Extensible Firmware interface (EFI) và GUID Partition Table (GPT) được phổ biến cho drives lớn hơn kích thước 2TB". sau đây hướng dẫn cụ thể về kiến trúc hệ thống x86 và x86_64 sử dụng BIOS để boot system.
Để biết làm thế nào PC start và boot. Code gọi là BIOS ( Basic Input Output service ) được lưu trữ trong non-volatitle memory chẳng hạn như ROM, EEPROM hoặc flash memory. Khi PC turned on hay reboot, code thực thi và thực hiện một power-on self test (POST) để check máy. xác định boot drive từ removable sẵn có hay fixed storage devices và load sector đầu tiên từ Master Boot Record (MBR) trên drive đó.
MBR bao gồm partition table, số lượng code thực thi trong MBR ít hơn 512 bytes. Code này để loaded bởi BIOS từ sector đầu tiên gọi là first stage boot loader hay stage 1 boot loader.
Chuẩn hard drive MBR sử dụng bởi MS DOS, PC DOS và hệ điều hành Windows kiểm tra partition table và tìm một primary partition trên boot drive đó là đánh dấu như active, load từ sector đầu tiên từ partition đó, và chuyển control để bắt đầu loaded code. Một số code mới được biết partition boot record, thực ra là stage 1 boot loader khác, Nhưng đủ thông minh để blocks thành partition. code mới này được gọi là stage 2 boot loader, như sử dụng bởi MS-DOS và PC-DOS, stage 2 loader trực tiếp load một phần của hệ đều hành.
Nếu bạn muốn chạy nhiều hệ đều hành, bạn có thể sử
dụng chương trình ( chẳng hạn như DOS FDISK) để thay đổi active partition và
reboot.
Các giải pháp sử dụng một số code đặc biệt để cho
phép ta chọn hệ đều hành để boot.
Loadin
Một chương trình DOS thực thi để gọi một
hệ thống DOS đang chạy để boot một Linux partition.
OS/2 Boot manager
Một chương trình install trong
một dedicated partition nhỏ. Cho phép ta chọn hệ đều hành qua menu.
Một smart boot loader
Là một chương trình mà
reside trên phân vùng hệ đều hành và gọi partition boot record của một active
partition hoặc bởi master boot record. ví dụ như:
- BootMagic
- LILO
- GRUB
- GRUB2
Chain loading
Khi một boot manager có thể load
boot manager khác, ví dụ: bạn sử dụng LILO trong một partition để chain load
GRUB trong một partition khác để access GRUB menu cho partition đó.
Linux boot loaders
ở đây ta tập trung vào LILO
và GRUB như là boot load với hầu hết Linux distributions. Khi installation cho
distribution bạn cần chọn một boot loader để set up. GRUB và LILO làm việc hầu
hết các modern disk dưới kích thước 2TB
Summarize boot process cho PC:
- khi pc turned on thì BIOS thực hiện self test.
- khi một máy đã pass qua self test thì BIOS load master boot record (MBR thường 512-byte sector đầu tiên của boot drive, boot drive thường được sử dụng hard drive đầu tiên của hệ thống.
- hard drive, MBR load một stage 1 boot loader, thường LILO hoặc GRUB stage 1 boot loader trên hệ thống linux.
- stage 1 boot loader thường load tuần tự các record gọi là stage 2 boot loader.
- stage 2 loader load hệ đều hành. Đối với linux, đây là kernel và initial RAM disk (initrd)
LILO: mặc định file cấu hình /etc/lilo.conf.
GRUB: mặc định file cấu hình /boot/grub/grub.conf
hay /boot/grub/menu.lst.
Boot eventTrong khi Linux boot, số lượng message rất lớn, mô tả kernel, phần cứng hệ thống. Nếu distribution support hide mode, thì bạn có thể hiển thị boot message bằng cách nhấn phím F2 trong khi boot.
dmesg
Lệnh này giúp ta review lại kernel message.
#dmesg | head -n 30
#dmesg | tail -n 19
/var/log/messages
các processes sử dụng syslog daemon đến log messages, thường trong file /var/log/messages. Hầu hết các daemon có tên cuối cùng 'd'.







No comments:
Post a Comment