Đầu tiên ta bắt đầu bật công tắc
Power On để khởi động máy tính Bộ nguồn máy tính bắt đầu được cấp nguồn và thao
tác đầu tiên của nó là bắt đầu thực thi bước đầu tiên trong giai đoạn POST
(Power on self test),nó sẽ đi kiểm tra các giá trị điện thế logic ở ngõ ra đã
thực sự ổn định chưa +5v, -5v,+12v,-12v, đúng chưa .Giai đoạn mà nó tự đi POST,
nguồn này sẽ diễn ra rất nhanh, khoảng từ 0.5-2 giây.
Nếu trong quá trình kiểm tra có sự cố thì nó sẽ
không cấp nguồn cho mainboard nữa và có thể treo máy luôn hoặc dùng tín hiệu âm
thanh (Error Sound Code) để báo cho ta biết .Nếu như quá trình kiểm tra tốt
không có chuyện gì thì lúc này nó sẽ gửi tín hiệu báo nguồn tốt PG (Power good
signal),tín hiệu này sẽ kích vào một mạch định thời gian Timer Microcontroller
trên main, cấp nguồn cho CPU và bắt đầu ở vào trạng thái sẵn sàng làm việc.
Sau khi được cấp nguồn, công việc đầu tiên CPU
đi thực thi là nó sẽ tiến hành đi đọc ROM BIOS .Như vậy lúc này có thể nói Rom
BIOS đóng vai trò là người dẫn đường đầu tiên cho CPU trong quá trình khởi động
Thực chất trong Rom BIOS sẽ mang một đoạn
chương trình và yêu cầu CPU phải tiến hành thực thi đoạn chương trình này ở mỗi
lần khởi động máy .Lúc này CPU sẽ lần lượt thực hiện các lệnh trong Rom BIOS
theo từng bước sau:
Tiến hành kiểm tra các thiết bị cơ bản nhất
trên hệ thống để xem tình trạng làm việc của các thiết bị này đã sẳn sàng chưa.
Các thiết bị cơ bản này sẽ bao gồm :RAM, HDD, VGA, các bộ chipset và
mainboard..Trong quá trình kiểm tra từng thiết bị, nếu tốt nó sẽ kiểm tra thiết
bị kế tiếp, nhưng nếu gặp sự cố trong giai đọan này thì hoặc là máy sẽ treo
luôn, không có hình ảnh âm thanh gì, hoặc là máy sẽ dùng tín hiệu báo lỗi âm
thanh để thông báo cho ta biết .Lúc này chưa thể hiện hình được vì CPU chưa đọc
Rom màn hình (Rom video ).
Khi kiểm tra RAM trong giai đoạn này thì thông
thường ta sẽ gặp một số lỗi và tình trạng như sau : Nếu ta gắm RAM sai Bank thì
máy sẽ không lên hình ảnh và không báo lỗi gì cả, nhưng nếu ta gắm RAM lõng
chân hay RAM hư thì máy sẽ dùng tín hiệu âm thanh báo lỗi cho ta biết và thông
thường mã âm thanh báo lỗi của RAM là nó sẽ bip từng tiếng ngắn và liên tục
nhau . Khi kiểm tra đĩa cứng thì thông thường ta cũng sẽ gặp một số lỗi sau :Nếu
ta gắn 1 đĩa cứng bị hư, gắn lỏng dây hoặc set Jumper đĩa cứng sai thì chẳng ảnh
hưởng gì cả, máy vẫn làm việc bình thừong chỉ có ta không thể detect được đĩa cứng
đó trong CMOS mà thôi và tất nhiên cũng chẳng thể vào Win đựơc.
Khi kiểm tra VGA :Nếu ta gắn VGA tốt, bình thường
thì không có chuyện gì xảy ra cả, nhưng nếu ta gắn VGA bị hư hay chưa gắn thì
lúc này máy sẽ phát tín hiệu báo lỗi và tín hiệu này sẽ là một tiếng bip kéo
dài và 3 tiếng bip ngắn .Nhờ code báo lỗi của VGA ta có thể lợi dụng nó để xem
mainboard hay CPU có hư hay không .Giả sử ta bật máy lên chẳng có âm thanh hình
ảnh gì và ta nghi ngờ là có thể hư main hay CPU.
CPU tiếp tục đi đọc Rom màn hình và bắt đầu
thông tin lên màn hình các thông tin đầu tiên mà nó sẽ thông báo cho ta biết là
hãng sản xuất của card màn hình, model của card và dung lượng RAM màn hình của
nó.Giai đoạn báo thông tin này đối với các máy đời cũ diễn ra khá chậm, nhưng đối
với các máy ngày nay nó diễn ra rất nhanh đế nỗi có nhiều khi ta xem không kịp.
Tiếp theo, nó sẽ đi dò tìm trên hệ thống để
xem ta có đang sử dụng một adapter card nào có gán Rom hay không, nếu không thì
thôi nhưng nếu có thì nó sẽ đi đọc luôn thông tin trong Rom của các Adapter
card đó .
Đọc và báo thông tin về CPU, main và
Rom BIOS .Về CPU nó sẽ báo hãng sản xuất CPU, loại CPU và tần số làm việc của
nó ;về main nó sẽ báo loại main, đời main và bộ chipset của main ;về Rom BIOS
có thể nó sẽ báo hãng sản xuất, ngày sản xuất và version của nó .
Test RAM: Thông thường khi test RAM nó sẽ test
RAM 3 lần và trong mỗi lần đó nó sẽ test đi test lại bộ nhớ qui ước 2 lần .
Đến 1 địa chỉ trên RAM để đọc 1 byte
ở giá trị này xem hệ thống đang boot nóng (warm boot :boot bằng
Ctrl-Alt-Del)hay boot lạnh (cold boot:Reset hay tắt máy ). Địa chỉ này là
0000:0472,nếu byte này có giá trị là 1234h thì hệ thống đang boot nóng, còn nếu
là 1 giá trị khác thì hệ thống đang boot lạnh .
Nếu hệ thống đang boot lạnh thì khởi động lại
nó phải thực thi từng bước giống như lúc đầu .Nhưng nếu hệ thống đang boot nóng
thì khi boot lại nó sẽ bỏ qua các bước đã thực thi rồi ví dụ như đọc CPU, test
RAM …để nhằm làm cho quá trình khởi động nhanh hơn .
CPU đi đọc CMOS : Đọc các thông tin đang được
khai báo trong CMOS rồi so sánh với thực tế trên hệ thống, nếu đúng thì làm tiếp
nhưng nếu thông tin đang khai báo trong CMOS bị sai thì có thể máy sẽ báo lỗi
hoặc treo máy.
Như vậy thì CPU sẽ đi đọc CMOS ngay sau khi
test RAM, nên thông thường nếu ta đang khởi động mà máy test RAM xong lại treo
máy thì hầu hết 90 % nguyên nhân là do các thông số trong BIOS gây ra .Kiểm tra
lại CMOS.
Đến mục thứ hai BIOS Features Setup
trong CMOS đọc mục Boot Sequence để xem ta đang cho khởi động từ ổ đĩa nào :A:C
hay C:A .Nếu biết được ổ đĩa đang được cho khởi động thì đi đọc ngay sector vật
lý đầu tiên của ổ đĩa đó .Nếu ta đang cho boot A:C thì CPU sẽ đi đọc sector vật
lý đầu tiên của đĩa A ;và đó chính là DBR của A ;nhưng nếu ta cho boot C:A thì
nó sẽ đi đọc sector vật lý đầu tiên trên đĩa cứng và sector này chính là bảng
Master partition table .Bây giờ giả sử ta đang cho boot A: C:,CPU sẽ đi đọc bảng
partition chủ trên đĩa cứng.
Đọc bảng Partition của đĩa cứng -Đầu
tiên nó sẽ đụng 446 bytes của đoạn chương trình ngắn và sẽ thực thi 3 lệnh
trong đoạn chương trình ngắn này .
Kiểm tra 64 bytes của bảng thông số vật lý của
partition bên dưới rồi so sánh với thực tế trên đĩa xem có đúng không .Nếu đúng
thì làm tiếp nhưng nếu sai thì hoặc là treo máy, hoặc là sẽ báo một trong các
câu thông báo lỗi sau :Invalid partition table, Error loading operating system,
Missing operating system.
Kiểm tra xem ta đang chia làm bao nhiêu
partition và partition nào đang được set active .Còn nếu trong quá trình kiểm
tra nó không thấy partition nào được set active thì có thể ta sẽ nhận được thông
báo P:ress any key to reboot, No Rom Basic, system halt ….
Nếu đã xác định được partition nào
đang được set active rồi thì đi đọc sector logic đầu tiên của partition hay ổ đĩa
logic đó hay nói cách khác lúc này CPU sẽ đi đọc MBR (Master Boot Record) của ổ
đĩa này bởi vì theo qui định của Dos, sector logic đầu tiên của một ổ đĩa lúc
nào cũng phải là MBR.
Khi đọc MBR, vì bảng thông số nội bộ của DBR lại
nằm tr6en nên đầu tiên nó sẽ đọc 3 bytes nhảy trứoc EB 3C 90 hay EB 58 90 để nhảy
qua bảng thông số nội bộ, đến và bắt đầu thực thi 2 lệnh của đạng chương trình
mồi MBR.
Kiểm tra 59 bytes hay 87 bytes của bảng thông
số nội bộ MBR bên trên rồi so sánh với thực tế nội bộ trên ổ đĩa đó xem có đúng
không .Nếu đúng thì làm tiếp nhưng nếu sai thì hệ thống sẽ treo máy và không
cho phép ta khởi động được nữa, có thể lúc này ta gặp một con trỏ nhấp nháy
trên màn hình.
Đến các cluster đầu tiên trên đĩa,
thông thường đối với Diskedit là cluster 2 để tải Io.sys lên RAM .Nếu không tìm
thấy Io.sys ở vị trí này ta sẽ nhận được một câu thông báo :Non system Disk or
Disk error .Replace and press any key ….Nhưng nếu tải được Io.sys lên RAM rồi
thì ta có thể xem như quá trình khởi động đã thành công vì lúc này Ron BIOS trả
quyền điều khiển lại cho hệ điều hành .
Có một số lưu ý về Io.sys :Io.sys chính là 1
phần của hệ điều hành và nó phải có vị trí xác định, nó phải nằm ngay các
cluster đầu tiên và không bao giờ thay đổi tr6en đĩa .Nếu mất Io.sys đi, vì đặc
điểm này nên ta không thể dùng lệnh copy bình thường để copy lại nó mà ta phải
dùng Sys để tạo hay Disktool –make a disk bootable .Như vậy Sys hay Disktool cũng
là một tập tin dùng để copy nhưng nó copy Io.sys vào đúng ngay vị trí của nó,
ngoài ra nó còn tạo cho ta cả đoạn chương trình mồi của MBR.
Nguồn: sưu tầm.
No comments:
Post a Comment