Raspberry Pi 3 và Raspbian Jessie - Làm thế nào để chạy fsck khi khởi động?


12

Làm cách nào để chạy fsck khi khởi động khi sử dụng Pi 3 và Raspberry Jessie? Tôi đã đọc một số hướng dẫn nhưng chúng khác nhau.

Tôi đã chạy sudo touch /forcefscknhưng tôi phải làm gì khác? Tôi biết rằng tôi nên đặt FSCKFIX = có nhưng tập tin chính xác là gì? Một số /lib/init/vars.shngười khác nói /etc/default/rcS.

Làm cách nào để xác minh rằng cài đặt của tôi đang hoạt động? Tôi không có tầm nhìn để sàng lọc. Có sự cố mất điện nên có nguy cơ cao hệ thống tập tin bị hỏng.

Biên tập:

Tôi đã thử hai giải pháp được đề cập dưới đây.

1) Bằng cách sử dụng sudo shutdown -rF now/var/log/boot.log nói: [^[[32m OK ^[[0m] Started Load/Save Random Seed. [^[[32m OK ^[[0m] Started Show Plymouth Boot Screen. [ 3.679250] systemd-fsck[219]: fsck.fat 3.0.27 (2014-11-12) [ 3.681320] systemd-fsck[219]: /dev/mmcblk0p1: 124 files, 2666/8057 clusters [^[[32m OK ^[[0m] Started File System Check on /dev/mmcblk0p1. Mounting /boot... [^[[32m OK ^[[0m] Reached target Paths. [^[[32m OK ^[[0m] Created slice system-systemd\x2drfkill.slice. Starting Load/Save RF Kill Switch Status of rfkill0... [^[[32m OK ^[[0m] Started Load/Save RF Kill Switch Status of rfkill0. [^[[32m OK ^[[0m] Created slice system-ifup.slice. [^[[32m OK ^[[0m] Mounted /boot. [^[[32m OK ^[[0m] Reached target Local File Systems. Starting Tell Plymouth To Write Out Runtime Data... Starting Create Volatile Files and Directories... Starting LSB: Raise network interfaces.... [^[[32m OK ^[[0m] Reached target Remote File Systems. Starting Trigger Flushing of Journal to Persistent Storage... Starting LSB: Prepare console... Starting LSB: Switch to ondemand cpu governor (unless shift key is pressed)... [^[[32m OK ^[[0m] Started Tell Plymouth To Write Out Runtime Data.

2) Bằng cách sử dụng fsck.mode=forcefsck.repair=yestrong /boot/cmdline.txtbootlog nói: [^[[32m OK ^[[0m] Started Show Plymouth Boot Screen. [^[[32m OK ^[[0m] Reached target Paths. [^[[32m OK ^[[0m] Created slice system-systemd\x2drfkill.slice. [^[[32m OK ^[[0m] Created slice system-ifup.slice. [ 5.749367] systemd-fsck[112]: Pass 2: Checking directory structure [ 8.673500] systemd-fsck[112]: Pass 3: Checking directory connectivity [ 8.683831] systemd-fsck[112]: Pass 4: Checking reference counts [ 9.318835] systemd-fsck[112]: Pass 5: Checking group summary information [ 9.518754] systemd-fsck[112]: /dev/mmcblk0p2: 131321/956160 files (0.2% non-contiguous$ [^[[32m OK ^[[0m] Started File System Check on Root Device. Starting File System Check on /dev/mmcblk0p1... Starting Remount Root and Kernel File Systems... [^[[32m OK ^[[0m] Started Remount Root and Kernel File Systems. Starting Load/Save RF Kill Switch Status of rfkill0... Starting Load/Save Random Seed... [^[[32m OK ^[[0m] Reached target Local File Systems (Pre). [ 9.639259] systemd-fsck[239]: fsck.fat 3.0.27 (2014-11-12) [^[[32m OK ^[[0m] Started Load/Save RF Kill Switch Status of rfkill0. [ 9.644216] systemd-fsck[239]: /dev/mmcblk0p1: 124 files, 2666/8057 clusters [^[[32m OK ^[[0m] Started File System Check on /dev/mmcblk0p1. [^[[32m OK ^[[0m] Started Load/Save Random Seed. Mounting /boot... [^[[32m OK ^[[0m] Mounted /boot.

Tại sao tệp nhật ký hoàn toàn khác nhau trong hai trường hợp này?

Câu trả lời:


22

Tôi đã chạy sudo touch / forcefsck nhưng tôi phải làm gì nữa?

Đó là thứ áp dụng nhiều hơn cho sự khò khè; jessie có thể (hoặc có thể không) tương thích ngược với nó, nhưng bạn cũng có thể làm theo cách mới:

Thêm vào như sau /boot/cmdline.txt:

fsck.mode=force

Hãy chắc chắn rằng tập tin đó vẫn còn tất cả một dòng. Các thông số nên được phân tách bằng khoảng trắng.

Bạn có thể sẽ nhận thấy rằng fsck.repair=yesđã có; Đây không phải là điều tương tự. From man systemd-fsck(đây thực sự là các tham số được kernel truyền vào init , tức là systemd):

fsck.mode =

Một trong những "tự động", "lực lượng", "bỏ qua". Điều khiển chế độ hoạt động. Mặc định là "tự động" và đảm bảo rằng kiểm tra hệ thống tệp được thực hiện khi trình kiểm tra hệ thống tệp thấy chúng cần thiết. "Buộc" kết quả vô điều kiện trong kiểm tra hệ thống tập tin đầy đủ. "bỏ qua" bỏ qua bất kỳ kiểm tra hệ thống tập tin.

fsck.repair =

Một trong những "preen", "yes", "no". Điều khiển chế độ hoạt động. Mặc định là "preen" và sẽ tự động sửa chữa các sự cố có thể được khắc phục một cách an toàn. "có" sẽ trả lời có cho tất cả các câu hỏi của fsck và "không" sẽ trả lời không cho tất cả các câu hỏi.


Làm thế nào điều này là khác nhau so với sudo shutdown -rF now? Boot.log trông hoàn toàn khác nhau.
JPX

3

Đây là những gì tôi đang sử dụng trên một bản phát hành ổn định cũ của Jessie, ở cuối dòng trong cmdline.txt: forcefsck

Tôi cũng có những điều sau đây fstab: /dev/mmcblk0p1 /boot vfat defaults,noatime 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 Lưu ý 12ở cuối dòng

Nó kiểm tra và sửa chữa phân vùng gốc (/ dev / mmcblk0p2) trên mỗi lần khởi động (@JulianKnight không / dev / sda2).

Những gì được mô tả trong OP gốc vẫn hoạt động cho Wheezy trên RPi: sudo touch /forcefsck

@WillianPaixao sau khi Wheezy -Ftùy chọn shutdownkhông còn được hỗ trợ

Làm cách nào để buộc kiểm tra hệ thống tập tin (hầu hết) bị ràng buộc với phiên bản kernel, tại một số điểm sau Debian 8.0 (trong 8.2?), Nó đã được thay đổi như được mô tả trong câu trả lời @goldilocks.


2

Bạn cũng có thể thực hiện các thao tác sau sẽ hoạt động cho mọi Linux không chỉ riêng Pi (rõ ràng thiết bị sẽ thay đổi cho các nền tảng khác nhau, sda2 phải phù hợp với thẻ Pi SD mặc định):

sudo tune2fs -c 1 /dev/sda2

Điều đó sẽ thiết lập một kiểm tra mỗi lần khởi động lại. Bạn có thể thay đổi số lượng thành bất cứ điều gì bạn thích. Sử dụng -i thay vì -c nếu bạn muốn kiểm tra dựa trên thời gian. Xem trang người đàn ông để biết thêm.


1

Tôi sử dụng shutdownvới -Ftham số. [1]

sudo shutdown -rF now

Tôi thực hiện lệnh. Sau khi khởi động lại, syslog của tôi không chứa bất kỳ thông tin nào về quá trình chạy fsck (kéo dài raspbian).
Robert

2
Tôi vừa kiểm tra man shutdowntrên Raspbian - không có tùy chọn -F nào ở đó.
Victor Sergienko

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.