Khi một hệ thống máy tính đầu tiên được bật, hệ thống chạy POST. Nếu các lỗi xuất hiện trong quy trình POST, bạn thường thấy một thông báo lỗi bằng văn bản thể hiện trên màn hình. Các lỗi xảy ra rất sớm trong quy trình POST trước khi card video được khởi tạo. những loại lỗi này không hiển thị, nên hệ thống dùng hai thay thế khác cho liên lạc thông báo lỗi. một là phát tiếng bíp hệ thống phát ra tiếng bíp loa trong mẫu cụ thể cho biết lỗi nào xảy ra.
Sự thay thể này là để gửi một mã lỗi hệ thập lục phân đến địa chỉ cổng I/O 80h, được đọc bởi một card đặc biệt trên một trong những Slot bus. Khi ROM BIOS đang thực hiện POST, trong hầu hết hệ thống các kết quả của những kiểm nghiệm này được liên tục gửi đến cổng I/O 80h hên chúng được giám sát bởi các card chuẩn đoán đặc biệt được gọi là các card POST (xem hình 5.10). những kiểm nghiệm này đôi khi được gọi là các kiểm tra sản xuất (manufacturing tests) bởi vì chúng được thiết kế vào hệ thống cho việc kiểm tra hệ thống trên dây chuyền lắp ráp không có màn hình video.
Các card POST có màn hình hệ thập lục phân hai số được dùng để báo cáo số thường trình kiểm tra thực thi hiện hành. Trước khi mỗi kiểm tra được thực thi, một mã số hệ thập lục phân được gủi đến cổng và kế tiếp kiểm tra được chạy. nếu kiểm tra này hỏng và khó máy, mã hệ thập lục phân của phần kiểm tra cuối cùng được thực thi tồn tại trên màn hình card.
Nhiều kiểm tra được thực thi trong hệ thống trước khi card màn hình video có hiệu lực, đặc biệt nếu màn hình là EGA hay VGA. Do đó, nhiều lỗi xảy ra khóa hệ thống trước khi hệ thống có thể thể hiện một mã lỗi thông qua hệ thống video. Do không phải tất cả lỗi đều phát sinh mã tiếng bíp, đối với các quy trình sửa lỗi thông thường nhất, một hệ thống với loại sự cố này (như là một hỏng bộ nhớ trong Bank 0) sẽ xuất hiện hoàn toàn “chết”. tuy vậy bằng cách dùng một trong các card POST có sẵn thương mại bạn thường chuẩn đoán được sự cố.
Những mã này hoàn toàn phụ thuộc BIOS bởi vì card này không làm gì nhưng hiển thị các mã được gửi vào nó. Một số BIOS có các thủ tục POST khá chi tiết và do đó gửi được nhiều mã thông tin. Các card POST được mua từ JDR Microdevices hay những nguồn khác và có sẵn các phiên bản bus ISA và PCI.
Nhưng mặt khác đối với các lỗi tai hại đơn giản không được hiển thị trên màn hình, hầu hết các phiên bản BIOS cũng gửi các mã âm thanh được dùng để giúp chuẩn đoán các sự cố. các mã âm thanh tương tự như các mã POST, nhưng chúng được “đọc” bằng cách lắng nghe tiếng bíp loa hơn là dùng một card đặc biệt.
Bác thông báo lỗi khởi động BIOS
Trong suốt quy trình khởi đông, thường trình bộ nạp tự mồi trên ROM BIOS bo mạch chủ đọc sector vật lý thứ nhất của mỗi ổ cứng hay thiết bị có khả năng khởi động, là cylinder 0, head 0, sector 1 trong chế độ CHS hay địa chỉ khối logic 0 trong chế độ LBA. Mã từ sector thứ nhất được tải vào ram và hai byte cuôi được kiểm tra để xem liệu chúng phù hợp một giá trị đặc trưng 55AAh. Nếu các byte đặc trưng này phù hợp, báo với ROM rằng sector thứ nhất này chứa một MBR hợp lệ và rằng ROM tiếp tục bằng cách truyền sự điển khiển đến mã MBR.
Nếu hai byte cuối của sector vật lý thứ nhất không phù hợp 55AAh, ROM tiếp tục bằng cách kiểm tra sector vật ly thứ nhất của thiết bị có khả năng khởi động kế tiếp trong chuỗi khởi động cho đến khi nó tìm được một sector với MBR hợp lệ hay chạy ngoài các thiết bị trong chuỗi khởi động được kiểm tra, không tìm thấy cái có các byte đặc trưng đúng cho biết MBR hợp lệ, ROM gọi một ngắt (18h) hướng đến một thường trình con hiển thị một thông báo lỗi. văn bản cụ thể hay sự diễn đạt thông báo thay đổi theo nhà sản xuất ROM và phiên bản ROM. Các thông báo được chi tiết trong những phần sau.
Các thông báo IBM BIOS
Với không có MBR hợp lệ hay thiết bị có khả năng khởi dộng được tìm thấy, các hệ thống có IBM BIOS rất cũ hiển thị bộ biên dịch ROM BASIC, giống như thế này:
The IBM personal computer BASIC
Version C1.10 Copyright IBM Corp 1981
62940 Bytes free
Ok
IBM ROM BASIC
Các ROM của phần lớn máy tính tương tự các hệ thống IBM đầu tiên với ROM mà chúng tương thích ngoài trừ bộ biên dịch ROM BASIC (cũng được gọi là Cassette basic). Nó đến như một sự bất ngờ đối với một số người sử dụng máy tính, nhưng máy tính IBM đầu tiên có một ổ cắm phía sau hệ thống cho việc kết nối đầu đọc bằng cassette được dùng bởi vài máy tính cá nhân đầu tiên (bao gồm Apple) do các ổ đĩa mềm rất đắt và ổ đĩa cứng chưa là một tùy chọn. tuy nhiên, các ổ đĩa mềm xuống giá rất nhanh tại thời điểm PC được phát hành đầu tiên và cổng cassette không bao giờ xuất hiện trên bất kỳ hệ thống IBM sau này. Cổng casette cũng không bao giờ xuất hiện trên bất kỳ hệ thống tương thích PC do các ổ đĩa mềm rẻ tại thời điểm chúng nó có mặt.
Lý do có BASIC trong ROM là PC đầu tiên có tiêu chuẩn chỉ 16KB bộ nhớ và không có ổ đĩa mềm trong cấu hình cơ số. nhiều người dùng máy tính tại thời điểm viết chương trình của họ theo ngôn ngữ BASIC hay chạy các chương trình BASIC được viết bởi người khác. Bộ biên dịch ngôn ngữ BASIC được dựng sẵn vào ROM BIOS của những hệ thống IBM này được thiết kế để truy cập cổng cassette phía sau hệ thống và bằng cách có bộ biên dịch trong ROM, tất cả 16KB ram được dùng để chứa một chương trình.
Thậm chí sau khi cổng cassette bị loại bỏ, IBM vẫn để lại mã BASIC trong ROM bo mạch chủ cho đến đầu năm 1990! Tôi so sánh điều này như người có một ruột thừa. ROM BASIC trong những hệ thống IBM này là loại giống như một cơ quan viết tích một phần thừa có một số sử dụng trong các hình thức nguyên thủy từ tiền sử tiến hóa nhưng không còn chức năng hiện nay.
Bạn có thể xem thoáng qua ROM BASIC này trong các hệ thống IBM cũ hơn bằng cách vô hiệu tất cả ổ đĩa trong hệ thống.
Trong trường hợp đó, không có gì để khởi động được, những hệ thống này kết xuất bạn thẳng vào màn hình ROM BASIC kỳ lạ (vintage 1981).
Mọi người thường khiếp sợ thấy điều này bởi nó thường có nghĩ là ổ mềm và ổ chứng mà họ đang thử khởi động trở nên hỏng hay hư. Do không có hệ thống tương thích có bộ biên dịch BASIC trong ROM, chúng có những thông báo khác nhau để hiển thị cho cùng các tình huống trong đó một hệ thống IBM gọi BASIC này. Sự rối rắm nhất của những phần này là thông báo của AMI BIOS, đơn giản NO ROM BASIC – SYSTEM HALTED, thực sự nghĩa là hệ thống không khả năng khởi động.
Không có MBR hợp lệ hay thiết bị có khả năng khỏi động được tìm thấy, một số hệ thống IBM hiển thị một màn hình dùng các ký tự đồ họa văn bản tương tự như hình 5.11.
Nghĩa ở đây là, "chèn đĩa mềm có khả năng khởi động vào ổ đĩa A: và nhấn phím F1."
Các thông báo AMI BIOS
Với không có MBR hợp lệ hay thiết bị có khả năng khởi động được tìm thấy, các hệ thống có AMI BIOS hiển thị thống báo sau:
NO ROM BASIC – SYSTEM HALTED
Thông báo này gây rối rắm với một số người bởi vì nó dường như chỉ về một sự cố với ROM basic, tất nhiên nó không thực sự có nghĩa như thế! AMI ROM không bao gồm bộ biên dịch BASIC trong ROM (không có trong bất kỳ ROM khác ngoại trừ những ROM trong các máy IBM rất cũ), nên thay vì vào BASIC hay hiển thị một thông báo hữu dụng cho biết không có các thiết bị có khả năng khởi động, nó lại hiển thị thông báo gây hiểu lầm. nghĩa thực sự giống như tất cả thông báo, cho biết không có card thiết bị có khả năng khởi động trong chuỗi khởi động để chứa các byte đặc trưng chỉ ra MBR hợp lệ trong các sector vật lý đầu tiên.
Các thông báo compaq BIOS
Với không có MBR hợp lệ hay thiết bị có khả năng khởi động được tìm thấy, các hệ thống với Compaq BIOS hiển thị thông báo sau:
Non-system disk or disk error
Replace and strike any key when ready
Đây là thông báo gây nhầm lẫn khác bởi vì thông báo lỗi rất giống (hay tương tự) được chứa trong DOS/Windows 9X/Me VBR và thông thường được hiển thị nếu các tệp tin hệ thống mất hay hỏng.
Vì vậy, nếu thấy thông báo này trong hệ thống Compaq, bạn không thể chắc rằng liệu sự cố trong MBR, VBR, hay các tệp tin hệ thống, làm kiểm tra và giải quyết sự cố khá khó khăn.
Các thông báo Award BIOS
Với không có MBR hợp lệ hay thiết bị có khả năng khởi động được tìm thấy, các hệ thống có Award BIOS hiển thị thông báo sau:
DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER
Cho đến nay, các thông báo này xuất hiện ít gây nhầm lẫn nhất. bạn không cần một vòng giải mã bí mật để tìm ra điều nó thực sự muốn diễn đạt.
Các thông báo Phoenix BIOS
Với không có MBR hợp lệ hay thiết bị có khả năng khởi động được tìm thấy, các hệ thống có Phoenix BIOS hiển thị thông báo:
No boot device available – strike F1 to retry boot, F2 for setup utility
Hay thông báo này:
No boot sector on fixed disk – strike F1 to retry boot, F2 for setup utility
Hai thông báo bạn thấy tùy thuộc liệu thiết bị khởi động không tìm thấy hay không có khả năng đọc, hay một sector khởi động được, đọc nhưng không tìm thấy các byte đặc trưng đúng.
Các thông báo lỗi khởi động MBR
Nếu BIOS nạp thành công MBR và kiểm tra dấu đặc trưng, nếu các byte đặc trưng đúng, kế tiếp BIOS chuyển sự điều khiển đến MBR bằng cách chạy mã MBR. Mã chương trình trong MBR thực hiện một kiểm tra bảng phân vùng (cũng được chứa trong MBR) bằng cách kiểm tra các byte Boot Indicator trong mỗi mục vào của bốn mục vào bảng phân vùng. Những byte này tại những khoảng 446 (IBEh), 462 (ICEh), 478(IDEh) và 494(IEEh) trong MBR. Nhưng byte này được dùng để chỉ mục vào nào trong bốn mục vào bảng phân vùng chính chứa một phân vùng hoạt động (có khả năng khởi động). giá trị 80h tại bất kỳ của những định vị byte này cho biết mục vào bảng riêng biệt chứa phân vùng hoạt động. chỉ một trong bốn byte Boot Indicator tại thời điểm được phép chỉ ra một phân vùng hoạt động (chứa giá trị 80h), nghĩa là nếu một trong chúng là 80h, ba cái kia đều phải chứa 00h. theo những quy định được thiết lập ban đầu bởi IBM và Microsoft, chỉ hai điều kiện được cho phép đối với bốn byte Boot Indicator:
Tất cả bốn byte Boot Indicator là 00h, cho biết không có các phân vùng hoạt động (có khả năng khởi động)
Một byte Boot Indicator là 80h và ba byte kia là 00h, cho biết một phân vùng hoạt động (có khả năng khởi động).
Nếu tất cả bốn byte Boot Indicator là 00h cho biết không có các phân vùng hoạt động (có khả năng khởi động) tồn tại kế tiếp MBR trả sự điêu khiển về lại ROM bo mạch chủ, thông thường hiển thị một trong những thông báo lỗi được liệt kê ở trên. Điều này sẽ là một kết quả mong đợi nếu bạn loại bỏ những phân vùng tồn tại từ ổ đĩa nhưng không tạo ra các phân vùng mới trên ổ đĩa, hay nếu bạn thất bại khi tạo ra một trong những phân vùng hoạt động (có khả năng khởi động) khi phân vùng hoặc phân vùng lại ổ đĩa. Cho ví dụ, khi tạo ra nhiều phân vùng trên ổ đĩa, có thể quên đặt một trong số chúng là phân vùng hoạt động. nếu bạn thực hiện điều này do sự cố và làm cho ổ cứng không khả năng khởi động, bạn có thể dễ dàng sửa sự cố này bằng cách khởi động từ đĩa mềm hay CD với phần mềm phân vùng như là FDISK hay DISKPART và đặt phân vùng nơi hệ điều hành được cài đặt như hoạt động (Active).
Nếu chỉ một byte Boot Indicator là 80h và phần còn lại là 00h (được yêu cầu cho hệ thống khởi động đúng), kể tiếp hệ thống sẽ tiếp tục quy trình khởi động tiêu chuẩn bằng cách nạp bản ghi khởi động volume (VBR: volume boot record) từ phân vùng hoạt động.
Bảng phân vùng không hợp lệKhông cho phép bất kỳ điều kiện byte Boot Indicator khác và nếu có, cho biết bảng phân vùng bị hỏng, gây ra mã MBR phát sinh một thông báo lỗi và dùng lại. Cho thí dụ, nếu hai hay nhiều byte Boot Indicator là 80h (cho biết nhiều phân vùng hoạt động, điều này không cho phép). Hay nếu bất kỳ một byte Boot Indicator là giá trị bất kỳ khác hơn 00h hoặc 80h, bảng phân vùng xem như hỏng, mã MBR sẽ thể hiện thông báo lỗi sau và tạm thời dùng hệ thống.
Invalid partition table:Nếu tháy thông báo này, bạn thử khởi động lại hệ thống từ đĩa thay thế hay một ổ đĩa khác, kế tiếp xem bạn có truy cập được dữ liệu trong ổ cứng có vấn đề không. Tùy thuộc bao nhiêu bảng phân vùng, MBR hay những sector khác trên ổ đĩa bị hỏng, có thể dễ dàng nhất để bắt đầu lại đơn giản bằng cách loại bỏ và tạo lại tất cả phân vùng (sẽ mất bất kỳ hay toàn bộ dữ liệu được chứa), hay tìm các tùy chọn hồi phục dữ liệu nếu bạn không có bất kỳ chương trình sao lưu nào và cần dùng dữ liệu lại.
Lỗi nạp hệ điều hànhMột khi mã MBR qua kiểm tra byte Boot Indicator, một trong phân vùng được ghi dấu hoạt động (có khả năng khởi động), mã MBR tiếp tục bằng cách xem phần thông tin còn lại trong mục vào bảng phân vùng hoạt động để xác định vị trí sector khởi động cho phân vùng hoạt động. Vị trí sector khởi động này là một địa chỉ sector được định bởi các giá trị CHS (cylinder/head/sector) và LBA (logical block address). Giá trị CHS được dùng cho các ổ đĩa 8.4GB hay dung lượng nhỏ hơn, trong khi giá trị LBA được dùng cho các ổ đĩa lớn hơn 8.4GB (khá nhiều ổ đĩa ngày hôm nay). Sector đầu tiên của một phân vùng chứa bản ghi khởi động volume (VBR: volume boot record), cũng được biết như bản ghi khởi động hệ điều hành (operating system boot record) bởi vì nó được cài đặt trên ổ đĩa trong suốt quy trình định dạng phân vùng hệ điều hành. Một khi địa chỉ VBR của phân vùng hoạt động được xác định, kế tiếp mã MBR đọc sector đó từ ổ đĩa.
Nếu VBR của phân vùng hoạt động không thể đọc vì một lỗi đọc (vấn đề vật lý với ổ đĩa), một loạt năm thử lại sẽ xảy ra. Nếu sau tất cả thử lại này VBR này vẫn không thể đọc, thông báo sau được hiển thị và hệ thống dùng lại:
Error loading operating systemĐây là thông báo tệ hại bởi vì nó thường cho biết các sự cố vật lý với ổ đĩa. Tuy nhiên, thông báo này cũng xuất hiện nếu các tham số ổ đĩa được nhập không đúng MBR không hợp lệ. Cho thí dụ, nếu MBR chứa một địa chỉ VBR không hợp lệ chỉ rõ một sector trên giới hạn vật lý của ổ đĩa, thông báo này sẽ xuất hiện.
Nếu bạn thấy thông báo không trông chờ này, đầu tiên kiểm tra các thiết lập BIOS Setup cho ổ đĩa để chắc chắn chúng đúng, kế tiếp kiểm tra các mục vào bảng phân vùng và cuối cùng chạy một kiểm tra chuẩn đoán của chính ổ đĩa. Nếu ổ đĩa bị hỏng hay có dấu hiệu xấu đi và bạn cần dùng dữ liệu lại, bạn có thể yêu cầu các dịch vụ của bộ hồi phục dữ liệu chuyên nghiệp.
Mất hệ điều hànhNếu mã MBR nạp thành công VBR không có các lỗi học, mã MBR sẽ kiểm tra hai byte cuối của VBR dấu đặc trung 55AAh. Nếu dấu đặc trưng không có, MBR sẽ hiển thị thông báo lỗi sau và hệ thống tạm dừng:
Missing operating systemĐiều này là việc xảy ra không trông đợi nếu; cho thí dụ, bạn chỉ tạo ra phân vùng và chưa định dạng cấp cao, nghĩa là phân vùng chưa được định dạng bởi hệ điều hành hay hệ điều hành chưa được cài đặt.
Theo "Nâng cấp và sửa chữa máy tính" Scott Mueller