2012-03-29 15 views
9

シングルボードコンピュータにubuntuサーバー(11.10)があり、予期せず電源が切れることがあります。後で起動すると、fsckは、ユーザーに 'f'を押してドライブを確認するように指示します。このサーバーは通常、モニターとキーボードが接続されていないため、SSH経由で正常にアクセスできる唯一の方法は非常に不便です。ブート時にfsckプロンプトに自動応答する方法

ブート時に必要なfsckチェックをユーザーの入力なしで実行できることを保証する方法はありますか?基本的には、ユーザーに入力を促すのではなく、起動時に(問題が検出されたときに)常に 'fsck -y'を実行するようにします。

ありがとうございます!

+0

-aを実行します。自動的に任意の質問(注意して、このオプションを使用)せずにファイルシステムを修復します。 e2fsck(8)は下位互換性のためだけに-aをサポートしていることに注意してください。このオプションは、ほとんどのファイルシステムチェッカーがサポートする-aオプションとは異なり、安全に使用できるe2fsckの-pオプションにマップされます。 – tawman

+0

-aオプションはどこに追加しますか?私は自分自身でfsckを実行しているわけではなく、ubuntuサーバーは起動時に自動的に起動します。 –

+0

unbuntuサーバーは単にinit.dスクリプトの1つを実行します。私のunbuntu VMはatmから離れていますが、どの起動スクリプトがfsckを実行しているかを確認して、オプションを追加することができます – tawman

答えて

10

だから、私は問題には2つの関連する解決策を見つけた:

私はこれらがどこにでも有効でわからないんだけど、彼らはUbuntuのサーバ11.10に取り組んでいます。

は、/ etc/default/RCSは次のようになります。

# 
# /etc/default/rcS 
# 
# Default settings for the scripts in /etc/rcS.d/ 
# 
# For information about these variables see the rcS(5) manual page. 
# 
# This file belongs to the "initscripts" package. 

# delete files in /tmp during boot older than x days. 
# '0' means always, -1 or 'infinite' disables the feature 
TMPTIME=0 

# spawn sulogin during boot, continue normal boot if not used in 30 seconds 
SULOGIN=no 

# do not allow users to log in until the boot has completed 
DELAYLOGIN=no 

# assume that the BIOS clock is set to UTC time (recommended) 
UTC=yes 

# be more verbose during the boot process 
VERBOSE=no 

# automatically repair filesystems with inconsistencies during boot 
FSCKFIX=no 

はその最後の行ではなく、私は、ユーザーの介入を必要とせずに、常にブートシステムに持っていたもう一つの障壁が

# automatically repair filesystems with inconsistencies during boot 
FSCKFIX=yes 

を読み取っていることを確認してください失敗した/中断されたブートの後にユーザ入力を待っているgrubブートローダ画面でした。

これは単に

set timeout = 0 
にライン236

set timeout = 0 

とライン238に変更

/etc/grub.d$ grep -r -n -C3 timeout ./ 
./00_header-229- fi 
./00_header-230-fi 
./00_header-231- 
./00_header:232:make_timeout() 
./00_header-233-{ 
./00_header-234- cat << EOF 
./00_header-235-if [ "\${recordfail}" = 1 ]; then 
./00_header:236: set timeout=-1 
./00_header-237-else 
./00_header:238: set timeout=${2} 
./00_header-239-fi 
./00_header-240-EOF 
./00_header-241-} 

/etc/grub.d/00_header でGRUBの設定ファイルを編集する必要があり

これにより、起動中にシステムが停止することはありません。ファイルを編集した後、 sudo update-grub を実行して、/boot/grub/grub.cfgファイルに実装された変更を取得します。

グラブのために
3

、代わりに上記のようにファイルいじりの、そしてあなたはGRUB2であるGRUBの最新バージョンを使用している場合は、きれいな方法はに次のようになります。

変更「は、/ etc/default/grubの」 追加ラインGRUB_RECORDFAIL_TIMEOUT="30" はその後update-grub

関連する問題