Вопрос или проблема
Ubuntu 24.04 загружается более 3 минут на MacBook Pro 2010 года.
Загрузка Ubuntu 24.04 занимает очень много времени (около двух минут) из-за, видимо, обнаружения различных USB-устройств моего MacBookPro7,1 (2010 года, 13″).
Я попытался определить устройства, которые выводятся в процессе загрузки, и попытался отключить их обнаружение и загрузку, добавив записи для черного списка в /etc/modprobe.d/
, но это не изменило поведение, которое я наблюдал. После добавления в черный список я пересоздал initrd с помощью sudo initramfs -u
и затем перезагрузил аппаратно.
Вот видео загрузки до внесения каких-либо изменений: https://youtu.be/_RnZXyePNfw
Вот видео загрузки после добавления в черный список appleir, appleir_hid, ohci-pci, ohci-firewire
и ohci
: https://www.youtube.com/watch?v=tBt5mqwwOCo
Как видите, мое изменение на самом деле замедлило процесс загрузки. Так что может быть, это было не лучшим предположением.
В начальном видео после того, как задержка проходит, можно увидеть сообщение об ошибке о “недостоверном” источнике часов “tsc” из-за обнаруженного смещения тактового сигнала.
В то время как после моего изменения вы можете увидеть новое сообщение, в котором говорится: “workqueue: hub_event занял CPU более 10000 мкс 4 раза, подумайте о переключении на WQ_UNBOUND”.
Я не понимаю, являются ли эти сообщения чем-то, с чем я могу справиться как установщик/пользователь.
Запуск systemd-analyze
просто сообщает мне, что ядро запустилось за 4.7 секунды.
У меня такая же проблема, также на MacBookPro7,1.
Похоже, это регресс/ошибка в ядре, потому что, если я понижаю версию ядра, которая идет с Ubuntu 24.04 – в настоящее время версии 6.8.0-39 – до последнего стабильного ядра Ubuntu LTS – в настоящее время версии 6.6.42 – тогда проблема устраняется. И, по крайней мере, на моем MacBookPro7,1 это более старое ядро работает нормально.
В качестве альтернативы вы можете скачать и установить основные ядра Ubuntu вручную, например, так (для версии 6.6.42):
- Скачайте 4
.deb
файла с https://kernel.ubuntu.com/mainline/v6.6.42/amd64/ cd ~/Downloads/
sudo apt install ./linux-headers-6.6.42-060642_6.6.42-060642.202407250837_all.deb
sudo apt install ./linux-headers-6.6.42-060642-generic_6.6.42-060642.202407250837_amd64.deb
sudo apt install ./linux-modules-6.6.42-060642-generic_6.6.42-060642.202407250837_amd64.deb
sudo apt install ./linux-image-unsigned-6.6.42-060642-generic_6.6.42-060642.202407250837_amd64.deb
Порядок, в котором вы устанавливаете эти .deb
файлы, имеет значение, потому что они зависят друг от друга, но это не критично, если вы ошибетесь – apt выдаст ошибку и сообщит о недостающей зависимости.
Вы можете увидеть все доступные основные ядра Ubuntu здесь: https://kernel.ubuntu.com/mainline/.
Вы можете узнать, какие ядра являются LTS, а какие нет, на официальном сайте ядра Linux – https://www.kernel.org/ – или на https://en.wikipedia.org/wiki/Linux_kernel_version_history.
И, да, я проверял, проблема уже присутствует в 6.8.0 (т.е. 6.8), так что они, должно быть, внедрили ее либо в 6.8.0, либо в 6.7.x. И, да, к сожалению, проблема все еще присутствует в 6.9.9.
Что я не знаю, так это как заставить Grub загружать другое ядро по умолчанию – для меня он всегда, кажется, выбирает ядро с наивысшим номером версии – но хорошая новость в том, что, если вам удастся вызвать меню Grub во время загрузки, вы сможете выбрать, какое ядро использовать из этого меню каждый раз, когда вы загружаетесь.
Чтобы заставить меню Grub появиться на нашем MacBookPro7,1, смотрите Как вызвать меню GRUB при загрузке в Ubuntu 24.04 и/или 22.04 на MacBookPro7,1 (2010 года, 13″)
У меня тоже была эта проблема на MacBookPro7,1 под управлением 22.04.5 LTS.
Для меня она не стала невыносимой, пока не вышло ядро 6.8.0-45.
Обнаружение USB-устройств заняло много минут, с предупреждениями о “hub_event занял CPU”. Однако это было заблуждение. Реальная подсказка была обнаружена при отключении quiet
и splash
и наблюдении, что обнаружение устройств снова стало быстрым, как только ядро сообщило:
kernel: clocksource: Switched to clocksource hpet
Добавление этого параметра ядра исправило ситуацию для меня:
clocksource=hpet
Здравствуй
Решение этой проблемы заключалось в том, чтобы попробовать более ранние версии Ubuntu. Я заменил на Elementary Linux 7.1. Проблема решена на данный момент!
Ответ или решение
Проблема длительной загрузки Ubuntu 24.04 на вашем MacBook Pro (модель 2010 года) может быть связана с несовместимостью драйверов или ошибок в самом ядре. Вот несколько шагов для диагностики и решения этой проблемы:
1. Обновление и использование более старого ядра
Судя по вашему описанию, вы заметили, что проблема исчезает при использовании более ранней версии ядра. Вы можете попробовать установить одно из предыдущих производительных ядер, таких как 6.6.42, которое вы уже упоминали. Для этого выполните следующие действия:
-
Посетите Ubuntu mainline kernels и скачайте необходимые
.deb
файлы для ядра 6.6.42:- linux-headers
- linux-modules
- linux-image-unsigned
- Установите их в следующем порядке:
cd ~/Downloads/ sudo apt install ./<имя_файла_с_заголовками>.deb sudo apt install ./<имя_файла_с_модулями>.deb sudo apt install ./<имя_файла_с_изображением>.deb
2. Настройка GRUB для выбора ядра
Чтобы изменить ядро, которое загружается по умолчанию, вам нужно будет редактировать конфигурацию GRUB. Для начала откройте файл конфигурации с помощью команды:
sudo nano /etc/default/grub
Найдите строку, начинающуюся с GRUB_DEFAULT
, и измените на значение, соответствующее желаемой версии ядра. Если вы не знаете, какое значение использовать, просто сохраните настройки и закройте текстовый редактор.
Если вы хотите всегда видеть меню GRUB, уберите параметры quiet
и splash
из строки GRUB_CMDLINE_LINUX_DEFAULT
. Это даст вам больше информации о процессе загрузки и может помочь в диагностике.
После внесения изменений не забудьте обновить GRUB с помощью команды:
sudo update-grub
3. Настройка параметров ядра
Если проблема с обнаружением USB-устройств сохраняется, вы можете попробовать использовать параметр загрузки ядра clocksource=hpet
. Для этого откройте файл конфигурации GRUB:
sudo nano /etc/default/grub
Отредактируйте строку GRUB_CMDLINE_LINUX_DEFAULT
и добавьте clocksource=hpet
:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash clocksource=hpet"
После этого снова выполните sudo update-grub
и проверьте, ускорилась ли загрузка.
4. Установка альтернативного дистрибутива
Если вышеперечисленные решения не сработают, вы также можете рассмотреть установку другого дистрибутива Linux, например, Elementary OS или другой версии Ubuntu, которая работает лучше на вашем оборудовании. Попробуйте загрузить Live CD и протестировать его, прежде чем устанавливать.
5. Сбор информации и поиск решения
Если ни одно из вышеупомянутых решений не помогло, соберите больше информации о вашем оборудовании и попробуйте задать вопрос на специализированных форумах, таких как Ask Ubuntu или Linux на Reddit, предоставив всю подробную информацию о вашей проблеме, включая сообщения из dmesg
и journalctl
.
Не стесняйтесь обращать внимание на любые ошибки или предупреждения, которые могут появляться в процессе загрузки, так как эта информация поможет другим пользователям и разработчикам найти решение.
Постарайтесь следовать указаниям шаг за шагом; если появятся дополнительные вопросы, не стесняйтесь уточнить. Удачи!