J'ai décidé d'essayer une expérience. J'ai retiré le disque SSD de mon ordinateur de bureau et je l'ai temporairement inséré dans mon ordinateur portable Dell Latitude. Et voilà, il a chargé la initrd
sur un ordre de grandeur plus rapide, rasant 6 secondes après le temps de démarrage ...
Je suis un peu confus maintenant ... peut-être GRUB a-t-il un problème avec le chipset de ma carte mère?
J'ai donc remarqué quelque chose d'intéressant à propos de la lumière d'activité du disque dur. Lors du chargement de la initrd
, c'est presque comme si la lumière était en mode PWMed avec un facteur de marche de 10% ou quelque chose du genre. Cela me fait me demander si la lecture de GRUB n'est pas optimisée, peut-être que quelque chose comme si il faisait un appel de système d'exploitation pour lire chaque octet plutôt que de lire l'image sous forme de flux d'octets?
Il semble que le chargement du disque virtuel initial constitue une grande partie du problème.
À l'intérieur de GRUB, j'ai appuyé sur C pour la commande manuelle Invite. J'ai ensuite procédé à taper chaque ligne de ma configuration par défaut une à la fois (la saisie de ces UUID était pénible!) et j'ai noté le temps que la commande prenait à la fin. Voici ce que j'ai trouvé:
Après avoir tapé toutes les lignes du fichier de configuration, je passe ensuite à l’exécution de boot
. À partir du moment où j'ai appuyé sur Entrée jusqu'au moment où l'écran de connexion est apparu, cela a pris environ 7,5 secondes.
Le fait que l'image initrd qu'elle charge charge est de 36 Mo est intéressant. Donc, si cela a pris 7 secondes pour charger, alors il ne le lit qu'à 5 Mo/s!
Le voyant d'activité du disque de ma tour reste allumé pendant 7 secondes ...
Voici également un extrait intéressant de la page page Wikipedia sur initrd :
D'autres distributions Linux (telles que Fedora et Ubuntu) génèrent une image initrd plus générique. Celles-ci commencent uniquement par le nom de périphérique du système de fichiers racine (ou son UUID) et doivent découvrir tout le reste au démarrage. Dans ce cas, le logiciel doit effectuer une cascade complexe de tâches pour que le système de fichiers racine soit monté.
Nathan Osman a demandé l'heure de démarrage en mode mono-utilisateur dans le chat.
A partir du moment où j'ai frappé F10 dans GRUB jusqu'au moment où l'invite apparaît, cela prend 13 secondes.
De plus, je discutais avec Zanna et Rinzwind. Elles ont toutes deux un démarrage de 8 secondes à partir du moment où elles ont appuyé sur le bouton d'alimentation. Mes 20 secondes sont de GRUB. Si je comptais POST, ce serait encore plus long!
Ubuntu peut lire mon disque SSD à sa vitesse maximale de 550 Mo/sec ...
J'ai donc supprimé les paramètres quiet splash $vt_handoff
de la commande d'amorçage de GRUB sur mon ordinateur portable (n'oubliez pas que cet ordinateur portable ne possède pas de disque SSD)], et j'ai remarqué un très intéressant chose pendant la séquence de démarrage:
Il se bloque sur cette ligne pendant 15 secondes:
[ 4.374390] init: plymouth-upstart-bridge respawnng too fast, stopped
Voici une image (basse qualité):
Je ne sais pas quelle est la signification de cela.
J'ai chronométré le démarrage de l'une de mes autres machines sous 14.04 (gardez à l'esprit que cette machine n'a pas de disque SSD), et à partir du moment où j'ai frappé, entrez dans GRUB jusqu'au L'écran de connexion apparaît, cela prend 40 secondes.
Après avoir appuyé sur Entrée, il reste sur le même écran violet vierge pendant 20 secondes, après quoi l'animation Ubuntu est chargée et il faut encore 20 secondes avant que l'écran de connexion ne parvienne à l'écran.
J'ai regardé la sortie de dmesg
, mais je ne peux pas dire avec certitude où il a fini de démarrer. Je pense que cela s'est terminé à 25 secondes. Voici les dernières lignes:
[ 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
Si je l'ai bien interprété, cela semble être un problème universel GRUB.
J'ai pu confirmer qu'il s'agissait d'un problème de GRUB en définissant la couleur d'arrière-plan de GRUB en vert à l'aide de la ligne de commande accessible en appuyant sur C quand dans GRUB.
Lorsque j'appuie sur enter, je reçois un écran vert vierge pendant environ 15 secondes avant le chargement de l'animation de démarrage Ubuntu ...
Je pense que le problème est que GRUB met longtemps à charger l'image du noyau.
J'ai installé Ubuntu 16.04 sur mon SSD Samsung 850 Pro 512 Go et je ne comprends pas pourquoi mon temps de démarrage est de 20 secondes. (A partir du moment où j'ai frappé entrer dans GRUB). Gardez à l'esprit que le 20 que je référence est 17 sur l'écran de connexion, puis 3 sur le bureau)
En outre, je ne sais pas si cela est pertinent ou non, mais:
En regardant l'image générée par systemd-analyze plot > bootimage2
, mon démarrage a apparemment pris 3 secondes?
Et en regardant dmesg
, mon démarrage a apparemment pris 4 secondes. Mais je l'ai chronométré avec mon chronomètre et cela a pris 20 secondes! (sans compter le temps POST) Encore une fois, gardez à l'esprit que le 20 que je référence est 17 l'écran de connexion, puis 3 autres sur le bureau)]
Voici comment se déroule la séquence de démarrage:
Voici la sortie complète de dmesg
:http://paste.ubuntu.com/23955108/
Et voici les premières lignes de la sortie de 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
Ces personnes ont le même problème:
Des idées?
Si GRUB ne figure pas sur le disque SSD (ce qui devrait être le cas s'il est correctement configuré lors de l'installation), le simple fait de disposer du disque SSD prendra le temps de le reconnaître GRUB, mais il ne le fera pas. en aucun cas réduire le temps de démarrage, en fait exactement le contraire. Ce que vous devez faire est de faire en sorte que l’ordinateur démarre à partir du SSD en modifiant l’ordre de démarrage du BIOS. Notez que vous devez également réinstaller GRUB sur le SSD. Bien que dans certains cas, comme dans mon ordinateur portable, vous ne pouvez pas sélectionner SSD comme périphérique d’amorçage dans le BIOS, vous ne pouvez pas accéder au disque dur, charger de la RAM, puis le SSD.
En outre, c’est ce qui se produit, mais je ne connais pas bien la configuration de votre ordinateur portable ou de votre ordinateur de bureau. C’est donc tout ce que je peux vous aider.
J'espère que cela t'aides. :)