Thứ Tư, 16 tháng 4, 2014

Windows XP Boot Process

Sau đây mình sẽ mô tả tiến trình boot trong Windows XP

Sau khi đã được cấp nguồn điện, một máy tính chạy Windows XP sẽ thực hiện các bước sau:
1. Nguồn cung cấp điện tự kiểm tra chính nó và gửi đi một tín hiệu năng lượng tốt (power-good signal) tới bộ vi xử lý
2. chip thời gian ngưng việc gửi cá tín hiệu reset tới bộ vi xử lý, cho phép CPU bắt đầu các hoạt động.
3. CPU nạp ROM BIOS bắt đầu tại địa chỉ bộ nhớ ROM FFFF:0000
4. ROM BIOS chứa một lệnh JMP (jmp) mà trỏ tới địa chỉ thực sự của ROM BIOS code.
5. ROM BIOS thực hiện các kiểm tra cơ bản trên phần cứng trung tâm để kiểm tra các chức năng cơ bản.
6. BIOS tìm kiếm các adapters cần thiết để nạp các ROM BIOS routines của riêng chúng
7. Startup BIOS routines quét qua các địa chỉ từ C000:0000 đến C780:0000 để tìm ra video ROM
8. ROM BIOS kiểm tra xem nếu đó là cold boot hay là một warm boot
9. Nếu đó là một cold boot, ROM BIOS thực thi trọn vẹn POST (power-on self-test). Nếu đó là một warm boot, phần kiểm tra bộ nhớ của POST bị tắt đi.
10. POST có thể bị chia ra thành 2 thành phần:

  • một video test khởi tạo video adapter
  • một video adapter kiểm tra video card và video memory, và hiển thị thông tin cấu hình hoặc bất cứ lỗi nào
11. BIOS xác định vị trí và đọc thông tin cấu hình được lưu trong CMOS.
12. BIOS phân tích đĩa để tìm master boot record (MBR)
13. Với một MBR hợp lệ được nạp vào trong bộ nhớ, BIOS chuyển quyền điều khiển của boot process tới partition loader code.
14. Partition loader, hoặc boot loader, phân tích partition table để tìm ra một partition active.
15. Partition loader sau đó tìm kiếm boot record trong mọi sector đầu tiên của partition đó. 
16. Boot record của active partition được kiểm tra để xem có boot signature hợp lệ hay không, nếu tìm thấy, boot sector code được thực thi như một chương trình
17. NTLDR, một file hệ thống ẩn trong thư mục root của system partition, điều khiển việc nạp Windows XP trong 4 chặng:
  • chặng khởi tạo boot-loader: NTLDR chuyển processor từ real mode sang protected mode, những gì đặt processor trong 32-bit memory mode và bật memory paging lên. Nó sau đó nạp các file system drivers thích hợp để cho phép NTLDR nạp các files từ một partition định dạng với bất cứ file systems nào được hỗ trợ bởi XP. Nếu file BOOT.INI được đặt trong thư mục root, NTLDR sẽ đọc nội dung của nó trong bộ nhớ. 
  • chọn lựa hệ điều hành: nếu BOOT.INI chứa các entries cho nhiều hơn một hệ điều hành, NTLDR sẽ dừng trình tự boot tại điểm này. Một user có thể nhấn F8 ở chặng này của thứ tự boot để hiển thị các tùy chọn boot
  • Phát hiện phần cứng: nếu OS được chọn là XP, NTLDR xác định vị trí và nạp chương trình NTDETECT.COM dựa trên DOS để thực hiện việc phát hiện phần cứng. Nếu máy tính này có nhiều hơn một hardware profile đã được định nghĩa trước, NTLDR sẽ dừng lại tại điểm này và hiển thị Hardware Profiles/Configuration Recovery menu. Sau khi người dùng chọn một cấu hình phần cứng, NTLDR bắt đầu nạp XP kernel (NTOSKRNL.EXE)
  • Chọn cấu hình: NTLDR bây giờ nạp các device drivers đã được đánh dấu như là boot devices. Sau khi nạp các drivers này, NTLDR từ bỏ quyền điều khiển tới các device drivers
18. NTOSKRNL đi qua 2 chặng trong quá trình boot của nó
  • Chặng 0: XP disable các ngắt trong suốt chặng 0 và enable chúng trước chặng 1.Tầng trừu tượng phần cứng (HAL) được gọi để chuẩn bị interrupt controller.
  • Chặng 1: Tất cả excutive subsystems được khởi tạo lại theo thứ tự sau:
    1. Object manager
    2. Executive
    3. Microkernel
    4. Security Reference Monitor
    5. Virtual Memory Manager
    6. Cache Manager
    7. Local Procedure Calls (LPCs)
    8. I/O Manager
    9. Process Manager
19. I/O Manager bắt đầu nạp tất cả system driver files
  • đầu tiên nó nạp boot devices
  • nó nối một danh sách các drivers được ưu tiên và cố gắng nạp mỗi driver lần lượt
  • nó khởi động Session Manager Subsystem (SMSS).
  • SMSS nạp win32k.sys device driver, những gì implement Win32 graphics subsystem.
20. Win32k.sys chuyển màn hình thành chế độ đồ họa
21. các services subsystem khởi động tất cả các services được đánh dấu như Auto Start
22. Mỗi khi tất cả các thiết bị và các dịch vụ được khởi động , boot được coi như là thành công , và cấu hình này được lưu vào như là cấu hình tốt nhất cuối cùng
23. file WINLOGON.EXE khởi động logon process. nó là một login manager file chịu trách nhiệm cho tất cả các thủ tục login và logout.
24. Local Security Authority (LSASS.EXE) process hiển thị hộp thoại logon.
 

Không có nhận xét nào:

Đăng nhận xét