60 votes

Démarrage lent, temps de chargement du noyau long, dû à un périphérique de reprise incorrect.

Depuis quelque temps, le processus de démarrage prend trop de temps (presque 1 minute).

systemd-analyze time 

montre que le noyau prend 35.765s

Regarder dmesg il semble que le problème soit lié au montage des systèmes de fichiers :

...
[    2.186084]  sdb: sdb1 sdb9
[    2.186919] sd 2:0:0:0: [sdb] supports TCG Opal
[    2.186922] sd 2:0:0:0: [sdb] Attached SCSI disk
[    2.499795] ata5: SATA link down (SStatus 0 SControl 300)
[    2.844320] clocksource: Switched to clocksource tsc
[   35.670493] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
[   35.782128] ip_tables: (C) 2000-2006 Netfilter Core Team
[   35.803610] systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
...

Mon /etc/fstab ressemble à ça :

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/ubuntu--vg-root /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=3996-2381  /boot/efi       vfat    umask=0077      0       1
#/dev/mapper/ubuntu--vg-swap_1 none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0

Comment puis-je résoudre ce problème ?

EDIT : en regardant de près les messages de démarrage (après avoir supprimé l'option quiet dans Grub), j'ai repéré cette ligne suspecte :

gave up waiting for suspend/resume device

Je pense que mon swap est crypté, et je pense aussi que l'UUID en /etc/initramfs/conf.d/resume ne correspond à aucun dispositif.

Dois-je désactiver la reprise/suspension ? et comment le faire ?

91voto

Iszi Points 223

Ok, j'ai trouvé la solution, grâce au commentaire de Sudhanshu.

Le problème était dû au fait que mon swap était crypté. Ainsi, le local-premount script dans initramfs attendait un périphérique de swap qui n'était pas disponible, jusqu'à ce qu'il s'arrête. Le message correspondant était gave up waiting for suspend/resume device .

Pour désactiver cela (car reprendre à partir d'un swap n'est pas possible avec un swap crypté, et je n'utilise pas l'hibernation de toute façon), j'ai modifié ce fichier : /etc/initramfs-tools/conf.d/resume .

Dans ce fichier, une ligne avec

RESUME=none

(au lieu de l'UUID qui était ici) désactivera l'attente d'un périphérique de reprise.

Exécuter

sudo update-initramfs -u

pour appliquer les changements.

Le système démarre maintenant normalement.

6voto

Nameless Voice Points 161

J'ai également constaté ce phénomène dans Linux Mint (basé sur Ubuntu), et j'ai passé un certain temps à chercher ce qui n'allait pas.

Cela se produit si votre système est installé sur LVM et utilise un volume LVM comme disque d'échange.

Il y a un bogue récurrent de longue date où le fichier de résumé a incorrectement un UUID (qui n'est pas valide pour LVM) au lieu du chemin du périphérique qu'il devrait avoir. Voir https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/1768230

Vous pouvez le corriger en modifiant le fichier /etc/initramfs-tools/conf.d/resume et en remplaçant l'UUID par le chemin du périphérique de l'unité de permutation. L'extrait de commande suivant le fera pour vous, en utilisant le premier lecteur de swap trouvé et signalé par blkid :

sudo bash -c 'mv /etc/initramfs-tools/conf.d/resume /tmp/resume.bak; echo RESUME=$(blkid | \grep -i swap | head -n 1 | cut -d : -f 1) > /etc/initramfs-tools/conf.d/resume'

Le fichier de résumé fixe devrait ressembler à quelque chose comme ceci : RESUME=/dev/mapper/mint--vg-swap_1

3voto

deni Points 59

Aucune des solutions ci-dessus ou ailleurs n'a fonctionné pour moi mais j'ai trouvé une solution qui réduit mon temps de démarrage de 2 minutes et 10 secondes à 40 secondes.

J'avais l'habitude de créer et de supprimer des partitions d'échange et, d'une manière ou d'une autre, ces journaux restaient dans le fichier etc/fstab. Ainsi, mon système a essayé de monter ces partitions d'échange précédemment créées qui n'existent plus. Laissez-moi vous expliquer ce que j'ai fait étape par étape.

  1. J'ai lancé cette commande sudo blkid | grep swap pour trouver mes partitions d'échange. Il y en avait deux, mais l'une n'existe pas en réalité (elle ne fait référence à aucune de mes partitions).

  2. Je suis donc allé éditer le fichier /etc/fstab en tapant sudo gedit /etc/fstab

  3. Puis je me suis rendu compte qu'il y avait beaucoup de fichiers d'échange que j'avais supprimés mais qui, d'une manière ou d'une autre, avaient repris leur existence dans ce fichier. Donc je me suis référé à l'étape 1 et partitions supprimées qui n'existent plus .

Veuillez voir deux captures d'écran du fichier /etc/fstab avant et après. Après ce nettoyage, tout fonctionne normalement.

Voici le fichier /etc/fstab non édité non édité /etc/fstab

et ici après avoir effacé les partitions d'échange inexistantes. nettoyer /etc/fstab

3voto

Benny Points 31

J'ai eu ce problème après avoir installé 2 distros linux différentes. D'une manière ou d'une autre, sur l'une des distributions, la partition swap s'est vue attribuer un autre UUID que prévu. Ma solution a été de : D'abord, exécuter sudo blkid pour obtenir le bon UUID pour la partition swap. Copiez l'UUID de la swap. Collez-le dans /etc/initramfs-tools/conf.d/resume pour que vous obteniez RESUME=_the_correct_UUID_ . Maintenant, exécutez sudo update-initramfs -u pour appliquer ce changement.

Ensuite, vérifiez /etc/fstab, et changez l'UUID de la partition swap là aussi si nécessaire. (J'ai dû le faire)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X