Câu trả lời:
Bạn cũng có thể sử dụng lệnh shutdown cho việc này.
shutdown -rF now
Từ người đàn ông:
Cờ -F có nghĩa là 'lực lượng fsck'.
Điều này chỉ tạo ra một tệp tư vấn / forcefsck có thể được hệ thống kiểm tra khi nó xuất hiện trở lại. Tệp RC khởi động có thể kiểm tra xem tệp này có tồn tại hay không và quyết định chạy fsck (1) với cờ 'lực' đặc biệt để các hệ thống tệp chưa được đếm chính xác được kiểm tra. Sau đó, quá trình khởi động sẽ loại bỏ / forcefsck.
shutdown
được cung cấp với Upstart không hỗ trợ -F
tùy chọn nữa. Bạn nên sử dụng sudo touch /forcefsck
thay thế. Xem ví dụ Tại sao -F bị xóa khỏi / sbin / tắt máy? và Lỗi # 74139: tắt máy tùy chọn -F (buộc fsck) .
Đây là một cách khác để làm điều này:
tune2fs -C 2 -c 1 /dev/THEDEVTHATROOTIS
khởi động lại
sau đó hệ thống tập tin sẽ được kiểm tra, và một khi tất cả đều tốt bạn nên làm
tune2fs -c 60 /dev/THEDEVTHATROOTIS
Tôi đã giả sử rằng số lần gắn kết tối đa được đặt thành 60, bạn nên tìm hiểu trước khi ban hành lệnh đầu tiên với
dumpe2fs /dev/THEDEVTHATROOTIS |grep "Maximum mount count"
Trên các hệ thống của tôi (một số máy tính xách tay x86 và Banana Pi Pro), nói rằng sudo shutdown now
đưa tôi đến runlevel 1 (còn gọi là chế độ bảo trì) nơi tôi có thể kiểm tra FS gốc của mình một cách an toàn:
mount -o remount,ro /dev/rootpartition
fsck /dev/rootpartition
reboot
Không cần phải thay đổi /etc/fstab
để làm điều này và tôi có cơ hội chạy fsck
với bất kỳ tùy chọn nào có thể cần thiết để khắc phục trường hợp khó khăn.
Lưu ý: /forcefsck
và các tune2fs
thủ thuật hoạt động trên x86, nhưng không phải trên Banana Pi.
tune2fs
vv hoạt động trên bất kỳ nền tảng nào, với điều kiện là một initramfs (có thể được nhúng) được hỗ trợ. Vì vậy, nó thực sự chỉ phụ thuộc vào phân phối Linux.
Nếu bạn đang sử dụng Raspberry pi và bạn thấy mình đang ở chế độ khẩn cấp, trên thực tế bạn có thể ngắt kết nối phân vùng gốc và vẫn sử dụng fsck
(login as root)
mount -o remount,ro /
fsck
reboot
Trên các hệ thống linux hiện đại, các câu trả lời ở trên (với forcefsck) không hoạt động. Bạn phải làm thủ công:
Đặt phân vùng gốc của bạn vào chế độ chỉ đọc bằng cách sửa đổi dòng của phân vùng bị lỗi trên /etc/fstab
(nhưng hãy nhớ cài đặt cũ của bạn):
UUID=fd1d0fad-3a4c-457f-9b5e-eed021cce3d1 / ext4 remount,ro 1 1
Khởi động lại
Chuyển sang runlevel 1 chỉ để giảm thiểu số lượng quá trình can thiệp:
init 1
Sửa hệ thống tệp của bạn (thay thế / dev / sda2 bằng thiết bị của phân vùng của bạn), hiện sẽ hoạt động vì phân vùng gốc chỉ ở chế độ đọc:
fsck /dev/sda2
Khởi động lại. (Trên hệ thống Fedora 21 của tôi, tôi đã phải đổi sang runlevel 1 trong khi khởi động với Grub2 , vì nếu không hệ thống bị kẹt do không thể ghi vào phân vùng gốc)
Làm cho hệ thống tập tin gốc của bạn có thể đọc / ghi được:
mount -o remount,rw /dev/sda2
Khôi phục / etc / fstab của bạn về trạng thái ban đầu.
Khởi động lại
sudo touch /forcefsck
làm việc khi tôi làm điều đó trước đâysudo reboot
.