Raspberry Pi 3 ve Raspbian Jessie - Önyükleme sırasında fsck nasıl çalıştırılır?


13

Pi 3 ve Raspberry Jessie kullanırken fsck'i nasıl çalıştırırım? Bazı öğretici okudum ama farklı.

Koştum sudo touch /forcefsckama başka ne yapmam gerekiyor? FSCKFIX = evet ayarlamam gerektiğini biliyorum ama doğru dosya nedir? Bazıları /lib/init/vars.shdiğerleri diyor /etc/default/rcS.

Ayarlarımın çalıştığını nasıl doğrulayabilirim? Ekranda görünürlük yok. Elektrik kesintileri olduğundan dosya sisteminin bozulma riski yüksektir.

Düzenle:

Aşağıda belirtilen iki çözümü denedim.

1)sudo shutdown -rF now /var/log/boot.log komutunu kullanarak : [^[[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) kullanılarak fsck.mode=forceve fsck.repair=yesde /boot/cmdline.txtbootlog diyor ki: [^[[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.

Bu iki durumda günlük dosyası neden tamamen farklıdır?

Yanıtlar:


23

Sudo touch / forcefsck çalıştırdım ama başka ne yapmam gerekiyor?

Hışıltı için daha çok geçerli olan şeyler; jessie onunla geriye dönük olarak uyumlu olabilir (veya olmayabilir), ancak yeni şekilde de yapabilirsiniz:

Aşağıdakileri şuraya ekleyin /boot/cmdline.txt:

fsck.mode=force

Dosyanın tek satırda kaldığından emin olun. Parametreler boşluklarla ayrılmalıdır.

Muhtemelen fsck.repair=yesorada olduğunu fark edeceksiniz ; bunlar aynı şey değil. Kimden man systemd-fsck(bunlar aslında çekirdek tarafından init'e geçirilen parametrelerdir , yani systemd):

fsck.mode =

"Otomatik", "kuvvet", "atlama" dan biri. Çalışma modunu kontrol eder. Varsayılan "otomatik" tir ve dosya sistemi denetleyicisi gerekli gördüğü zaman dosya sistemi denetimlerinin yapılmasını sağlar. "zorla", koşulsuz olarak tam dosya sistemi denetimleriyle sonuçlanır. "atla" herhangi bir dosya sistemi kontrolünü atlar.

fsck.repair =

"Preen", "evet", "hayır" dan biri. Çalışma modunu kontrol eder. Varsayılan "preen" dir ve güvenli bir şekilde giderilebilecek sorunları otomatik olarak onarır. "evet" tüm sorulara fsck tarafından evet yanıtı verirken "hayır" tüm sorulara hayır yanıtı verecektir.


Buna kıyasla bu nasıl farklı sudo shutdown -rF now? Boot.log tamamen farklı görünüyor.
JPX

3

Bu satırın sonunda Jessie eski kararlı bir sürümde ne kullanıyorum cmdline.txt: forcefsck

Şunlar da var fstab: /dev/mmcblk0p1 /boot vfat defaults,noatime 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 Notun 1ve 2satırın sonunda

Her önyüklemede (@JulianKnight not / dev / sda2) kök bölümünü (/ dev / mmcblk0p2) kontrol eder ve onarır.

Orijinal OP'de açıklananlar RPi'de Wheezy için hala çalışıyor: sudo touch /forcefsck

@WillianPaixao Wheezy'den sonra -Fseçeneği shutdownartık desteklenmiyor

Bir dosya sistemi denetimini zorlamak (çoğunlukla) çekirdek sürümüne bağlıdır, Debian 8.0'dan (8.2'de) bir noktada, @goldilocks cevabında açıklandığı gibi değiştirilmiştir.


2

Ayrıca sadece Pi için değil, herhangi bir Linux için çalışması gereken aşağıdakileri yapabilmeniz gerekir (açıkçası cihaz farklı platformlar için değişecektir, sda2 varsayılan bir Pi SD kartı için doğru olmalıdır):

sudo tune2fs -c 1 /dev/sda2

Bu her yeniden başlatmada bir kontrol ayarlamalıdır. Numarayı istediğiniz gibi değiştirebilirsiniz. Zamana dayalı kontrol istiyorsanız -c yerine -i kullanın. Daha fazla bilgi için kılavuz sayfasına bakınız.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.