昨日、私たちのコンピュータの1つが殻を失いました。grub
正直言って、私たちがコンピュータを開いたとき、それがどのようなシェルであるかはわかりませんでした。
これは、矛盾が原因でルートファイルシステムなどをマウントできないことを示します。
私は走って信じた。
fsck -fy /dev/sda2
再起動すると問題がなくなります。
質問の部分は次のとおりです。
私はすでに彼女のルートcrontabにいます。
@reboot /home/ruzena/Development/bash/fs-check.sh
そしてスクリプトには以下が含まれます。
#!/bin/bash
touch /forcefsck
そういうわけで、このように短い命令のためのスクリプトファイルをなぜ作ったのかはわかりませんが、とにかく...
また、ファイルから:
/etc/default/rcS
私は以下を定義しました:
FSCKFIX=yes
だから理解できません。どうすればこれが起こりますか?
起動時にルートファイルシステムチェック(およびオプションの回復)を強制するにはどうすればよいですか?
それとも、この2つが私ができる最大のものですか?
オペレーティングシステム:Linux Mint 18.xシナモン64ビット。
fstab
:
cat /etc/fstab | grep ext4
示す:
UUID=a121371e-eb12-43a0-a5ae-11af58ad09f4 / ext4 errors=remount-ro 0 1
grub
:
fsck.mode=force
grub
設定に追加されました。
ベストアンサー1
ext4
起動時にファイルシステムを確認する
テストオペレーティングシステム:仮想マシンのLinux Mint 18.x
基本情報
/etc/fstab
順序fsck
は最後(6番目)の列です。たとえば、次のようになります。
<file system> <mount point> <type> <options> <dump> <fsck>
UUID=2fbcf5e7-1234-abcd-88e8-a72d15580c99 / ext4 errors=remount-ro 0 1
FSCKFIX=yes
変数/etc/default/rcS
これによりfsckが自動的に回復されるように変更されますが、いいえfsck チェックを強制します。
から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.
~からman tune2fs
If you are using journaling on your filesystem, your filesystem will never be marked dirty, so it will not normally be checked.
から始まる
以下を設定してください
FSCKFIX=yes
ファイルに
/etc/default/rcS
fsが最後に確認された時間を確認して記録してください。
sudo tune2fs -l /dev/sda1 | grep "Last checked"
これら2つのオプションは機能しません
-F
(強制fsck
再起動)引数を次に渡しますshutdown
。shutdown -rF now
いいえ。以下を参照してください
man shutdown
。/forcefsck
空のファイルを追加:touch /forcefsck
スクリプトは以下を使用しているようです。
/etc/init.d/checkfs.sh /etc/init.d/checkroot.sh
したいいえ再起動後に動作しますが、ファイルが削除されました。
確認済み:
sudo tune2fs -l /dev/sda1 | grep "Last checked" sudo less /var/log/fsck/checkfs sudo less /var/log/fsck/checkroot
これはスクリプトのログインのようです
init
。
繰り返します。どちらのオプションも機能しません!
どちらの方法も機能します。
systemd-fsckカーネルブートスイッチ
デフォルト
grub
設定ファイルを編集します。sudoedit /etc/default/grub
GRUB_CMDLINE_LINUX="fsck.mode=force"
sudo update-grub sudo reboot
これはファイルシステムチェックを行い、次のように確認されました。
sudo tune2fs -l /dev/sda1 | grep "Last checked"
注:これした確認してください。ただし、強制的に修理するには
fsck.repair="preen"
、またはを指定する必要がありますfsck.repair="yes"
。tune2fs
実行前のファイルシステムのマウント数を設定するために使用されますfsck
。man tune2fs
tune2fs' info is kept in the file system superblock
-c
スイッチは、fsを確認する前にfsをマウントする回数を設定します。sudo tune2fs -c 1 /dev/sda1
確認する:
sudo tune2fs -l /dev/sda1
これした実績のある作業:
sudo tune2fs -l /dev/sda1 | grep "Last checked"
一般化する
fsck
Linux Mint 18.xから起動するたびに強制的に実行するにはtune2fs
、またはfsck.mode=force
およびオプションfsck.repair=preen
/fsck.repair=yes
カーネルコマンドラインスイッチを使用します。