pfix=fsckの挙動

自己紹介とか、なんでもいいです。
にぎやかに世間話のできる場所

モデレータ: 暇人, YoN, nyu

返信する
アバター
ルビー
記事: 1240
登録日時: 14/11/24(月) 12:12

pfix=fsckの挙動

投稿記事 by ルビー »

Grub4Dosのmenu.lstで、pfix=fsckと書くと、pupsaveがあるパーティションごとエラーチェックがされると思っていました。

過去ログをさらさら読むと、pupsaveだけをチェックする(と読める)記事が多い様に思います。
本家でも、パーティション全部をチェックするのは障害発生時だけとの記事もありました。
よくよく考えると、大容量のディスクの場合、毎回パーティションごとだと時間も掛かるだろうし。
はて、どっちなのでしょう?

最近、パピーの試用で固まる → 強制電源オフを繰り返していたら、他の正常パピー起動時にクラスター異常のメッセージが出ました。
パーティションごとチェックしたので見つけたのだと思いますが、確かに障害発生時です。

パピー起動前に使われるfsckも、どこのfsckが使われるのだろうと謎な気がします。
Grub4Dosに内蔵されているのか、起動段階のメモリにロードされたLinuxのfsckが使われるのか。
thinkpadnerd
記事: 2050
登録日時: 15/10/25(日) 14:00

Re: pfix=fsckの挙動

投稿記事 by thinkpadnerd »

“ルビーさんが書きました:
> Grub4Dosに内蔵されているのか、起動段階のメモリにロードされたLinuxのfsckが使われるのか。

pfix= オプションは grub4dos に付随するのではなく Puppy 特有のものだと思います。

initrd.gz を展開してみると、/bin フォルダに e2fsck などが格納されています。また、init スクリプトを見ると、pfix=fsck 指定の場合、save file をチェックするように書かれています。(xenialpup 32bit で確認しました)
ThinkPad X121e (Precise 571 / Tahr 605 / Tahr64 606 / Xenial 7.5 / Bionic32)
CPU AMD C-50 1.0GHz, RAM 4GB
ThinkPad L440 (Xenial 7.5 / Bionic64 / Fossa64)
CPU intel Celeron 2950M 2.0GHz, RAM 4GB
アバター
ルビー
記事: 1240
登録日時: 14/11/24(月) 12:12

Re: pfix=fsckの挙動

投稿記事 by ルビー »

thinkpadnerd さんが書きました:また、init スクリプトを見ると、pfix=fsck 指定の場合、save file をチェックするように書かれています。
ふ~む。
571JPとUPupBBのinitrd.gzを開いてちょっと見てみましたが、やっぱりpupsaveだけがエラーチェックされるみたいですね。
UPupBBのReadme.txt、pfix=のオプションで次の記述がありました。

fsck: do fsck of ${DISTRO_FILE_PREFIX}save.?fs file.
fsckp: do fsck before first mount of supported partitions.

UPupBBではパーティションごとのチェックも可能な様ですが、その為なのかfsck.fatも入っています。
ただfsck.ntfsが無いみたいだけど。

UPupBB 18.05+28で固まって強制電源オフした後で、UPupBB 18.05+27起動でクラスター異常のメッセージが出たので、てっきりパーティションごとチェックしてるのかと思ったのだけど謎だ。

ちなみに571JPで、SDHCカードをfsckで手動チェックしたりして気が付いたのですが、
ntfsパーティションをテストオプション付きの fsck -N /dev/sda1 すると、
fsck: fsck.ntfs: not found と出ます。
Windowsと共用する事が一番多いのに、何でntfs用のfsckが入ってないのだろう → もしかして、pupsaveしかチェックしてないのでは?
と思った次第です。
でもよく考えると、OS起動前のデバイスエラーチェックに、まだ起動していないパピー本体のfsckが使われるはずもないだろうし、fsckの事を調べてみると、pupsaveだけのチェックなのかパーティションごとなのかよく分からなくなりました。

571JPとUPupBBにfsck.ntfsは入っていませんが、ntfsfixは入っています。
thinkpadnerd
記事: 2050
登録日時: 15/10/25(日) 14:00

Re: pfix=fsckの挙動

投稿記事 by thinkpadnerd »

“ルビーさんが書きました:
> でもよく考えると、OS起動前のデバイスエラーチェックに、まだ起動していないパピー本体のfsckが使われるはずもないだろうし、

そのために必要最小限のドライバやコマンドが initrd.gz に格納されているということではないでしょうか。

> 571JPとUPupBBにfsck.ntfsは入っていませんが、ntfsfixは入っています。

ntfsfix が ntfs パーティションの(基本的な)修復を行なうということなので、fsck.ntfs は ntfsfix へのリンクとして存在すればいい、とする情報もありました。ただ、linux のプログラムで windows が直る保証はなく、本来は windows の chkdsk を実行すべきということのようです。

ファイルシステムのエラーと直接は関係ありませんが、windows 10 は、概ね1年に2回大きなアップデートがあるので、大変厄介です。私のマシンでは、この大規模アップデートに半日くらいかかります。途中で失敗することもあり、足掛け2日かかったこともあります。windows 10 との同居は、できれば避けたいところです。(linux と同居していなければスムーズにいくのだろうか... :? )
ThinkPad X121e (Precise 571 / Tahr 605 / Tahr64 606 / Xenial 7.5 / Bionic32)
CPU AMD C-50 1.0GHz, RAM 4GB
ThinkPad L440 (Xenial 7.5 / Bionic64 / Fossa64)
CPU intel Celeron 2950M 2.0GHz, RAM 4GB
返信する