私は実験を試みることにしました。デスクトップからSSDを取り外し、一時的にDell Latitudeラップトップに入れました。見よ、それはinitrd
を一桁速くロードし、 6秒ブート時間を削る...
私は今少し混乱しています...多分GRUBは私のマザーボードのチップセットに問題がありますか?
そのため、HDDアクティビティライトについて興味深いことがわかりました。 initrd
をロードすると、10%のデューティサイクルなどでライトがPWMされているように見えます。これにより、GRUBの読み取りが最適化されていないのではないかと思われます。たとえば、イメージをバイトストリームとして読み取るのではなく、各バイトを読み取るOS呼び出しを行っているようなものでしょうか。
初期RAMディスクのロードが問題の大部分を占めているようです。
GRUB内で、 C 手動コマンドプロンプトの場合。次に、デフォルト構成から1行ずつ入力し(これらのUUIDを入力するのは苦労しました!)、コマンドが完了した時間を記録しました。私が見つけたものは次のとおりです。
構成ファイルからすべての行を入力した後、boot
を実行します。 Enterキーを押してからログイン画面が表示されるまで、約7.5秒かかりました。
興味深いのは、読み込んでいるinitrdイメージが36MBであることです。そのため、ロードに7秒かかった場合、そして5MB/secでしか読み取りません!
タワーのディスクアクティビティライトが7秒間ずっと点灯し続ける...
initrdに関するウィキペディアのページ からの興味深いスニペットもあります:
他のLinuxディストリビューション(FedoraやUbuntuなど)は、より一般的なinitrdイメージを生成します。これらはルートファイルシステムのデバイス名(またはそのUUID)でのみ開始され、ブート時に他のすべてを検出する必要があります。この場合、ソフトウェアはタスクの複雑なカスケードを実行して、ルートファイルシステムをマウントする必要があります。
Nathan Osmanは、チャットでシングルユーザーモードで起動時間を要求しました。
打った時から F10 GRUBでプロンプトが表示されるまでに13秒かかります。
また、私はZannaとRinzwindとチャットで話していましたが、どちらも電源ボタンを押してから8秒のスタートアップがあります。私の20秒はGRUBからです。 POST時間をカウントすると、さらに長くなります!
Ubuntuは550MB /秒の最大速度でSSDを読み取ることができます...
そこで、ラップトップのGRUBのブートコマンドからquiet splash $vt_handoff
パラメータを削除しました(このラップトップにはSSDがないことに注意してください)起動シーケンス中に非常に興味深いことに気付きました:
この行で15秒間ハングします。
[ 4.374390] init: plymouth-upstart-bridge respawnng too fast, stopped
これが(低品質)画像です。
その意味がわからない...
14.04 を実行している他のマシンのいずれかの起動時間を計りました(このマシンにはSSDがないことに注意してください)、ヒットしたときからGRUBログイン画面が表示されるまで、40秒かかります。
Enterキーを押すと、同じ空白の紫色の画面に20秒間表示されます。その後、Ubuntuアニメーションが読み込まれ、ログイン画面に到達するまでにさらに20秒かかります。
dmesg
からの出力を見ましたが、どこでブートが終了したかわかりません。 25秒で終了したと思う最後の数行は次のとおりです。
[ 24.916824] wlan0: associated
[ 24.916852] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 25.215550] init: kdm main process (869) killed by TERM signal
[ 25.441216] vboxdrv: module verification failed: signature and/or required key missing - tainting kernel
[ 25.445587] vboxdrv: Found 2 processor cores.
[ 25.446142] vboxdrv: fAsync=0 offMin=0x18c offMax=0x960
[ 25.446228] vboxdrv: TSC mode is 'synchronous', kernel timer mode is 'normal'.
[ 25.446230] vboxdrv: Successfully loaded version 4.3.36_Ubuntu (interface 0x001a000b).
[ 25.476940] vboxpci: IOMMU not found (not registered)
[ 33.174926] init: plymouth-upstart-bridge main process ended, respawning
[ 36.495811] init: anacron main process (933) killed by TERM signal
私がそれを正しく解釈した場合、それは普遍的なGRUB問題のようです。
GRUB issue であることを確認するには、GRUBの背景色をコマンドラインを使用して緑に設定しました。押す C GRUBの場合。
Enterキーを押すと、Ubuntuブートアニメーションが読み込まれるまで、15秒間空白の緑色の画面が表示されます...
問題は、GRUBがカーネルイメージのロードに時間がかかっていることだと思います。
Ubuntu 16.04をSamsung 850 Pro 512GB SSDにインストールしましたが、ブート時間が20秒である理由がわかりません。 (GRUBでEnterキーを押したときから)。 参照している20はログイン画面に17、次にデスクトップに3であることを覚えておいてください)
また、これが関連するかどうかはわかりませんが、次のとおりです。
systemd-analyze plot > bootimage2
で生成された画像 を見ると、私の起動に3秒かかったようです。
そしてdmesg
を見ると、私のスタートアップは明らかに4秒かかった。 しかし、ストップウォッチで時間を計ると、20秒かかりました!(POST時間は含まれません)もう一度、20私が参照しているのは、ログイン画面への17、そしてデスクトップへの別の3です)
起動シーケンスは次のとおりです。
これはdmesg
:からの完全な出力です http://paste.ubuntu.com/23955108/
そして、systemd-analyze blame
の出力の最初の行は次のとおりです。
365ms dev-sda5.device
327ms networking.service
287ms accounts-daemon.service
286ms ModemManager.service
233ms systemd-logind.service
216ms apport.service
213ms grub-common.service
209ms ondemand.service
200ms irqbalance.service
183ms speech-dispatcher.service
178ms apparmor.service
160ms gpu-manager.service
148ms thermald.service
148ms pppd-dns.service
146ms systemd-user-sessions.service
142ms alsa-restore.service
140ms console-setup.service
137ms rsyslog.service
105ms NetworkManager.service
104ms upower.service
102ms avahi-daemon.service
100ms systemd-udev-trigger.service
これらの人々は同じ問題を抱えています:
何か案は?
GRUBがSSDにない場合(インストール中に適切に構成する必要があります)、SSDがあるだけで認識にGRUB時間かかりますが、認識されませんいずれにしてもブート時間を短縮しますが、実際はまったく逆です。 BIOSの起動順序を変更して、SSDからコンピューターを起動する必要があります。 SSDにGRUBも再インストールする必要があることに注意してください。私のラップトップのように、SSDをBIOSからブートデバイスとして選択できない場合もありますが、HDDに移動してRAMをロードし、SSDに移動する必要があります。
また、これは私が起こると思うことですが、私はあなたのラップトップまたはデスクトップの構成を完全に知らないので、これは私が助けることができるすべてです。
お役に立てれば。 :)