チェックディスクをしようと思って調べた。Linuxの場合はスキャンディスクと呼ぶのかな。ファイルシステムをチェックする。ファイルシステムのチェックです。
スキャンディスクの方法。
sudo fsck /dev/sdb1
スキャンディスクのポイント
指定がなければ
/etc/fstabに記述が或るモノを調べる。
sudo fsck #/etc/fstab を順番にチェック
起動ディスクをチェックしたいとき
再起動後にスキャンディスク開始
sudo shutdown -r -F now
再起動時、ディスクをマウント前にディスクチェックが走ります。
起動ディスクをチェックしたいときは、再帰同時にファイルシステムチェックを指定して再起動する。この辺はWindowsとおなじ。
確認が面倒。修正を聞いてこないで欲しい。
とにかく全部修正!って思うときは
sudo fsck -a /dev/sdb1 # -a オプションで無条件で修正
マウントしたままのチェックも可能。
sudo fsck /var/www /mnt/disk #マウントポイントも指定できる
fsck 実際は・・・?
fsckはファイルシステム毎に用意されていて、fsck コマンドが適切なファイルシステム用のコマンドを実行してくれる。
たとえば、次は linux ファイルシステムをチェックディスクした場合のプロセスです。
root 5241 0.0 0.0 2416 672 pts/2 S+ 01:14 0:00 fsck /dev/sdb1 root 5242 11.2 15.3 156820 154944 pts/2 S+ 01:14 4:09 fsck.ext2 /dev/sdb1
fsck → fsck.ext2 としてプロセスが起動しています。と言うわけで。e2fsckも内部的に呼ばれるっぽい。fsckもe2fsck の違いは直接か間接の違いらしい。
スキャンディスクの種類は?
Ubuntu9.10には次のコマンドが用意されていました。
fsck.cramfs fsck.ext3 fsck.ext4dev fsck.msdos fsck.reiserfs fsck.ext2 fsck.ext4 fsck.minix fsck.nfs fsck.vfat
ファイルシステムのチェックと、ブロックのチェックは違う。
不良セクタの検出は badblock
sudo badblocks -vs -o bad.txt /dev/デバイス名http://www.k5.dion.ne.jp/~r-f/sicklylife/memo/using_ubuntu_804/hdd.html#use_badblocks