Я решил попробовать эксперимент. Я удалил SSD из своего рабочего стола и временно поместил его в мой ноутбук Dell Latitude. О чудо это загрузилось initrd
на порядке величины быстрее, брея 6 секунд от времени начальной загрузки...
Я немного смущен теперь..., возможно, GRUB имеет проблему с чипсетом моей материнской платы?
Таким образом, я заметил что-то интересное о свете действия жесткого диска. При загрузке initrd
, это почти, как будто свет является PWMed в 10%-м рабочем цикле или чем-то. Это заставляет меня задаться вопросом, не оптимизировано ли чтение GRUB, возможно, что-то как оно делает вызов ОС для чтения каждого байта вместо того, чтобы читать изображение как поток байтов?
Кажется, что загрузка начального электронного диска является значительной частью проблемы.
В GRUB я потребовал у C ручной командной строки. Я затем продолжил вводить каждую строку из своей конфигурации по умолчанию в по одному (вводящий те UUID, было болезненным!), и отметил время, которое команда заняла в полном. Вот то, что я нашел:
После ввода во всех строках из файла конфигурации я затем продолжаю работать boot
. Со времени я совершил нападки, входят во время, экран входа в систему появился, потребовалось приблизительно 7,5 секунд.
Из интереса то, что изображение initrd, которое он загружает, составляет 36 МБ. Таким образом, если потребовалось 7 секунд для загрузки, затем это только читает его в 5MB/sec!
Свет активности диска на моей башне остается в течение всех 7 секунд...
Также вот интересный отрывок от страницы Wikipedia о initrd:
Другие дистрибутивы Linux (такие как Fedora и Ubuntu) генерируют более универсальное изображение initrd. Они запускаются только с имени устройства корневой файловой системы (или ее UUID) и должны обнаружить все остальное во время начальной загрузки. В этом случае программное обеспечение должно выполнить сложный каскад задач смонтировать корневую файловую систему
Nathan Osman запросил время начальной загрузки в однопользовательском режиме в чате.
Со времени я поразил F10 в GRUB ко времени, подсказка появляется, требуется 13 секунд.
Кроме того, я говорил с Zanna и Rinzwind в чате, и у них обоих есть 8-секундный запуск со времени хит кнопка питания. Мои 20 секунд от GRUB. Если бы я считал время POST, то это было бы еще длиннее!
Ubuntu может считать мой SSD в своей максимальной скорости 550MB/sec...
Таким образом, я удалил quiet splash $vt_handoff
параметры от команды загрузки в GRUB на моем ноутбуке (имеют в виду этот ноутбук, не имеют SSD), и заметил очень интересную вещь во время последовательности начальной загрузки:
Это зависает на этой строке в течение 15 секунд:
[ 4.374390] init: plymouth-upstart-bridge respawnng too fast, stopped
Вот (низкое качество) изображение:
Не уверенный, каково значение этого...
Я синхронизировал начальную загрузку одной из моих других машин, работающих 14.04 (имейте в виду, что эта машина не имеет SSD), и со времени я совершил нападки, входят в GRUB, пока экран входа в систему не обнаруживается, требуется 40 секунд.
После удара входят, он находится в том же самом пустом фиолетовом экране в течение 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.
Я смог подтвердить, что это - проблема GRUB путем выбирания цвета фона GRUB к зеленому при помощи командной строки, к которой получают доступ путем нажатия C когда в GRUB.
Когда я совершил нападки, входят, я получаю пустой зеленый экран в течение ~15 секунд перед загрузками анимации начальной загрузки Ubuntu...
Я думаю, что проблема - то, что GRUB занимает много времени для загрузки изображения ядра.
Я установил Ubuntu 16.04 на своей Samsung 850 Pro SSD на 512 ГБ, и я не могу понять, почему мое время начальной загрузки составляет 20 секунд. (Со времени я совершил нападки, входят в GRUB). Следует иметь в виду, что 20, на которые я ссылаюсь, 17 на экран входа в систему и затем еще 3 на рабочий стол),
Кроме того, не уверенный, если это релевантно или нет, но:
Рассмотрение изображения, сгенерированного systemd-analyze plot > bootimage2
, мой запуск, по-видимому, занял 3 секунды?
И взгляд на dmesg
, мой запуск, по-видимому, занял 4 секунды. Но я синхронизировал его со своим секундомером, и потребовалось 20 секунд! (Не включая время POST) Снова, имейте в виду, что 20, на которые я ссылаюсь, 17 на экран входа в систему и затем еще 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
У этих людей есть та же проблема:
Какие-либо идеи?
Если GRUB не будет на SSD (который он должен, если правильно настроено во время установки), то просто наличие SSD там займет время GRUB для распознавания его, но он ни в коем случае не уменьшит время начальной загрузки, на самом деле точно противоположное. То, что необходимо сделать, делают загрузку компьютера из SSD, путем изменения порядка загрузки BIOS. Обратите внимание, что также необходимо переустановить GRUB на SSD. Хотя в некоторых случаях как мой ноутбук Вы не можете выбрать SSD как устройство загрузки от BIOS, затем Вы застреваете с движением к жесткому диску, загружая RAM, затем идя в SSD.
Также это - то, что я думаю, происходит, но я не полностью знаю Ваш ноутбук или настольную конфигурацию, таким образом, это - все, с чем я могу помочь.
Hope это помогает. :)