Некоторое время мой процесс загрузки занимает слишком много времени (почти 1 минута).
systemd-analyse time
показывает, что ядро занимает 35,765 с
Глядя dmesg
, кажется, проблема с монтированием файловых систем:
...
[ 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)
...
Моя /etc/fstab
выглядит так:
# <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
Как я могу устранить это?
РЕДАКТИРОВАТЬ: внимательно глядя на загрузочные сообщения (после удаления тихой опции в grub), я заметил подозрительную строку:
gave up waiting for suspend/resume device
Я думаю, что мой обмен зашифрован, и я также думаю, что UUID в /etc/initramfs/conf.d/resume
не соответствует ни одному устройству.
Должен ли я отключить резюме / приостановить? и как это сделать?
Ответы:
Хорошо, я нашел решение, благодаря комментарию Судханшу.
Проблема была в том, что мой своп был зашифрован. Таким образом,
local-premount
скрипт в initramfs ожидал недоступного устройства подкачки, пока не истекло время ожидания. Соответствующее сообщение былоgave up waiting for suspend/resume device
.Чтобы отключить эту функцию (как возобновление из свопа не представляется возможным с шифрованного раздела подкачки, и я не использую спящий режим в любом случае), я изменил этот файл:
/etc/initramfs-tools/conf.d/resume
.В этом файле строка с
(вместо UUID, который был здесь) отключит ожидание возобновления устройства.
Бег
применить изменения.
Система теперь загружается нормально.
источник
Я также видел это в Linux Mint (на основе Ubuntu) и потратил некоторое время на то, чтобы понять, что происходит не так.
Это происходит, если ваша система установлена на LVM и использует том LVM в качестве диска подкачки.
Существует давняя, периодически повторяющаяся ошибка, когда файл резюме неправильно имеет UUID (который недопустим для LVM) вместо пути к устройству, который должен иметь. См. Https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/1768230.
Вы можете исправить это, отредактировав
/etc/initramfs-tools/conf.d/resume
файл и заменив UUID на путь устройства на диске подкачки. Следующий фрагмент команды сделает это за вас, используя первый диск подкачки, найденный и сообщенный blkid:источник
Ни одно из этих решений выше или в другом месте не сработало для меня, но я нашел решение, которое сокращает время моей загрузки до 40 секунд с 2 минут и 10 секунд.
Я использовал для создания и удаления разделов подкачки, и почему-то эти журналы остались в файле etc / fstab. Поэтому моя система пыталась смонтировать те ранее созданные разделы подкачки, которых больше не существует. Поэтому, пожалуйста, позвольте мне объяснить, что я сделал, шаг за шагом.
Я запустил эту команду,
sudo blkid | grep swap
чтобы узнать мои разделы подкачки. Их было два, но один на самом деле не существует (он не относится ни к одному из моих разделов).Поэтому я пошел редактировать файл / etc / fstab, набрав
sudo gedit /etc/fstab
Затем я понял, что существует так много файлов подкачки, которые я удалил, но каким-то образом возобновил существование в этом файле. Поэтому я сослался на шаг 1 и удалил разделы, которые больше не существуют .
Пожалуйста, смотрите два скриншота до и после / etc / fstab. После этой очистки все работает как обычно.
Это неотредактированный файл / etc / fstab, неотредактированный файл / etc / fstab
а вот после стирания несуществующих разделов подкачки очистите / etc / fstab
источник
Я получил эту проблему после установки 2 разных дистрибутивов Linux. Каким-то образом в одном дистрибутиве раздел подкачки получил другой UUID, назначенный ему, а затем ожидал. Мое решение было: во-первых, запустите,
sudo blkid
чтобы получить правильный UUID для раздела подкачки. Скопируйте UUID свопа. Вставьте его,/etc/initramfs-tools/conf.d/resume
чтобы вы получилиRESUME=_the_correct_UUID_
. Теперь бегите,sudo update-initramfs -u
чтобы применить это изменение.Затем проверьте / etc / fstab и измените UUID раздела подкачки, если это необходимо. (Мне пришлось)
источник