web-dev-qa-db-ja.com

起動時にe2fsckから抜け出す

起動時にどういうわけかe2fsckから抜け出すことは可能ですか?

私のシステムは30日ごとにe2fsckを実行しますが、これは私にとっては問題ないので、そのままにしておきたいと思います。しかし、コンピュータの電源を入れて30日が経過しても、高速で起動したい場合があります。たとえば、ラップトップからプレゼンテーションを行う必要がある場合、50人に「10分待たなければならない...いいえ、避けられません...はい、これはLinuxです、なぜあなたは尋ねているのですか? ?」 :)

Ctrl + Cを押すと、チェックが停止してブートシーケンスが続行されますが、ルートファイルシステムが読み取り専用でマウントされているため、システムは使用できません。そして、再起動すると、チェックが再開されます。

インターネットで答えを探しましたが、似たような質問がたくさんありますが、解決策が見つかりませんでした。誰かが解決策を知っていますか?

:私はnot fsckを無効にし、notコンピュータを再起動する前にアクションを必要とする解決策を探しています-わかりません事前にチェックをスキップする必要があります。

重要な場合:Debian 6(Squeeze)。\

[〜#〜] update [〜#〜]:UbuntuでEscキーを使用してe2fsckから抜け出すことが可能であることを学びました。これはまさに私が探しているものです-Debianでこれを実現する方法を知っている人はいますか?

[〜#〜] solution [〜#〜]:ギャレットの答えは正しかったので、編集する必要がありました/etc/init.d/checkroot.sh。これらの行の直前:

#
# The actual checking is done here.
#
if [ "$rootcheck" = yes ]
then
    ...

私はこれらの行を追加しました:

if [ "$rootcheck" = yes ]
then
    if [ -f /forcefsck ] || grep -s -w -i "forcefsck" /proc/cmdline
    then
        echo "fsck was forced."
    else
        echo "********************************************************************************************************"
        echo "*                                                                                                      *"
        echo "*  WARNING: fsck should be run, but it is disabled. Create /forcefsck and reboot at your convenience.  *"
        echo "*                                                                                                      *"
        echo "********************************************************************************************************"
        rootcheck="no"
    fi
fi

美しく機能します-メッセージを見るたびに笑顔になり、人生の30分を救ったばかりだと知っています。 :)

4
johndodo

状況に応じて、あなたがやりたいことを達成するための3つの簡単な方法があります。

  1. シャットダウンするときは、コマンドラインshutdownバイナリを使用して、-fスイッチを渡します。再起動の場合:shutdown -rf now。必要に応じて、これを使用してショートカットを作成することもできます。これにより、次回の再起動時にのみfsckチェックがスキップされます。
  2. 起動時にgrubメニューが表示されたら、「e」を押して現在の起動カーネルを編集し、vmlinuz行を編集して、末尾にfastbootを追加します。オプション1と同様に、これはそのブートのfsckチェックのみをスキップします。
  3. 本当にチェックを完全に無効にしたい場合(非推奨)、ファイル/etc/fstabを編集できます。ルートファイルシステムの行を見つけると、最後に2つの数字、通常は1 2が表示されます。最後の数値(ここでは2)を0に変更すると、すべての自動起動時fsckチェックがそのボリュームで実行されなくなります。

#2の編集:fastbootのgrubに新しいエントリを追加できます。これは、例の場合により適している可能性があります。これにより、起動時に選択肢が表示されている間、通常のfsckチェックが保持されます。

6
Garrett

実行中のfsckを中止する方法についての質問には直接対応していませんが、高速ブートが必要であることが事前にわかっている場合(プレゼンテーションを行う予定がある場合など)、以前にfsckを手動で実行することはできます。時間。これにより、システム構成に触れることなく、次の自動ファイルシステムチェックの30日前に新しいものが提供されます。

1
a CVn

Fsckを呼び出す起動スクリプトを編集できます。したがって、たとえば、タイムアウトを使用してfsckを実行するかどうかをコンソールに要求させることができます。スクリプトは/etc/init.d/checkroot.shおよび/etc/init.d/checkfs.shにあります。

私のコピーには、再度有効にできる次のコードが含まれていることに気付きました。

# Disabled AC power check until fsck can be told to only check the
# file system if it is corrupt when running on battery. (bug #526398)
#       if which on_ac_power >/dev/null 2>&1 && [ "$rootcheck" = yes ]
#       then
#               on_ac_power >/dev/null 2>&1
#               if [ "$?" -eq 1 ]
#               then
#                       log_warning_msg "On battery power, so skipping file system check."
#                       rootcheck=no
#               fi
#       fi
1
pjc50