Raspberry Pi 3 dan Raspbian Jessie - Bagaimana menjalankan fsck saat boot?


13

Bagaimana menjalankan fsck saat boot ketika menggunakan Pi 3 dan Raspberry Jessie? Saya telah membaca beberapa tutorial tetapi berbeda.

Saya sudah lari sudo touch /forcefscktetapi apa lagi yang harus saya lakukan? Saya tahu bahwa saya harus menetapkan FSCKFIX = ya tetapi apa file yang benar? Beberapa mengatakan yang /lib/init/vars.shlain /etc/default/rcS.

Bagaimana saya bisa memverifikasi bahwa pengaturan saya berfungsi? Saya tidak memiliki visibilitas ke layar. Ada pemadaman listrik sehingga ada risiko tinggi bahwa sistem file rusak.

Edit:

Saya mencoba dua solusi yang disebutkan di bawah ini.

1) Dengan menggunakan sudo shutdown -rF now/var/log/boot.log mengatakan: [^[[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) Dengan menggunakan fsck.mode=forcedan fsck.repair=yesdalam /boot/cmdline.txtbootlog mengatakan: [^[[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.

Mengapa file log sama sekali berbeda dalam dua kasus ini?

Jawaban:


23

Saya telah menjalankan sudo touch / forcefsck tapi apa lagi yang harus saya lakukan?

Itu hal yang lebih cocok untuk mengi; jessie mungkin (atau mungkin tidak) kompatibel dengan itu, tetapi Anda mungkin melakukannya dengan cara baru:

Tambahkan yang berikut ke /boot/cmdline.txt:

fsck.mode=force

Pastikan file itu tetap satu baris. Parameter harus dipisahkan dengan spasi.

Anda mungkin akan melihat fsck.repair=yessudah ada di sana; ini bukan hal yang sama. Dari man systemd-fsck(ini sebenarnya parameter yang diteruskan oleh kernel ke init , yaitu, systemd):

fsck.mode =

Salah satu dari "auto", "force", "skip". Mengontrol mode operasi. Standarnya adalah "otomatis", dan memastikan bahwa pemeriksaan sistem file dilakukan ketika pemeriksa sistem file menganggapnya perlu. "force" tanpa hasil menghasilkan pemeriksaan sistem file lengkap. "lewati" melewatkan semua pemeriksaan sistem file.

fsck.repair =

Salah satu dari "preen", "ya", "tidak". Mengontrol mode operasi. Standarnya adalah "preen", dan secara otomatis akan memperbaiki masalah yang dapat diperbaiki dengan aman. "Ya" akan menjawab ya untuk semua pertanyaan dengan fsck dan "tidak" akan menjawab tidak untuk semua pertanyaan.


Bagaimana ini berbeda dibandingkan dengan sudo shutdown -rF now? Boot.log terlihat sangat berbeda.
JPX

3

Ini yang saya gunakan pada rilis stabil-lama Jessie, di akhir baris cmdline.txt: forcefsck

Saya juga memiliki yang berikut di fstab: /dev/mmcblk0p1 /boot vfat defaults,noatime 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 Perhatikan 1dan 2di akhir baris

Ia memeriksa dan memperbaiki partisi root (/ dev / mmcblk0p2) pada setiap boot (@JulianKnight bukan / dev / sda2).

Apa yang dijelaskan dalam OP asli masih berfungsi untuk Wheezy di RPi: sudo touch /forcefsck

@WillianPaixao setelah Wheezy -Fopsi shutdowntidak lagi didukung

Bagaimana memaksa cek filesystem terikat (sebagian besar) ke versi kernel, pada beberapa titik setelah Debian 8.0 (dalam 8.2?), Itu diubah seperti yang dijelaskan dalam jawaban @goldilocks.


2

Anda juga harus dapat melakukan hal-hal berikut ini yang berfungsi untuk Linux apa pun bukan hanya Pi (jelas perangkat akan berubah untuk platform yang berbeda, sda2 harus tepat untuk kartu SD Pi default):

sudo tune2fs -c 1 /dev/sda2

Seharusnya mengatur cek setiap reboot. Anda dapat mengubah nomornya menjadi apa pun yang Anda suka. Gunakan -i daripada -c jika Anda ingin pemeriksaan berbasis waktu. Lihat halaman manual untuk info lebih lanjut.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.