GNU/Linux >> Belajar Linux >  >> Linux

Linux - Bagaimana Cara Memaksa Pemeriksaan Sistem File Root (dan Opsional A Fix) Saat Boot?

Kemarin, salah satu komputer kami turun ke grub shell atau sejujurnya, saya tidak yakin shell apa itu ketika kami menyalakan mesin.

Ini menunjukkan bahwa itu tidak dapat me-mount sistem file root atau sesuatu dalam pengertian ini, karena inkonsistensi.

Saya berlari, saya percaya:

fsck -fy /dev/sda2

Reboot dan masalahnya hilang.

Ini dia bagian pertanyaannya:

Saya sudah memiliki di crontab root-nya:

@reboot /home/ruzena/Development/bash/fs-check.sh

sedangkan scriptnya berisi:

#!/bin/bash
touch /forcefsck

Memikirkannya, saya tidak tahu, mengapa saya membuat file skrip untuk perintah yang begitu singkat, tapi bagaimanapun…

Selanjutnya, dalam file:

/etc/default/rcS

Saya telah mendefinisikan:

FSCKFIX=yes

Jadi saya tidak mengerti. Bagaimana situasinya bisa muncul?

Apa yang harus saya lakukan untuk memaksa pemeriksaan sistem file root (dan secara opsional memperbaiki) saat boot?

Atau apakah dua hal ini maksimal yang bisa saya lakukan?

OS: Linux Mint 18.x Kayu Manis 64-bit.

fstab :

cat /etc/fstab | grep ext4

menunjukkan:

UUID=a121371e-eb12-43a0-a5ae-11af58ad09f4    /    ext4    errors=remount-ro    0    1

grub :

fsck.mode=force

sudah ditambahkan ke grub konfigurasi.

Jawaban yang Diterima:

ext4 pemeriksaan sistem file saat boot

Diuji pada OS:Linux Mint 18.x di Mesin Virtual

Informasi dasar

/etc/fstab memiliki fsck urutkan sebagai kolom terakhir (ke-6), misalnya:

<file system>    <mount point>    <type>    <options>    <dump>    <fsck>
UUID=2fbcf5e7-1234-abcd-88e8-a72d15580c99 / ext4 errors=remount-ro 0 1

FSCKFIX=yes variabel di /etc/default/rcS

Ini akan mengubah fsck menjadi perbaikan otomatis, tetapi tidak paksa cek fsck.

Dari man rcS :

FSCKFIX
    When  the  root  and all other file systems are checked, fsck is
    invoked with the -a option which means "autorepair".   If  there
    are  major  inconsistencies then the fsck process will bail out.
    The system will print a  message  asking  the  administrator  to
    repair  the  file  system manually and will present a root shell
    prompt (actually a sulogin prompt) on the console.  Setting this
    option  to  yes  causes  the fsck commands to be run with the -y
    option instead of the -a option.  This will tell fsck always  to
    repair the file systems without asking for permission.

Dari man tune2fs

If you are using journaling on your filesystem, your filesystem
will never be marked dirty, so it will not normally be checked.

Mulai dengan

Mengatur berikut

FSCKFIX=yes

dalam file

/etc/default/rcS

Periksa dan catat terakhir kali fs diperiksa:

sudo tune2fs -l /dev/sda1 | grep "Last checked"

Kedua opsi ini TIDAK berfungsi

  1. Meneruskan -F (paksa fsck saat reboot) argumen ke shutdown :

    shutdown -rF now
    

    Tidak; lihat:man shutdown .

  2. Menambahkan /forcefsck file kosong dengan:

    touch /forcefsck
    

    Script ini sepertinya menggunakan ini:

    /etc/init.d/checkfs.sh
    /etc/init.d/checkroot.sh
    

    apakah TIDAK bekerja saat reboot, tetapi file telah dihapus.

    Diverifikasi oleh:

    sudo tune2fs -l /dev/sda1 | grep "Last checked"
    sudo less /var/log/fsck/checkfs
    sudo less /var/log/fsck/checkroot
    

    Ini sepertinya log untuk init skrip.

Saya ulangi, kedua opsi ini TIDAK berfungsi!

Terkait:Bisakah Macbook dual boot Snow Leopard dan Lion??

Kedua metode ini BISA bekerja

  1. sakelar boot kernel systemd-fsck

    Mengedit grub utama file konfigurasi:

    sudoedit /etc/default/grub
    
    GRUB_CMDLINE_LINUX="fsck.mode=force"
    
    sudo update-grub
    sudo reboot
    

    Ini memang melakukan pemeriksaan sistem file sebagaimana diverifikasi dengan:

    sudo tune2fs -l /dev/sda1 | grep "Last checked"
    

    Catatan:Ini MELAKUKAN pemeriksaan, tetapi untuk memaksa perbaikan juga, Anda perlu menentukan fsck.repair="preen" , atau fsck.repair="yes" .

  2. Menggunakan tune2fs untuk mengatur jumlah pemasangan sistem file sebelum melakukan fsck , man tune2fs

    tune2fs' info is kept in the file system superblock
    

    -c switch menyetel berapa kali untuk memasang fs sebelum memeriksa fs.

    sudo tune2fs -c 1 /dev/sda1
    

    Verifikasi dengan:

    sudo tune2fs -l /dev/sda1
    

    MELAKUKAN . ini bekerja seperti yang diverifikasi dengan:

    sudo tune2fs -l /dev/sda1 | grep "Last checked"
    

Ringkasan

Untuk memaksa fsck pada setiap boot di Linux Mint 18.x, gunakan tune2fs , atau fsck.mode=force , dengan fsck.repair=preen opsional / fsck.repair=yes , baris perintah kernel beralih.


Linux
  1. Cara Membuat File dan Direktori Tidak Dapat Dihapus, Bahkan Dengan Root di Linux

  2. Cara mereset kata sandi root di Linux dan FreeBSD

  3. Cara memeriksa Versi OS dan Linux

  1. Linux – Bagaimana Cara Mengubah Kata Sandi Root yang Terlupakan?

  2. Periksa dan Perbaiki Kesalahan Sistem File Dengan Perintah fsck di Linux

  3. Cara Memaksa Periksa Sistem File Root menggunakan fsck Saat Reboot

  1. Inode dan sistem file Linux

  2. Bagaimana cara memeriksa integritas file avi dan memperbaikinya secara otomatis di Linux?

  3. Apa yang harus saya lakukan untuk memaksa pemeriksaan sistem file root (dan secara opsional perbaikan) saat boot?