1 5 6 Ο Ο Ο Ο Ο
1.24 Quá trình khởi động máy tính
• Hệ điều hành là gì?
Là 1 hệ thống ch−ơng trình phục vụ cho việc khai thác thuận tiện các tài nguyên của hệ thống tính toán.
Thông dụng hiện nay chúng ta đang sử dụng các máy tính IBM PC và t−ơng thích dùng hệ điều hành MS-DOS, WINDOWS 9x và WINDOWS 2000 ( Phối hợp giữa WINDOWS NT và WINDOWS 9x), WINDOWS XP
• Hệ điều hành MS-DOS và WINDOWS9X
Bắt đầu phát triển từ 1980 và đã qua nhiều thế hệ :DOS 1.0, 2.0, 3.0, 4.0, 5.0,6.0,6.1, 6.22, 7.0, 7.1 (Có thể dùng hàm 03 ngăt 21 để lấy Version DOS:
Vào AH=30h
Ra AL: Số chính của Version tr−ớc dấu chấm AH: Số phụ của Version sau dấu chấm).
DOS gồm nhiều thành phần, mỗi thành phần thực hiện 1 nhiệm vụ xác định trong 1 hệ thống rất phức tạp.
Các thành phần chính của DOS:
+ ROM-BIOS (Basic Input Output Systeme) + Record khởi động
+ IO.SYS + MSDOS.SYS
+ COMMAMD.COM + Các lệnh ngoại trú
(Lệnh ngoại trú : Thực chất là các ch−ơng trình đ−ợc đặt trên đĩa mềm hay đĩa cứng đ−ợc nạp vào bộ nhớ trong để thực hiện mỗi khi chúng đ−ợc gọi nh− FORMAT, CHKDISK . Phần nội trú : Nằm trong bộ xử lý lệnh nh− COPY, REN, DIR...)
• WINDOWS XP
• Quá trình khởi động máy tính
Khi máy tính đ−ợc bật lên, bộ vi xử lý 8086/8088 ( Các bộ vi xử lý đời cao hơn nh− 286, 386, 486, 586... đều t−ơng thích với vi xử lý này) đ−ợc đặt vào trạng thái Reset, thanh ghi CS đ−ợc thiết lập giá trị F000h và thanh ghi IP đ−ợc thiết lập giá trị FFF0h .
− Nh− vậy chỉ thị đ−ợc thực hiện đầu tiên đặt ở ô nhớ FFFF0h, ô nhớ này nằm trong ROM và nó chứa chỉ thị sẽ chuyển điều khiển đến điểm khởi đầu của các ch−ơng trình BIOS(Các hàm BIOS đ−ợc gọi thông qua ngắt từ 10h đến 17h và ngắt 1Ah).
10h: Gọi các hàm màn hình của BIOS 11h: Xác định cấu hình
13h: Gọi các hàm đĩa cứng, đĩa mềm của BIOS 16h: Kiểm tra bàn phím
17h: Gọi các hàm máy in
− Các ch−ơng trình BIOS đầu tiên kiểm tra hệ thống và bộ nhớ(Quá trình POST - Power On Self Test),
− Sau đó nó khởi tạo bảng Vector ngắt và vùng dữ liệu của BIOS. (Bảng Vector ngắt đ−ợc khởi tạo trong RAM bắt đầu từ 0000h đến 03FFh - gồm 256 ngắt. Các biến của BIOS cũng đ−ợc khởi tạo trong RAM từ địa chỉ 0040:0000). − Cuối cùng BIOS nạp hệ điều hành từ đĩa hệ thống. Công việc này đ−ợc thực
hiện thông qua 2 b−ớc:
+ Đầu tiên BIOS nạp 1 ch−ơng trình nhỏ gọi là ch−ơng trình khởi động (Boot-strap ) Bootstrap Loader = INT19h = ấn phím Ctr + Alt + Del. Ch−ơng trình này thử đọc 1 bản ghi khởi động trên đĩa ( Tuỳ theo cách đặt trong RAM CMOS giả sử là: A,C,CD ROM) mềm( A: ) , nếu không có thì ch−ơng trình sẽ tìm trên đĩa cứng(C :) nếu không thấy trên C: sẽ tìm trên CD ROM (D:). Nếu không thấy sẽ cho ra thông báo lỗi " Không có đĩa khởi động ". Nếu thấy thì chuyển sang b−ớc tiếp. + -Sau đó ch−ơng trình này nạp các ch−ơng trình của hệ điều hành thực
sự.
Ch−ơng trình sẽ đ−ợc chuyển quyền cho ch−ơng trình khởi động nằm trong đĩa ( Ch−ơng trình nằm trong Boot sector ) . Ch−ơng trình này sẽ :
+ Kiểm tra 2 file đầu tiên của đĩa có phải là IO.SYS và MSDOS.SYS không ? Nếu phải thì 2 file này đ−ợc nạp vào bộ nhớ. Nhiệm vụ
củaIO.SYS(IBMBIO.COM) là mở rộng ROM BIOS, chúng xác định trạng thái của phần cứng, khôi phục đĩa cứng, khởi động các thiết bị liên quan đến hệ thống, nạp các ch−ơng trình điều khiển thiết bị ngoại vi và xác định các vector ngắt có số hiệu cao hơn của ROM- BIOS, sau đó trao quyền điều khiển cho IBMDOS.COM(MSDOS.SYS).
− Hầu hết các thông tin cấu hình của hệ thống đ−ợc chứa ở 2 file Config.sys và Autoexec.bat. IBMBIO.COM(IO.SYS) sẽ kiểm tra ở th− mục gốc của đĩa khởi động xem có file Config.sys hay không , nếu có thì cho đọc và thực hiện.
− Việc sử dụng ch−ơng trình khởi động tránh cho BIOS khỏi có những thay đổi gây ra bởi những Version khác nhau của hệ điều hành, đồng thời cũng làm giảm kích th−ớc BIOS. Sau đó điều khiển đ−ợc chuyển cho
COMMAND.COM. Một bộ thông dịch đặc biệt trong COMMAND.COM sẽ xử lý file BAT tr−ớc khi trao quyền cho ng−ời sử dụng.
• Làm gì khi không khởi động máy tính đ−ợc bằng đĩa cứng ?
Master boot nằm ở Sector 1(sector đầu tiên ) Track 0 (rãnh đầu tiên) Side0(mặt đầu tiên) của đĩa cứng. Còn Boot record (Bản ghi khởi động) th−ờng nằm ở sector 1, track 0, side 1 của đĩa cứng(nếu ổ vật lý đ−ợc chia làm 1 ổ logic). Cả 2 phần này đều quan trọng và quyết định sự khởi động máy tính. 512 bytes đầu tiên nằm ở sector 1, side 0 của đĩa cứng nh− chúng ta đã biết qua phần giới thiệu về Master boot record gồm 2 phần:
- Phần đầu (từ offset 0 đến 1BDh) là master boot - Phần sau (từ 1BEh đến 1FFh ) là bảng Partition
Hiện tại đoạn mã master boot chuẩn chỉ có độ dài từ 0 đến 0DFh. Phần còn lại từ offset 0E0h đến 1BDh ch−a dùng, phần trống này có thể là nơi ẩn náu của các đoạn mã virus.
Master boot là 1 đoạn ch−ơng trình ngắn đ−ợc nạp vào RAM từ địa chỉ 0:7C00h và đ−ợc thực thi khi khởi động máy. Master boot có nhiệm vụ sau :
- Kiểm tra bảngPartition để xác định xem Partition nào là chủ
- Nạp Boot Record của partition chủ đó vào bộ nhớ rồi chuyển điều khiển cho boot record của đĩa chủ để tiếp tục quá trình khởi động máy. (Thông th−ờng boot record nằm ở sector 1 track 0 side 1 của đĩa C. Tuy nhiên ta có thể cài đặt boot record ở bất kỳ chỗ nào trên đĩa, miễn là bảng partition phải trỏ đ−ợc tới đó
Khi vius xâm nhập master boot của đĩa C có thể gây ra các hậu quả sau: - Không khởi động đ−ợc từ đĩa cứng vì master boot bị nhiễm virus và không chuyển quyền điều khiển cho boot record chủ hoặc làm sai lệch partition.
- Xuất hiện các thông báo lạ trên màn hình hoặc tiếng động ở loa tr−ớc khi nạp hệ điều hành.
- Tạo ra các vòng lặp để nạp hệ điều hành hoặc nhân bản virus vào nhiều vùng nhớ khác nhau gây ra hiện t−ợng tràn ô nhớ hoặc làm giảm dung l−ợng của bộ nhớ (chiếm lĩnh các ô nhớ), làm cho máy không có khả năng tải các ch−ơng trình lớn vào bộ nhớ
- Làm sai lệch CMOS
Đặc điểm của các đoạn mã virus nhiễm vào master boot là làm máy không khởi động đ−ợc và để lại hậu quả trong quá trình chạy máy. Các đoạn mã này chỉ sử dụng các dịch vụ của ROM-BIOS mà không dùng các hàm của DOS nên không chịu ảnh h−ởng của các version DOS khác nhau. Khi ta format đĩa bằng lệnh FORMAT C:/S sau đó cài lại các ch−ơng trình sạch mà vẫn có virus vì virus trú ngụ tại master boot ở mặt 0 của đĩa, trong khi đó partition của đĩa đã
không format đ−ợc mặt 0 của đĩa nên virus trên master boot không bị diệt. Tác động đến đ−ợc chỉ có phần mềm Low level format
Nếu sau khi khởi động máy tính ta thấy quá trình không thực hiện đ−ợc ta cho 1 mềm khởi động vào và vẫn khởi động đ−ợc máy thì nguyên nhân chỉ do trong đĩa cứng có trục trặc.
Nguyên nhân gây không khởi động đ−ợc bằng đĩa cứng th−ờng do: 1- Đặt tham số cho ổ đĩa cứng trong CMOS bị sai
2- Bảng Partition bị sai lệch do virus 3- Boot sector khởi động bị hỏng do virus 4- Các file hệ thống bị hỏng
Để phát hiện hỏng hóc thuộc phần nào ta có thể dựa vào 1 số thông báo lỗi sau của ROM BIOS:
•Missing Operating System :
Thông báo lỗi này cho biết không tìm thấy hệ điều hành. Nguyên nhân dẫn đến lỗi này là do các nguyên số 1 hoặc 2. Để khắc phục ta phải kiểm tra từng phần 1, tr−ớc tiên là các thiết lập RAM CMOS . Cách thức làm:
- Reset lại máy tính - Bấm giữ phím Del
- Trong màn hình SETUP chọn IDE AUTO DETECTION hoặc AUTO DETECT HARDISK và ấn Enter .
Ch−ơng trình sẽ tự động nhận diện ổ đĩa cứng . - Tiếp theo chọn SAVE SETTING & EXIT ấn Enter
- Nếu máy khởi động bình th−ờng là tốt. Nếu không hãy dùng đĩa “bảo bối” khởi động.
∗ Sau khi đã truy nhập đ−ợc ổ cứng(hoặc khởi động từ chính nó, hoặc khởi động từ ổ A:) việc đầu tiên là sao ngay các dữ liệu cần thiết trên ổ cứng vào 1 ổ cứng khác, hay vào các đĩa mềm(nếu ít). Các dữ liệu này có thể là các File Word, exell, các bản vẽ AUTOCAD,PROTEL,ORCAD... bởi các phần mềm có thể thay thế 1 cách dễ dàng nh−ng các dữ liệu, tài liệu thì khó có thể thay thế (Chẳng hạn 1 tài liệu thiết kế, công trình
nghiên cứu có thể mất hàng tháng, hàng năm). Tốt hơn cả, ta nên dùng đĩa bảo bối khởi động, vì tiếp sau việc sao l−u dữ liệu ta chuyển sang b−ớc tiếp:
∗ Tìm, diệt virus bằng các ch−ơng trình BKAV, D2, NORTON... ∗ Sau đó dùng ch−ơng trình FDISK với tham số MBR nh− sau : A:>\FDISK.EXE /MBR ↵
( Đây là 1 tính năng ch−a đ−ợc công bố chính thức của ch−ơng trình fdisk có tác dụng chuẩn lại master boot record. Khi bảng này ch−a hỏng nặng lệnh này vẫn có tác dụng)
∗ Sau đó tạo các file hệ thống cho đĩa cứng bằng lệnh : A:>\ SYS.COM C: ↵
Nếu chuỗi công việc thực hiện trên suôn sẻ: Virus đã đ−ợc phát hiện, diệt; bảng Partition, các file hệ thống đã đ−ợc cứu lại...thì đĩa cứng của chúng ta đã "thoát hiểm". Nh−ng nếu bảng Partition đã bị hỏng nặng quá thì b−ớc A:\fdisk /mbr cũng không thể cứu đ−ợc. Nếu biết lo xa, tr−ớc khi xảy ra việc rắc rối này-khi mà máy vẫn hoạt động bình th−ờng ta đã l−u lại bảng Partition thì sự việc đơn giản hơn nhiều. Ta sẽ dùng ch−ơng trình Debug.exe để ép lại bảng Partition . Cách thức nh− sau: Xem phần phụ lục.
• Invalid Partition Table :
Tr−ờng hợp này bảng Partition đã bị hỏng nặng, th−ờng do bị nhiễm vius . Nếu tr−ớc khi xảy ra thảm hoạ này ta đã có đĩa cứu hộ l−u đ−ợc các thông tin của bảng Partition thì vẫn phục hồi đ−ợc. Hoặc dùng 1 ch−ơng trình l−u master boot (Xem phụ lục) để phục hồi. Nếu không bắt buộc phải fdisk, format lại đĩa cứng rồi cài đặt lại phần mềm.
• None system disk or disk error
Replace and press any key when ready...
Thông báo này xuất hiện trong tr−ờng hợp Boot Sector khởi động bị hỏng hoặc các file hệ thống bị hỏng. Trong tr−ờng hợp này ta chỉ cần khởi động bằng đĩa mềm rồi dùng lệnh SYS C: ↵ là đ−ợc.
• Quá trình khởi động Windows 98
Windows 98 là hệ điều hành chạy trên nền DOS. Quá trình khởi động Window đ−ợc thực hiện: Sau khi đã nạp xong IO.SYS tiếp đến MSDOS.SYS đ−ợc nạp. Nội dung của file này thực hiện khởi động file Win.com trong th− mục WINDOWS. Ngoài ra nội dung file cũng cho phép khởi động Windows ở chế độ dấu nhắc hoặc chế độ menu giống nh− khi ấn F8
;FORMAT [Paths] WinDir=C:\WINDOWS WinBootDir=C:\WINDOWS HostWinBootDrv=C [Options] BootMulti=1 BootMenu=1 BootGUI=1 DoubleBuffer=1
WinVer=4.10.2222 ;
;The following lines are required for compatibility with other programs. ;Do not remove them (MSDOS.SYS needs to be >1024 bytes).
; ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxx ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxx ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxx ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxx
Thay đổi các thông số của các dòng lệnh (1 thành 0 hoặc ng−ợc lại) BootMenu=1
BootGUI=1
có thể thay đổi cách trạng thái Windows khi khởi động. • Cấu trúc Registry trong Windows
D−ới win 3X hai file kiểm soát(mã ASCII) là WIN.INI và SYSTEM.INI l−u giữ những thông tin cấu hình quan trọng của windows. Mặc dù win3x có 1 registry hệ thống nh−ng registry này chỉ đóng vai trò nhỏ trong việc thiết lập các lựa chọn hệ thống. Trong win9x Microsoft đã loại bỏ hầu hết các lựa chọn cấu hình hệ thống khỏi win.ini và system.ini và đ−a vào registry.
Registry là 1 cơ sở dữ liệu, l−u giữ không chỉ các giá trị thiết lập mặc định cho phần cứng của máy, mà cả các lựa chọn về màn hình, thông tin về phông chữ, các kết hợp file, danh sách thiết bị 32bit, và các giá trị thiết lập cho ứng dụng đ−ợc cài đặt trên máy. Nó chứa 2 file nhị phân SYSTEM.DAT và USER.DAT, cả 2 file này th−ờng trú trong th− mục windows nh− các file ẩn. Khi ta thay đổi trong Control Panel hay cài đặt ứng dụng mới. Thông tin đ−ợc ghi trực tiếp vào Registry. Hai file WIN.INI và SYSTEM.INI vẫn tồn tại nh−ng chức năng duy nhất của nó là duy trì tính t−ơng hợp với các ứng dụng WIN 3X.
Có thể soạn thảo, thay đổi nội dung của Registry qua ứng dụng REGEDIT.EXE. Khi chạy Regedit dịch dữ liệu nhị phân chứa trong SYSTEM.DAT và USER.DAT sang 1 dạng ASCII đ−ợc sắp đặt riêng.
Registry đ−ợc hiển thị trong 6 khoá. Sáu khoá gốc thể hiện 6 phạm trù thông tin hệ thống.
+ HKEY_CLASSES_ROOT:
Chứa cài đặt kiểm soát thông tin OLE(Liên kết và nhúng đôí t−ợng), các liên kết file, và thông tin về kiểu loại file. Mục này hoạt động nh− 1 cơ sở dữ liệu cho tất cả các ứng dụng bằng cách sao chép thông tin cũng đ−ợc l−u trữ trong nhóm nhỏ HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES
+ HKEY_CURRENT_USER:
L−u trữ thông tin hệ thống cho ng−ời sử dụng hiện thời: các cài đặt máy riêng, kết nối mạng, mật mã, và các mặc định ch−ơng trình có thể đặt theo ý riêng. Nếu chỉ có 1 ng−ời sử dụng máy riêng, th−ờng chỉ có 1 tập cấu hình của ng−ời sử dụng. Nh−ng cũng có lựa chọn user Profiles(Control\Pasword\
user\Profiles) ch phép ta đặt nhiều cấu hình máy khác nhau. + HKEY_CURRENT_USER:
Sao chép 1 mục con(subsection)của nhóm khoá HKEY_USER tổng quát hơn. + HKEY_CURRENT_CONFIG:
Giữ thông tin về cấu hình phần cứng hiện thời. Device Manager của Win cho phép cài đặt vài cấu hình phần cứng trong tr−ờng hợp ta sử dụng máy vơí nhiều màn hình, các thiết bị SCSI và các cấu hình mạng. Nhóm này sao chép
phần hiện thời đang hoạt động của khoá HKEY_LOCAL_MACHINE\CONFIG + HKEY_LOCAL_MACHINE:
Là cơ sở dữ liệu chính dành cho máy tính. Nó chứa từng cài đặt ch−ơng trình cấu hình device-drive, và thông ti phần cứng(các cài đặt video-play, các thiết bị đ−ợc cài đặt, giá trị gán interrupt, thông tin Plug-and-Play,v.v...)
+ HKEY_USERS :
Chứa thông tin hệ thống dành cho ng−ời sử dụng. Nếu máy tính không đ−ợc cài đặt cho nhiều ng−ời sử dụng chỉ tồn tại subkey.Default. Nó chứa sự tham chiếu và thông tin cho ID của ng−ời sử dụng mặc định. Khi máy có vài ng−ời sử dụng , mỗi user ID có 1 tập subkey t−ơng ứng nơi mà nó l−u trữ các mặc định hệ thống riêng.
+ HKEY_DYN_DATA:
L−u trữ thông tin thời gian thực về sự thực hiện của WIN9x
Ta nên sao l−u các thông tin trong để khi Windows trục trặc có thể phục hồi.
• Khi Windows bị trục trặc có thể khởi động ấn F8 rồi phục hồi bằng cách sử dụng các chức năng trong menu này.
Giới thiệu menu khởi động ấn F8: 1. Normal
2. Logged(\BOOTLOG.TXT) 3. Safe mode
4. Step-by-step Confirmation 5. Command prompt only 6. Safe mode command prompt
only Với Windows 9X
Khi khởi động máy tính cài Windows 9x nếu ta ấn F8 sẽ xuất hiện menu d−ới − Normal: Khởi động bình th−ờng
− Logged(\BOOTLOG.TXT): Khởi động với cấu hình thành công gần đây nhất − Safe mode: Khởi động với cấu hình tối
thiểu
− Step-by-step Confirmation: Khởi động xác nhận từng b−ớc nạp cấu hình Windows
− Command prompt only: Khởi động Windows ở chế độ dấu nhắc − Safe mode command prompt only: Khởi động DOS
Với Win XP: Xuất hiện menu khi ấn F8: 1. Safe mode
2. Safe mode with Networking 3. Safe mode with Command Prompt 4. Enable Boot logging
5. Enable VGA mode 6. Last Known Good
Configuration(Your most recent setting that worked)
7. Directory Services Restore Mode (Windows domain controllers only)
8. Debugging mode
9. Start Windows normally 10. Reboot
11. Return to OS choises menu − Safe mode: Khởi động với cấu hình tối thiểu
− Safe mode with Networking: Khởi động với cấu hình tối thiểu từ mạng − Safe mode with Command Prompt: Khởi động với cấu hình tối thiểu chỉ có
dấu nhắc
− Enable Boot logging: Khởi động với cấu hình file nhật ký − Enable VGA mode: Cho sử dụng màn hình kiểu VGA
− Last Known Good Configuration(Your most recent setting that worked): Khởi động với cấu hình thành công tr−ớc.
− Directory Services Restore Mode (Windows domain controllers only): Phục