Устранение неполадок, связанных с экстремально долгим временем загрузки в Linux

Устранение неполадок, связанных с экстремально долгим временем загрузки в Linux

Я не уверен, что это подходящее место для вопросов, связанных с технической поддержкой, но это определенно проблема Linux или, по крайней мере, проблема, связанная со взаимодействием Linux с моим оборудованием.

У меня есть настольный ПК, собранный на базе рабочей станции HP Z800, и может иметь значение, что системанетПоддержка UEFI, поэтому все операционные системы используют устаревшие схемы разделов BIOS и MBR.

Обычно я использую двойную загрузку Windows 10 и дистрибутива Linux (в настоящее время Linux Mint 20.2, но эта проблема существует и длявседистрибутивы, которые я пробовал, включая Debian 11, Ubuntu 20.04-21.10, Fedora 33-35, OpenSUSE Tumbleweed и Arch Linux).

Поскольку я в основном нетехнический пользователь, я не уверен, какова правильная терминология, но чтобы иметь возможность правильно описать свою проблему, мне придется разделить процесс загрузки на три этапа (это моя собственная терминология и мой конфликт с существующими, о котором я не знаю!):

  • Этап 1: часть, которая начинается с нажатия кнопки питания и заканчивается доступом к загрузчику (GRUB2).
  • Этап 2: Часть, которая начинается с доступа к загрузчику и заканчивается, когда начинается загрузка самой ОС, т. е. когда я получаю сообщения console/systemd, экран plymouth и т. д.
  • Этап 3: Часть, которая начинается с конца этапа 2, заканчивается, когда ОС полностью загружена и я нахожусь в диспетчере дисплеев.

Проблема в том, что Stage 2 занимает безумно много времени. Поэтому, как только я добираюсь до загрузчика и выбираю (или автоматически выбираю) запись Linux, экран становится полностью пустым (в зависимости от дистрибутива здесь может быть мигающая подсказка, в Mint он полностью пустой, но, например, в Fedora я обычно получаю мигающую подсказку), система простаивает здесь чрезвычайно долго (В прошлый раз я измерил примерно 1 минуту 44 секунды.), а затем начинается этап 3.

Поскольку Stage 3 проходит без проблем, я не уверен, как это исправить. Например, systemd-analyze выдает Startup finished in 16.129s (kernel) + 2.863s (userspace) = 18.993s graphical.target reached after 2.120s in userspace, что мне кажется нормальным и определенно не учитывает 1 минуту+ ничего между загрузчиком и началом загрузки ОС.

Дальнейшая информация:

  • Окнаневедут себя таким образом. Если я выбираю запись Windows 10 в загрузчике, он начинает процесс загрузки мгновенно (даже если быстрый запуск отключен).
  • Он не всегда вел себя так. Я не уверен, когда это началось (вероятно, около года назад), и я думаю, что я полностью переустановил обе операционные системы на ПК, то есть стер все жесткие диски и установил W10 и дистрибутив Linux с нуля. Но ничего экстраординарного не произошло, что могло бы заставить задуматься о какой-либо первопричине этой проблемы.
  • За исключением небольших различий (вроде мигающего приглашения, о котором я упоминал ранее), все дистрибутивы Linux, которые я пробовал с тех пор, ведут себя одинаково. Я не измерял время загрузки для разных дистрибутивов на предмет различий. Но в каждом случае время ожидания намного больше, чем было бы уместно, и оно всегда одинаково, между этапом 2 и этапом 3.
  • На моем ПК три жестких диска, два SSD и один вращающийся HDD. Обычно я использую один SSD для Windows C:, другой SSD для раздела Linux / и вращающийся HDD для разделов Linux /home и Windows D:. Я экспериментировал с записью загрузочного кода MBR во время установки Linux на каждый из этих дисков, и во всех случаях возникает одна и та же проблема. Так что, похоже, то, какой диск является загрузочным, не имеет значения.

Я не обязательно ожидаю волшебного решения, но, как я уже сказал, я абсолютно не имею ни малейшего понятия, как даже начать устранять эту неполадку, поскольку во время ожидания мне не предоставляется никакой обратной связи, а эту проблему очень сложно искать (например, поиск медленной загрузки обычно предполагает проблему на этапе 3).

РЕДАКТИРОВАТЬ:

  • Я удалил quietи splashдобавил systemd.show_status=yesв параметры загрузки. Проблема осталась, т.е. есть минута+ время ожидания передлюбойпоявляется сообщение.
  • Выходные данные dmesg | grep command: [ 0.064784] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.11.0-38-generic root=UUID=78354078-8fcd-4223-8fb0-9137207cb415 ro systemd.show_status=yes.
  • О светодиодных индикаторах: Во время "времени ожидания" зеленый индикатор рядом с кнопкой питания постоянно светился без миганий. Это единственный светодиодный индикатор, который я вижу на своем шасси.
  • Вывод fdisk -lи lsblkвставлен ниже:
Disk /dev/sda: 447,13 GiB, 480103981056 bytes, 937703088 sectors
Disk model: CT480BX500SSD1  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00a879e5

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048    104447    102400    50M  7 HPFS/NTFS/exFAT
/dev/sda2          104448 936654957 936550510 446,6G  7 HPFS/NTFS/exFAT
/dev/sda3       936656896 937697279   1040384   508M 27 Hidden NTFS WinRE


Disk /dev/sdb: 1,84 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: WDC WD20EZRX-00D
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xfc1366de

Device     Boot      Start        End    Sectors  Size Id Type
/dev/sdb1  *          2048 2833283071 2833281024  1,3T  7 HPFS/NTFS/exFAT
/dev/sdb2       2833283072 3907028991 1073745920  512G 83 Linux


Disk /dev/sdc: 223,58 GiB, 240057409536 bytes, 468862128 sectors
Disk model: KINGSTON SA400S3
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x143a208b

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sdc1       452857856 468860927  16003072  7,6G 82 Linux swap / Solaris
/dev/sdc2  *         2048 452857855 452855808  216G 83 Linux

Partition table entries are not in disk order.

и

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 447,1G  0 disk 
├─sda1   8:1    0    50M  0 part 
├─sda2   8:2    0 446,6G  0 part 
└─sda3   8:3    0   508M  0 part 
sdb      8:16   0   1,8T  0 disk 
├─sdb1   8:17   0   1,3T  0 part 
└─sdb2   8:18   0   512G  0 part /Storage
sdc      8:32   0 223,6G  0 disk 
├─sdc1   8:33   0   7,6G  0 part [SWAP]
└─sdc2   8:34   0   216G  0 part /

Связанный контент