Trở lại với những rắc rối của HĐH XP, trong bài viết này chúng ta sẽ cùng tìm hiểu về lỗi liên quan đến file hal.dll và ntoskrnl.exe. Cách khắc phục cũng không khó nhưng với nhiều bạn đọc thì giải pháp "ưa thích" vẫn là format ổ cứng và cài lại Windows. Hy vọng những thông tin trong bài này sẽ có ích cho bạn, tuh không dám chắc sẽ đạt kết quả tốt với tất cả trường hợp.

"Windows could not start because the following file is missing or corrupt. Windows\system32\hal.dll (hoặc Windows\system32\ntoskrnl.exe)"

Lỗi này thường gặp trong trường hợp bạn sử dụng những tiện ích tạo ảnh đĩa như Norton Ghost, Acronis True Image để khôi phục hệ thống sau những lần táy máy. Theo thông báo lỗi thì HĐH không thể khởi động do file hal.dll (hoặc ntoskrnl.exe) trong thư mục Windows\System32 bị lỗi. Tuy nhiên cách khắc phục lỗi không đơn giản là sao chép lại file này. Cùng 1 thông tin hiển thị nhưng có rất nhiều nguyên nhân gây ra; chẳng hạn đường dẫn đến file boot.ini hoặc thông tin Boot Loader của file này bị thay đổi, HĐH không cài đặt trên phân vùng ổ cứng tương ứng với giá trị hiện tại của Boot Loader và cả những hỏng hóc của ổ cứng. Sử dụng bộ công cụ Recovery Console để xác định nguyên nhân và cách khắc phục lỗi, thực hiện như sau:
- Khởi động máy với đĩa cài đặt Windows (thiết đặt máy tính boot from CD/DVD hoặc nhấn phím để hiển thị tuỳ chọn khởi động). Nhấn phím bất kỳ khi thấy thông báo Press any key to boot from CD. Trong màn hình Welcome to setup, nhấn phím R (repair) để khởi động Recovery Console (RC). Nếu hệ thống cài đặt nhiều HĐH khác nhau, chọn HĐH bị lỗi cần khắc phục (lưu ý: nếu nhấn Enter hoặc khi chưa chọn HĐH, chương trình sẽ tự khởi động lại máy). Nhập mật khẩu của tài khoản Admin.
- Tại dấu nhắc của RC, gõ dòng lệnh bootcfg /rebuild > Enter. Chọn "Y" khi xuất hiện Add installation to boot list? (Yes/No/All). Nhập tên phiên bản HĐH đang sử dụng trong mục Enter Load Identifier. Bỏ qua mục Enter OS Load options bằng cách nhấn enter.
- Kế tiếp, bạn cần khôi phục file ntoskrnl.exe từ đĩa cài đặt Windows. Tại dấu nhắc của RC gõ dòng lệnh Expand E:\i386\ntoskrnl.ex_ C:\Windows\system32\ntoskrnl.exe với E là ký tự đại diện cho ổ CD/DVD và C là phân vùng chứa HĐH.
- Ngoài ra bạn cũng cần kiểm tra ổ cứng. Tại dấu nhắc của RC gõ lệnh: chkdsk /r. Kết thúc quá trình kiểm tra gõ Exit để khởi động lại máy tính.
Sau khi khắc phục lỗi và HĐH đã khởi động bình thường, bạn có thể kiểm tra lại file boot.ini và xoá bớt những thông tin không cần thiết bằng cách: Chuột phải vào My Computer > Properties > chọn tap Advance và nhấn chọn Settings bên dưới Startup and Recovery. Kế tiếp chọn Edit bên dưới mục System Startup để mở tập tin boot.ini bằng Notepad.

GHI CHÚ
Mặc định, file boot.ini của windows XP Pro có dạng:
[boot loader]
timeout=30
defaul=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating system]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS='Micro soft Windows XP Professional" /fastdetect


Như vậy có thể thấy XP được cài đặt ở phân vùng đầu tiên (multi(0)disk(0)rdisk(0)partition(1)) của ổ cứng. Nếu lỗi xảy ra sau khi khôi phục hệ thống từ ảnh đĩa hoặc sau khi tạo mới, xoá bớt phân vùng ổ cứng, bạn chỉ việc cập nhật lại giá trị của boot loader cho phù hợp. Thực hiện như sau:
- Khởi động máy tính bằng đĩa Hirent's BootCD. Sau khi khởi động chọn Volkov Commander trong mục File Managers để khởi động chương trình Volkov Commander.
- Chọn Yes với các câu hỏi như Do you want to use NTFSDOS, Mount NTFSPRO with VC nếu ổ cứng định dạng NTFS; Read Write cho Do you want to use và chọn No cho mục RUN CHKDSK để bỏ qua việc kiểm tra ổ cứng.
- Nhấn chọn file boot.ini trong thư mục gốc phân vùng cài đặt HĐH, nhấn F4 để Edit và thay đổi giá trị phân vùng bên dưới boot loader. Trong đó, partition(1) tương ứng với phân vùng C, (2) với D, (3) với E theo cách đặt tên thông thường.

(theo pcworld)


Chủ đề tương tự: