今日、Ubuntu Vivid(15.04)にアップグレードしたばかりで、再起動後、非常に長いブートプロセスを経験しました。私のラップトップは通常5秒以内に起動しますが、数分経っても終了しませんでした。
押す Esc 次の画面を示しました。
最後の行には、「/ etc/rc.localとの互換性のために開始ジョブが実行されています(7分24秒/制限なし)」と記載されています。 「制限なし」の部分にもかかわらず、ちょうど10分後にあきらめ(または完了?)、ブートプロセスが終了しました。
これはすべてのブートで発生します。
Systemdへの移行に関連しているでしょうか?どうすれば修正できますか? (今は、ラップトップをシャットダウンする前に考え直します)。バグを報告する必要がありますか?もしそうなら、どこで?
私の/etc/rc.local
ファイル:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
fstrim -v /
fstrim -v /home
exit 0
ファイルは実行可能です:
$ ls -l /etc/rc.local
-rwxr-xr-x 1 root root 333 aug 14 2013 /etc/rc.local
Easy Linux tips project の指示に従って、SSDをインストールした2年前に2つのfstrim
行を追加しました。
どうやらこれらは私の問題の原因です(私はそれらを削除して再起動しました-問題はなくなりました)。また、ブート時にfstrim
を実行するにはどうすればよいですか?
rc.local
に長時間実行されるコマンドを配置すると、起動が遅れます。これらをバックグラウンドに送信する必要があります。
( fstrim -v /; fstrim -v /home ) &
とはいえ、おそらくこれを自分で行う必要はありません。 Ubuntu 14.10が追加されました fstrim
の毎週の仕事 。
奇妙なことに、これはUbuntu 15.04では突然問題になりますが、Ubuntu 14.04では常に問題なく動作します。
また、トリムの前にスリープパラメータを追加して、設定された秒数後に2つのトリムコマンドが実行されるようにすることもできます。これにより、ブートプロセスが完了し、トリムコマンドがバックグラウンドで実行されるようになります。
このように(40秒の遅延):
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sleep 40
fstrim /
fstrim /home
exit 0
ちなみに、この場合、trimの-v(冗長)パラメーターはバックグラウンドで実行されているため使用できません。 Easylinuxtipsのハウツーでもこれを変更しました。
注: Ubuntu 14.04およびLinux Mint 17.xのrc.localでそのようなスリープパラメーターのみをテストしたため(トリム以外の目的で)、これが同様に機能するかどうかわかりませんUbuntu 15.04で。
私は同じ問題を抱えていました。基本的には、何らかのデーモンなどのrc.localの何かが正常に終了しないときに起こります。 rc.localのどのコマンドが単にkillall -9コマンド/from/etc.localの原因であるかを見つけるには、rc.localからのすべてのコマンドが終了するとリブートします。