ルートファイルシステムを復旧させたいのにfsckが上手く使えない


vagrant +
virtualboxを使い、CentOS6.7をゲストOSとして起動させ、それを環境としてシステム開発をしています。(デプロイ先のサーバーと環境を揃えるためです)  
ホストOSはubuntu.15.10です。

今日、`vagrant ssh`が失敗するので、virtualbox自身のターミナルからrootユーザーでログインし、`fsck -n` を実行すると

[code]

    /dev/mapper/VolGroup-lv_root contains a file system with errors, check forced.
    ...
    ...
    Free blocks count wrong (845378, counted=845408)
    Free inodes count wrong (309812, counted=309769)
    
[/code]

と表示されました。  
`/etc/fstab`を確認し、

[code]

    $ cat /etc/fstab
    /dev/mapper/VolGroup-lv_root /                       ext4    defaults        1 1
    UUID=d197cae3-0dd5-4555-9b2f-f9f21c1d9679 /boot                   ext4    defaults        1 2
    /dev/mapper/VolGroup-lv_swap swap                    swap    defaults        0 0
    tmpfs                   /dev/shm                tmpfs   defaults        0 0
    devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
    sysfs                   /sys                    sysfs   defaults        0 0
    proc                    /proc                   proc    defaults        0 0
    
[/code]

ルートファイルシステムに異常があるのだとわかりました。

このため、何とかして`fsck`をルートファイルシステムに実行したいのですが、マウントしたままだとファイルシステムを壊してしまうと以前聞いたことがあったので、それなら何とかルートディレクトリからアンマウントしなければと考えました。

そこでシングルユーザーモードで起動しなおし、それから

[code]

    umount /
    fsck /dev/mapper/VolGroup-lv_root
    
[/code]

としたところ、

[code]

    /dev/mapper/VolGroup-lv_root clean ...
    
[/code]

と表示されました。  
ファイルシステムに何の問題もないはずがないのですが、とにかくこれ以上何も起きません。  
わからないなりに以下のようにもして何か確認できないかとやってみました。

[code]

    # fsck -fv -t ext4 /dev/mapper/VolGroup-lv_root
    fsck from util-linux-ng 2.17.2
    pass 1: checking ...
    ...
    ...
    pass 5: group summary information
    
    130829 inodes used
    ...
    ...
    913928 blocks used
      0 bad blocks 
      1 large file
    ...
    ...
    
[/code]

(virtual boxのターミナルで上手く画面をマウスでコピーできないため、要点になりそうなところだけかいつまんでいます。全部の詳細を書けずすみません)

これを見ても、bad blocks が 0 というのは理解ができません。  
マルチユーザーモードで起動した時にだけ`fsck`がおかしくなるとでも言うのでしょか？

多分、fsckの使い方を間違えているのか、もっと違うところを  
間違っているかだろうと思うのですが、  
今日一日ずっと調べていても分かりませんでした。  
プログラミングの質問とは違いますが、このままではそのプログラミングができません。  
すみませんがどなたかアドバイスをお願いいたします。  
よろしくお願いします。




シングルユーザモードで `/` を読み取り専用で再マウントして `fsck` を実行すれば良いと思います。

[code]

    # mount -o ro,remount /
    # fsck -t ext4 /dev/mapper/VolGroup-lv_root
    # reboot
    
[/code]




シングルユーザモードで `/` を読み取り専用で再マウントして `fsck` を実行すれば良いと思います。

[code]

    # mount -o ro,remount /
    # fsck -t ext4 /dev/mapper/VolGroup-lv_root
    # reboot
    
[/code]

