Я не уверен, что это подходящее место для вопросов, связанных с технической поддержкой, но это определенно проблема 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 /