rEFInd: очень медленная загрузка при использовании EFI Stub Loader

После недавней переустановки я обнаружил, что испытываю очень странную проблему с rEFInd: пока он обнаруживает как GRUB, так и vmlinuz на моем / загрузочном разделе, использование последнего происходит крайне медленно.

В частности, сразу после выбора «Boot vmlinuz-4.8.0-53-generic из 191 MiB ext2 volume», мне показан черный экран со следующим текстом:

Starting vmlinuz-4.8.0-53-generic Using load options 'root=UUID=6641e1e2-6829-49cc-bf88-85ba5eefbff8 ro quiet splash nomodeset vt.handoff=7 initrd=\initrd.img-4.8.0-53-generic'

Примерно через минуту ожидания ( !), Linux загружается нормально (и довольно быстро).

Если с другой стороны я выбираю GRUB, меня берут в меню загрузки GRUB, и после выбора опции по умолчанию Linux сразу начинает загрузку.

Что может быть причиной этого?

Моя настройка включает SSD (где у меня установлен Linux и Windows) и жесткий диск (где мой / домашний), с ext2 / boot и раздел EFI (созданный Windows изначально), смонтированный в / boot / efi. Вот мой / etc / fstab:

UUID=6641e1e2-6829-49cc-bf88-85ba5eefbff8 / ext4 errors=remount-ro 0 1 UUID=3c804805-c41e-4b9d-af02-118b98858ae4 /boot ext2 defaults 0 2 UUID=8EA5-5319 /boot/efi vfat umask=0077 0 1 UUID=bf088ec8-140d-4829-8de7-deb1d375b0e5 /home ext4 defaults 0 2 UUID=E2A8CA84A8CA5727 /mnt/Windows ntfs defaults,umask=007,gid=46 0 0 UUID=3fb0b28d-87d8-4162-b469-1c157a4d00b0 none swap sw 0 0
1
задан 24 September 2017 в 20:59

3 ответа

Я сторонник rEFInd.

Это проблема драйвера файловой системы. По причинам, которые я не совсем понимаю, некоторые драйверы файловой системы rEFInd (особенно драйвер ext2_x64.efi) медленны на некоторых компьютерах. Несколько лет назад я добавил кэш-код кэш-кода readahead, и это очень помогло - в VirtualBox скорость улучшилась примерно с 3-минутного времени загрузки до нескольких десятков секунд, IIRC. Однако некоторые компьютеры продолжают испытывать проблемы даже с этим кешем.

Решение состоит в том, чтобы перейти на другую файловую систему. Драйвер ext4fs от rEFInd намного быстрее, чем драйвер ext2 / 3fs, а драйверы Btrfs и ReiserFS еще быстрее. (Обратите внимание, что драйвер ext4fs может читать ext2fs, но будет обеспечивать небольшое или полное отсутствие скорости таким образом, ему необходимо прочитать фактическую файловую систему ext4, чтобы обеспечить улучшение скорости.) В худшем случае вы можете использовать FAT, что требует нет специального драйвера (он встроен во все EFI); или на Mac, вы можете использовать HFS +. (Также есть драйвер HFS +, который поставляется с rEFInd, поэтому в принципе вы можете использовать HFS + даже на не-Mac-ПК, но этого мало или вообще не нужно). Однако перемещение за пределы стандартной файловой системы Linux нецелесообразно. Ubuntu использует символические ссылки для некоторых (но не всех) обновлений ядра, делая FAT плохим выбором; и хотя HFS + должен работать, он официально не поддерживается Ubuntu. Даже ReiserFS не является опцией в установщике Ubuntu, поэтому я избегаю этого для Ubuntu. Это оставляет ext4fs и Btrfs.

Переключение довольно просто, но без риска - если вы допустили ошибку, ваша система может оказаться не загружаемой. Процедура bare-bones:

Скопируйте новый драйвер файловой системы в поддиректорию rEFInd drivers или drivers_x64 (вероятно,). Удаление старого файла ext2_x64.efi из этого места уменьшит время загрузки rEFInd на секунду или около того. Отключите ESP (/boot/efi). Создайте резервную копию раздела /boot. Для этого вы можете использовать zip, tar, cp или какой-либо другой инструмент на уровне файлов. Отключить /boot. Создайте новую файловую систему на разделе /boot. Введите sudo blkid /dev/sda{x} (сменив /dev/sda{x} на идентификатор вашего раздела /boot), чтобы узнать его новое значение UUID. Отредактируйте /etc/fstab, чтобы изменить значение UUID и тип файловой системы для раздела /boot. Введите sudo mount -a, чтобы установить новый раздел /boot. (Вероятно, он жалуется, что нет точки монтирования /boot/efi. Вы можете игнорировать это предупреждение.) Восстановить резервные файлы /boot в новой файловой системе /boot.

На этом этапе вы сможете перезагрузиться, и он будет работать лучше. Однако ошибка может привести к тому, что система будет недоступна. Чтобы уменьшить этот риск, вы можете скопировать хотя бы одно рабочее ядро, файл initrd и refind_linux.conf с /boot на /boot/efi и проверить свою способность загружать ядро ​​из ESP перед началом. Это даст вам резервный способ загрузки в случае возникновения проблемы. Если нет проблем, вы можете, конечно, удалить ядро ​​из ESP, как только вы закончите.

Подробнее о драйверах rEFInd см. В документации по этому вопросу:

http :

//www.rodsbooks.com/refind/drivers.html
3
ответ дан 22 May 2018 в 18:09
  • 1
    Подтверждая, что конвертация / загрузка в ext4 улучшилась (теперь это занимает 3-4 секунды) - спасибо. Интересно отметить, что медлительность произошла только после моей недавней переустановки - тот же самый ПК, который использовался для быстрой загрузки с rEFInd, когда / boot был ext2, поэтому проблема определенно не привязана к ПК. – fstanis 8 October 2017 в 21:29
  • 2
    Интересно, что повторная установка вызвала эту проблему. Вы очистили раздел /boot? Возможно, это был ext4fs, и вы случайно изменили его на ext2fs? Или, возможно, создание новой файловой системы ext2 изменило что-то о своем макете данных, которое взаимодействовало с проблемами прошивки и / или EFI, чтобы вызвать проблему. – Rod Smith 9 October 2017 в 22:21

Я сторонник rEFInd.

Это проблема драйвера файловой системы. По причинам, которые я не совсем понимаю, некоторые драйверы файловой системы rEFInd (особенно драйвер ext2_x64.efi) медленны на некоторых компьютерах. Несколько лет назад я добавил кэш-код кэш-кода readahead, и это очень помогло - в VirtualBox скорость улучшилась примерно с 3-минутного времени загрузки до нескольких десятков секунд, IIRC. Однако некоторые компьютеры продолжают испытывать проблемы даже с этим кешем.

Решение состоит в том, чтобы перейти на другую файловую систему. Драйвер ext4fs от rEFInd намного быстрее, чем драйвер ext2 / 3fs, а драйверы Btrfs и ReiserFS еще быстрее. (Обратите внимание, что драйвер ext4fs может читать ext2fs, но будет обеспечивать небольшое или полное отсутствие скорости таким образом, ему необходимо прочитать фактическую файловую систему ext4, чтобы обеспечить улучшение скорости.) В худшем случае вы можете использовать FAT, что требует нет специального драйвера (он встроен во все EFI); или на Mac, вы можете использовать HFS +. (Также есть драйвер HFS +, который поставляется с rEFInd, поэтому в принципе вы можете использовать HFS + даже на не-Mac-ПК, но этого мало или вообще не нужно). Однако перемещение за пределы стандартной файловой системы Linux нецелесообразно. Ubuntu использует символические ссылки для некоторых (но не всех) обновлений ядра, делая FAT плохим выбором; и хотя HFS + должен работать, он официально не поддерживается Ubuntu. Даже ReiserFS не является опцией в установщике Ubuntu, поэтому я избегаю этого для Ubuntu. Это оставляет ext4fs и Btrfs.

Переключение довольно просто, но без риска - если вы допустили ошибку, ваша система может оказаться не загружаемой. Процедура bare-bones:

Скопируйте новый драйвер файловой системы в поддиректорию rEFInd drivers или drivers_x64 (вероятно,). Удаление старого файла ext2_x64.efi из этого места уменьшит время загрузки rEFInd на секунду или около того. Отключите ESP (/boot/efi). Создайте резервную копию раздела /boot. Для этого вы можете использовать zip, tar, cp или какой-либо другой инструмент на уровне файлов. Отключить /boot. Создайте новую файловую систему на разделе /boot. Введите sudo blkid /dev/sda{x} (сменив /dev/sda{x} на идентификатор вашего раздела /boot), чтобы узнать его новое значение UUID. Отредактируйте /etc/fstab, чтобы изменить значение UUID и тип файловой системы для раздела /boot. Введите sudo mount -a, чтобы установить новый раздел /boot. (Вероятно, он жалуется, что нет точки монтирования /boot/efi. Вы можете игнорировать это предупреждение.) Восстановить резервные файлы /boot в новой файловой системе /boot.

На этом этапе вы сможете перезагрузиться, и он будет работать лучше. Однако ошибка может привести к тому, что система будет недоступна. Чтобы уменьшить этот риск, вы можете скопировать хотя бы одно рабочее ядро, файл initrd и refind_linux.conf с /boot на /boot/efi и проверить свою способность загружать ядро ​​из ESP перед началом. Это даст вам резервный способ загрузки в случае возникновения проблемы. Если нет проблем, вы можете, конечно, удалить ядро ​​из ESP, как только вы закончите.

Подробнее о драйверах rEFInd см. В документации по этому вопросу:

http :

//www.rodsbooks.com/refind/drivers.html
3
ответ дан 18 July 2018 в 06:17

Я сторонник rEFInd.

Это проблема драйвера файловой системы. По причинам, которые я не совсем понимаю, некоторые драйверы файловой системы rEFInd (особенно драйвер ext2_x64.efi) медленны на некоторых компьютерах. Несколько лет назад я добавил кэш-код кэш-кода readahead, и это очень помогло - в VirtualBox скорость улучшилась примерно с 3-минутного времени загрузки до нескольких десятков секунд, IIRC. Однако некоторые компьютеры продолжают испытывать проблемы даже с этим кешем.

Решение состоит в том, чтобы перейти на другую файловую систему. Драйвер ext4fs от rEFInd намного быстрее, чем драйвер ext2 / 3fs, а драйверы Btrfs и ReiserFS еще быстрее. (Обратите внимание, что драйвер ext4fs может читать ext2fs, но будет обеспечивать небольшое или полное отсутствие скорости таким образом, ему необходимо прочитать фактическую файловую систему ext4, чтобы обеспечить улучшение скорости.) В худшем случае вы можете использовать FAT, что требует нет специального драйвера (он встроен во все EFI); или на Mac, вы можете использовать HFS +. (Также есть драйвер HFS +, который поставляется с rEFInd, поэтому в принципе вы можете использовать HFS + даже на не-Mac-ПК, но этого мало или вообще не нужно). Однако перемещение за пределы стандартной файловой системы Linux нецелесообразно. Ubuntu использует символические ссылки для некоторых (но не всех) обновлений ядра, делая FAT плохим выбором; и хотя HFS + должен работать, он официально не поддерживается Ubuntu. Даже ReiserFS не является опцией в установщике Ubuntu, поэтому я избегаю этого для Ubuntu. Это оставляет ext4fs и Btrfs.

Переключение довольно просто, но без риска - если вы допустили ошибку, ваша система может оказаться не загружаемой. Процедура bare-bones:

Скопируйте новый драйвер файловой системы в поддиректорию rEFInd drivers или drivers_x64 (вероятно,). Удаление старого файла ext2_x64.efi из этого места уменьшит время загрузки rEFInd на секунду или около того. Отключите ESP (/boot/efi). Создайте резервную копию раздела /boot. Для этого вы можете использовать zip, tar, cp или какой-либо другой инструмент на уровне файлов. Отключить /boot. Создайте новую файловую систему на разделе /boot. Введите sudo blkid /dev/sda{x} (сменив /dev/sda{x} на идентификатор вашего раздела /boot), чтобы узнать его новое значение UUID. Отредактируйте /etc/fstab, чтобы изменить значение UUID и тип файловой системы для раздела /boot. Введите sudo mount -a, чтобы установить новый раздел /boot. (Вероятно, он жалуется, что нет точки монтирования /boot/efi. Вы можете игнорировать это предупреждение.) Восстановить резервные файлы /boot в новой файловой системе /boot.

На этом этапе вы сможете перезагрузиться, и он будет работать лучше. Однако ошибка может привести к тому, что система будет недоступна. Чтобы уменьшить этот риск, вы можете скопировать хотя бы одно рабочее ядро, файл initrd и refind_linux.conf с /boot на /boot/efi и проверить свою способность загружать ядро ​​из ESP перед началом. Это даст вам резервный способ загрузки в случае возникновения проблемы. Если нет проблем, вы можете, конечно, удалить ядро ​​из ESP, как только вы закончите.

Подробнее о драйверах rEFInd см. В документации по этому вопросу:

http :

//www.rodsbooks.com/refind/drivers.html
3
ответ дан 24 July 2018 в 18:34

Другие вопросы по тегам:

Похожие вопросы: