10/29/09

Lỗi “UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY”


LỖI “UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY”


Trong quá trình khởi động Linux, màn hình đang ở chế độ đồ họa chuyển sang chế độ text đen trắng và có thông báo lỗi như thế này:


/dev/sda4: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY
(i.e., withou -a or -p options)


(/dev/sda4 có thể thay đổi tùy từng máy: /dev/sda2, /dev/hda5, v.v...).


Thông báo trên có nghĩa là “Hệ thống file trên partition /dev/sda4 có lỗi không tương thích; chạy lệnh fsck bằng tay để chữa”.


Lỗi không tương thích của hệ thống file thường là do máy bị shutdown không sạch (unclean - do tắt điện bất thình lình, do máy bị treo rồi tắt điện cưỡng bức) hoặc do ổ cứng có bad block.


Khi đó, dữ liệu file lưu khác với dữ liệu trong nhật ký, và như thế là lỗi (xem thêm về hệ thống file nhật ký tại đây). Khi khởi động, Linux tự phát hiện ra lỗi đó và cho chạy fsck để tự chữa lỗi. Chỉ khi nào không chữa được mới có thông báo trên yêu cầu người dùng chạy fsck bằng tay.


Cần nhớ: để an toàn, chỉ được dùng fsck kiểm tra các partition không mount.


Có hai trường hợp xảy ra tiếp theo:


a/ Nếu partition sda4 đang cài Linux (mount vào thư mục gốc /) thì lỗi nằm ở các file hệ thống và Linux sẽ ngừng khởi động chở xử lý.


b/Nếu partition sda4 không mount vào thư mục gốc, mà chỉ là partition phụ để chứa dữ liệu (như ổ D trong Windows) thì Linux vẫn khởi động tiếp nhưng partition đó không được mount.


Nếu là trường hợp b/ thì cách chữa đơn giản hơn:


1- Mở kiểm tra thư mục dùng mount sda4 (ví dụ /mnt/data, …) để chắc chắn là đã không mount: trong thư mục đó không có dữ liệu chứa trên sda4.


2- Mở terminal và chạy các lệnh sau:


sudo fsck -c /dev/sda4 (với Ubuntu)


hoặc với Mandriva chạy hai lệnh:


su (để chuyển sang root)


fsck -c /dev/sda4


Option -c để chương trình kiểm tra và đánh dấu các bad block nếu có.


Nếu trên máy có cài Gparted có thể dùng Gparted để kiểm tra như đã nói ở đây. mà không dùng lệnh. Tuy nhiên, không rõ lệnh check của Gparted có kiểm tra và đánh dấu các bad block không?


Nếu là trường hợp a/ thì an toàn nhất là khởi động lại máy từ một đĩa Linux LiveCD (đĩa nào cũng được, không nhất thiết phải trùng với bộ Linux đã cài trên ổ cứng). Khi khởi động như vậy, các partition đều không được mount. Khi đã vào chế độ LiveCD, mở terminal hoặc chạy Gparted để kiểm tra giống như trên.


Ngoài các bộ Linux thông thường, có hai bộ Linux chuyên dùng để sửa chữa là SystemRescueCDGpartedLive. có thể tải về ghi thành đĩa Live CD hoặc ổ Live USB. Khi cần boot máy từ đó để sửa. SystemRescueCD nhiều công cụ hơn, GpartedLive chỉ có Gparted nên dung lượng chỉ có 100MB.







1 comment:

admin said...

mình vừa lập website tổng hơp báo chuyên về IT mời mọi người ghé thăm
http://net24h.wordpress.com/