Обновление 9
Я решил попробовать эксперимент. Я удалил SSD со своего рабочего стола и временно вставил в ноутбук Dell Latitude. И вот, он загрузился initrd
на порядок быстрее, сэкономив 6 секунд времени загрузки ...
Я сейчас немного растерялся ... может, у GRUB есть проблема с чипсетом моей материнской платы?
Обновление 8
Итак, я заметил кое-что интересное в индикаторе активности HDD. При загрузке initrd
, это почти так, как если бы свет был ШИМ с 10% -ным рабочим циклом или что-то в этом роде. Это заставляет меня задуматься, не оптимизировано ли чтение GRUB, может быть, что-то вроде вызова ОС для чтения каждого байта, а не чтения изображения в виде потока байтов?
Обновление 7
Похоже, что загрузка начального виртуального диска является большой частью проблемы.
Внутри GRUB я нажал Cна командную строку вручную. Затем я приступил к вводу каждой строки из конфигурации по умолчанию по одной (ввод этих UUID был болезненным!) И отметил время, затраченное командой на завершение. Вот что я нашел:
- Большинство команд выполнено мгновенно
- Команда для загрузки ядра заняла около секунды
- Команда для загрузки начального виртуального диска заняла 7 секунд
После ввода всех строк из файла конфигурации я продолжаю работать boot
. С момента нажатия кнопки ввода до момента появления экрана входа в систему это заняло около 7,5 секунд.
Интересным является тот факт, что образ initrd, который он загружает, составляет 36 МБ. Так что, если загрузка заняла 7 секунд, значит, он читает только со скоростью 5 МБ / с!
Индикатор активности диска на моей башне горит все 7 секунд ...
Также вот интересный фрагмент со страницы Википедии об initrd :
Другие дистрибутивы Linux (такие как Fedora и Ubuntu) генерируют более общий образ initrd. Они начинаются только с имени устройства корневой файловой системы (или его UUID) и должны обнаруживать все остальное во время загрузки. В этом случае программное обеспечение должно выполнить сложный каскад задач, чтобы смонтировать корневую файловую систему.
Обновление 6
Натан Осман запросил время загрузки в однопользовательском режиме в чате.
С момента, когда я F10нажал на GRUB, до появления приглашения, это занимает 13 секунд.
Кроме того, я разговаривал с Zanna и Rinzwind в чате, и у них обоих 8-секундный запуск с момента нажатия кнопки питания. Мои 20 секунд от GRUB. Если бы я посчитал время POST, это было бы еще дольше!
Обновление 5
Ubuntu может читать мой SSD на максимальной скорости 550 МБ / с ...
Обновление 4
Поэтому я удалил quiet splash $vt_handoff
параметры из команды загрузки в GRUB на своем ноутбуке (имейте в виду, что у этого ноутбука нет SSD) и заметил очень интересную вещь во время последовательности загрузки:
Он висит на этой линии в течение 15 секунд:
[ 4.374390] init: plymouth-upstart-bridge respawnng too fast, stopped
Вот картинка (низкого качества):
Не уверен, что это значит ...
Обновление 3
Я рассчитал время загрузки одной из моих других машин, работающих под управлением 14.04 (имейте в виду, что на этой машине нет SSD) , и с момента нажатия кнопки ввода в GRUB до появления экрана входа в систему это занимает 40 секунд.
После нажатия Enter, он сидит на том же пустом фиолетовом экране в течение 20 секунд, после чего загружается анимация Ubuntu, и требуется еще 20 секунд до приземления на экран входа в систему.
Я посмотрел на вывод с dmesg
, но я не могу точно сказать, где он закончил загрузку. Я думаю, что это закончилось в 25 секунд. Вот последние несколько строк:
[ 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
Если я правильно истолковал это, это кажется универсальной проблемой GRUB.
Обновление 2
Я смог подтвердить, что это проблема GRUB , установив зеленый цвет фона GRUB с помощью командной строки, доступ к которой осуществляется нажатием кнопки Cв GRUB.
Когда я нажимаю Enter, я получаю пустой зеленый экран за 15 секунд до загрузки анимации загрузки Ubuntu ...
Обновить
Я думаю, проблема в том, что GRUB долго загружает образ ядра.
Вопрос
Я установил Ubuntu 16.04 на свой твердотельный накопитель Samsung 850 Pro 512 ГБ, и я не могу понять, почему мое время загрузки составляет 20 секунд. (С того момента, как я нажал ввод в GRUB). Имейте в виду, что 20, на которые я ссылаюсь, это 17 на экране входа в систему, а затем еще 3 на рабочем столе)
Кроме того, не уверен, если это актуально или нет, но:
- Ubuntu устанавливается в режиме MBR, потому что я презираю UEFI.
- У меня установлены проприетарные драйверы Nvidia
Глядя на изображение, сгенерированноеsystemd-analyze plot > bootimage2
, мой запуск, очевидно, занял 3 секунды?
И, глядя на dmesg
мой запуск, очевидно, заняло 4 секунды. Но я рассчитал это с моим секундомером, и это заняло 20 секунд! (Не включая время POST) И снова имейте в виду, что 20, на которые я ссылаюсь, это 17 на экране входа в систему, а затем еще 3 на рабочем столе)
Вот как происходит последовательность запуска:
- ПОСЛЕ
- Груб грузы
- Я запускаю секундомер, когда нажимаю ENTER
- Я получаю пустой фиолетовый экран в течение ~ 15 секунд
- Я вижу анимацию загрузки Ubuntu в течение двух секунд
- Я приземляюсь на экране входа
- Я останавливаю секундомер
- Я ввожу свой пароль, нажимаю ввод и снова запускаю секундомер.
- Через 3 секунды я высаживаюсь на рабочий стол
- Я снова останавливаю свой секундомер.
Вот полный вывод dmesg
: http://paste.ubuntu.com/23955108/
И вот первые строки из вывода 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
У этих людей одна и та же проблема:
- https://ubuntuforums.org/showthread.php?t=2325045
- https://www.bleepingcomputer.com/forums/t/598260/booting-ubuntu-temporarily-stuck-on-a-purple-screen/
- И кажется, что даже люди с ARCH имеют эту проблему ...
Любые идеи?
systemd-analyze blame
. Странно то, что Grub застрял на «загрузке исходного RAM-диска» примерно на 10 секунд, тогда как из-за размера файла это должна быть доля секунды. Тогда отставание просто ушло. Возможно, это было обновление ядра? Может быть, изменения, которые я сделал,plymouthd
я не уверен.Ответы:
Если GRUB отсутствует на твердотельном накопителе (что следует сделать, если он правильно настроен во время установки), то только наличие SSD потребует времени для распознавания GRUB, но это никоим образом не уменьшит время загрузки, фактически наоборот. Что вы должны сделать, это заставить компьютер загружаться с SSD, изменив порядок загрузки BIOS. Обратите внимание, что вам также необходимо переустановить GRUB на SSD. Хотя в некоторых случаях, например, в моем ноутбуке, вы не можете выбрать SSD в качестве загрузочного устройства в BIOS, но вы застряли на переходе на жесткий диск, загрузке ОЗУ и переходе на SSD.
Я тоже так думаю, но я не до конца знаю конфигурацию вашего ноутбука или настольного компьютера, так что это все, что я могу помочь.
Надеюсь это поможет. :)
источник