Syslinux boot linux failed error 0

Содержание
  1. Как исправить ошибку syslinux при создании загрузочной флешки в Windows?
  2. Не загружается с USB или CD (сообщение SYSLINUX)
  3. 15 ответов
  4. Arch Linux
  5. #1 2016-08-04 21:45:26
  6. [Solved] Syslinux Failed to load ldlinux.c32
  7. #2 2016-08-04 22:21:06
  8. Re: [Solved] Syslinux Failed to load ldlinux.c32
  9. #3 2016-08-04 22:37:17
  10. Re: [Solved] Syslinux Failed to load ldlinux.c32
  11. #4 2016-08-04 23:35:08
  12. Re: [Solved] Syslinux Failed to load ldlinux.c32
  13. #5 2016-08-04 23:45:38
  14. Re: [Solved] Syslinux Failed to load ldlinux.c32
  15. #6 2016-08-04 23:46:14
  16. Re: [Solved] Syslinux Failed to load ldlinux.c32
  17. #7 2016-08-05 00:07:40
  18. Re: [Solved] Syslinux Failed to load ldlinux.c32
  19. #8 2016-08-05 01:31:43
  20. Re: [Solved] Syslinux Failed to load ldlinux.c32
  21. Syslinux (Русский)
  22. Contents
  23. Системы с BIOS
  24. Обзор процесса загрузки
  25. Установка
  26. Автоматическая установка
  27. Ручная установка
  28. Системы с UEFI
  29. Недостатки UEFI Syslinux
  30. Установка
  31. Настройка
  32. Примеры
  33. Приглашение командной строки
  34. Текстовое меню загрузки
  35. Графическое меню загрузки
  36. Параметры ядра
  37. Автозагрузка
  38. Безопасность
  39. Передача управления другому загрузчику (chainloading)
  40. Chainloading для других систем Linux
  41. Использование memtest
  42. Перезагрузка и выключение
  43. Очистка экрана
  44. Раскладка клавиатуры
  45. Скрытие меню
  46. PXELINUX
  47. Загрузка файлов образа ISO9660 при помощи memdisk
  48. Решение проблем
  49. Использование приглашения Syslinux
  50. Fsck не работает на корневом разделе
  51. No Default or UI found on some computers
  52. Missing operating system
  53. Windows загружается, игнорируя Syslinux
  54. После выбора пункта меню ничего не происходит
  55. Невозможно удалить ldlinux.sys
  56. Белый блок в верхнем левом углу при использовании vesamenu
  57. Chainloading Windows не работает, когда она установлена на другом диске
  58. Чтение логов загрузчика

Как исправить ошибку syslinux при создании загрузочной флешки в Windows?

Я скачал рабочий стол Ubuntu 12.04 и пытаюсь создать загрузочный USB-накопитель с помощью универсального установщика USB.

Тем не менее, я продолжаю получать сообщение:

Я отформатировал USB с использованием FAT32 (как быстрого, так и полного форматирования) и даже попробовал только FAT. Ошибка все еще появляется. Я также отключил все брандмауэры, но это не имеет значения.

Почему это происходит?

Я также использовал универсальный установщик USB , и также получил эту проблему.

Попробуйте переформатировать диск в NTFS и попробуйте снова. Он должен работать.

У меня была такая же проблема с рабочим столом Ubuntu 12.04 64bit. Я пробовал 2 раза, та же ошибка: Syslinux выдает предупреждение, закрывается и говорит: «Не будет загрузочным».

Итак, я отформатировал флешку ДО открытия универсального установщика USB и НЕ проверил опцию «форматировать диск» (флажок), и она работала просто отлично.

Загрузите Unetbootin для Windows и попробуйте это:

Прежде чем приступить к созданию загрузочного USB, всегда полезно проверить md5sum загруженного вами iso:

Это может спасти вас много горя позже, если окажется, что загрузка была повреждена

Редактировать: @emersonhsieh, я думаю, что LiveUSB должен быть отформатирован FAT, чтобы иметь возможность загружаться с него.

@ Крис Майн имел fat32, но это не сработало. после того как я переформатировал его в ntfs, у него не было сообщения об ошибке.

@eversonhsieh: Я сталкивался с ситуациями, когда таблица разделов, помещенная производителем в USB-накопитель, вызывает некоторые проблемы. Решение состоит в том, чтобы полностью удалить таблицу разделов, переделать ее и переформатировать FAT. Крис

Я добавляю это как другое изменение, потому что мой комментарий ниже, кажется, скрыт ссылкой «показать больше». Я думаю, что это достаточно важно, чтобы выразить это здесь ясно, так как это вызвало проблему для многих людей, включая меня самого:

Хорошо, я только что проверил эту проблему с помощью Unetbootin и загрузчика Ubuntu Startup на диске Verbatim 2Gb. Проблема заключается в таблице разделов, которую производители ставят на устройства. Возможно, он не помечен как загрузочный или содержит что-то нестандартное. Решение состоит в том, чтобы удалить таблицу разделов на устройстве и переделать новую таблицу разделов. Затем вы можете создать новый раздел и отформатировать его в FAT32, и он будет работать. Крис

Источник

Не загружается с USB или CD (сообщение SYSLINUX)

Я пытаюсь установить linux на свой ноутбук Toshiba Satellite C6550-S5200. Я сделал это один раз, но что-то случилось, поэтому я удалил его, затем мне пришлось уничтожить все данные на жестком диске, так что теперь у меня ничего нет на нем. Ну, у меня есть ISO-файл, записанный на CD и на флешку. С флешки у меня получается.

SYSLINUX 4.06 EDD 4.06-pre7 Copyright (C) 1994-2012 H. Peter Anvin et al

С компакт-диска он начнет загружать его, но где-то загружая его, точки станут оранжевыми и останутся такими, а мой привод компакт-дисков выключится.

Да, и еще немного информации, изображения работают, потому что я пытался загрузить их на другой компьютер, и это работало просто отлично.

Мне удалось загрузить компакт-диск. Мне просто нужно было сначала загрузить компьютер, затем вставить компакт-диск и затем загрузить его. Как только я закончу установку Ubuntu, она будет работать нормально, но я должен оставить компьютер включенным 24/7, потому что если я его выключу, компьютер зависнет через 5-10 секунд после загрузки, независимо от того, как я его установлю.

15 ответов

Я тоже столкнулся с этим. Проблема, которую я обнаружил, заключалась в том, что мой 16 ГБ USB был отформатирован как NTFS. Я пытался изменить размер блока и переформатировать его с помощью Windows Quick Format, но проблема была решена путем переформатирования в FAT32. Ubuntu загружается просто отлично, сейчас. Жаль, что я не могу использовать NTFS, но разница будет незначительной.

Это проблема, связанная с HP. У меня такая же проблема с Linux Mint 12 rc. Он прекрасно загружается с USB на Lenvo ThinkPad или Dell Latitude, но на HP не работает. Что странно, что у меня есть еще один Pendrive с XP, такой как live linux на основе Ubuntu 10.04, и он отлично загружается на HP. Протестировано на разных машинах HP.

оба были созданы с использованием одного и того же Unebootin.

И сегодня я нашел решение. Вам нужно войти в настройку BIOS (для HP обычно f10 во время запуска), перейти на вкладку «Конфигурация системы» или аналогичную и в Boot Options. Установите самый высокий приоритет для жесткого диска USB (должен быть перед USB CD-ROM — лучше всего дать USB CD-ROM самый низкий приоритет, например, седьмой). Также USB Hard Disk должен быть до USB Floppy.

Надеюсь, это сработает и для вас.

Попытайтесь использовать unetbootin программу в человечности для создания USB загрузочным с человечностью. Используйте свои настройки BIOS для выбора USB-устройства для начальной загрузки впоследствии.

Править: Так как я первоначально записал этот ответ, я включился немного в знании. Word вокруг Интернета осуждает unetbootin. Вот список случайных причин:

  • никакая надлежащая поддержка UEFI
  • очевидные проблемы с systemd
  • на самом деле имел некоторые персональные проблемы при создании живых CD некоторых более тайных дистрибутивов (как последний crunchbang)

Если у Вас есть доступ к машине Windows, как другой ответ AtariBaby, Rufus является Вашим лучшим выбором. Это поддерживает variuous схемы выделения разделов и особенности начальной загрузки.

Читайте также:  Coding android on mac os

Если у Вас есть доступ к дистрибутиву GNU/Linux/Unix или набору инструментов, используйте dd. Это — вероятно, лучший способ клонировать диски или записать изображения им. Пользователь densmorea или reddit помещают его лучше и дают несколько ссылок на учебные руководства при использовании dd.

Я также отправлю ссылки здесь для дальнейшего использования и посторонние проводники:

Источник

Arch Linux

You are not logged in.

#1 2016-08-04 21:45:26

[Solved] Syslinux Failed to load ldlinux.c32

TLDR:
ext4 was using 64bit by default. Reformat with -O ^64bit

Oh right, I installed arch a lot of times on different hardware, and I always use Syslinux. The thing is, the last two netbooks I installed with syslinux, throws that error.

Chroot and here are some outputs>

Tried without «intel-ucode», still. Any ideas?

Last edited by forbi (2016-08-05 13:10:48)

#2 2016-08-04 22:21:06

Re: [Solved] Syslinux Failed to load ldlinux.c32

I’m not sure how it would cause this error, but there is clearly something wrong with that syslinux.cfg.

What is your partition layout? Right now you have sda1 as both a boot parition and root parition.

«UNIX is simple and coherent. » — Dennis Ritchie, «GNU’s Not UNIX» — Richard Stallman

#3 2016-08-04 22:37:17

Re: [Solved] Syslinux Failed to load ldlinux.c32

FWIW, I don’t understand what you’re getting at. I can’t see anything clearly wrong with the menu entry he posted, so I can’t help but wonder if you mean to suggest having «sda1 as both a boot parition and root parition» is a problem.

But whether the Constitution really be one thing, or another, this much is certain — that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner

#4 2016-08-04 23:35:08

Re: [Solved] Syslinux Failed to load ldlinux.c32

Sorry, but I can’t see any errors in that menu entry.
And that line was the only one modified. (sda1 and intel in initrd)

And here is syslinux.cfg, ingore the line about sda2

Last edited by forbi (2016-08-04 23:40:35)

#5 2016-08-04 23:45:38

Re: [Solved] Syslinux Failed to load ldlinux.c32

which filesystem are you using on sda1?

#6 2016-08-04 23:46:14

Re: [Solved] Syslinux Failed to load ldlinux.c32

By the way, GRUB works just fine, which makes it weirder.

Last edited by forbi (2016-08-05 00:06:33)

#7 2016-08-05 00:07:40

Re: [Solved] Syslinux Failed to load ldlinux.c32

Oops, sorry — I’ve never used syslinux on a single (boot on root) partition. I misunderstood how it would work. Sorry for the noise.

«UNIX is simple and coherent. » — Dennis Ritchie, «GNU’s Not UNIX» — Richard Stallman

#8 2016-08-05 01:31:43

Re: [Solved] Syslinux Failed to load ldlinux.c32

Did you disable 64bit volume support when creating the filesystem?

As of Syslinux 6.03, «pure 64-bits», compression and/or encryption are not supported.

Quoting part of the release notes of version 1.43 of e2fsprogs (May 17, 2016):

Mke2fs will now create file systems with the metadata_csum and 64bit features enabled by default.

Users should rather (manually) disable the 64bit feature in the mke2fs command when creating / formatting a boot volume with ext2/3/4; otherwise, the bootloader (as of version 6.03) will fail.

passing ‘-O ^64bit’ option to mkfs should do the trick.

EDIT: You might want to make sure that the ’64bit’ feature is actually enabled with dump2fs before wiping your partition

Last edited by ooo (2016-08-05 02:05:54)

Источник

Syslinux (Русский)

Syslinux — это набор загрузчиков, способных загружать образы с жестких дисков, компакт-дисков, а также через сеть с использованием PXE. Он поддерживает файловые системы FAT, ext2, ext3, ext4 и Btrfs.

Contents

Системы с BIOS

Обзор процесса загрузки

  1. Этап 1 : Часть 1Загрузка MBR — При запуске BIOS загружает 440 байт загрузочного кода MBR, расположенного в начале диска ( /usr/lib/syslinux/bios/mbr.bin или /usr/lib/syslinux/bios/gptmbr.bin )
  2. Этап 1 : Часть 2Поиск активного раздела. На первом этапе загрузки MBR ищет раздел, помеченный, как активный (с установленным boot-флагом). Предположим, это раздел /boot
  3. Этап 2 : Часть 1Выполнение загрузочной записи томаПервый этап загрузочной записи MBR начинает выполнение Загрузочной Записи Тома (VBR) с раздела /boot . При использовании syslinux загрузочный код VBR находится в стартовом секторе /boot/syslinux/ldlinux.sys , который был создан командой extlinux —install . Обратите внимание, что ldlinux.sys — не то же самое, что ldlinux.c32
  4. Этап 2 : Часть 2Выполнение /boot/syslinux/ldlinux.sys — VBR загрузит остальную часть /boot/syslinux/ldlinux.sys . Расположение сектора /boot/syslinux/ldlinux.sys не должно измениться, иначе syslinux не выполнит загрузку

Установка

Автоматическая установка

Скрипт syslinux-install_update установит Syslinux, скопирует модули *.c32 в /boot/syslinux , установит boot-флаг и загрузочный код в MBR. Он может работать с дисками MBR и GPT с программным RAID:

  1. Если вы используете отдельный раздел /boot, удостоверьтесь, что он примонтирован. Используйте для этого команду lsblk ; если вы не видите точку монтирования /boot , примонтируйте раздел до того, как вы приступите к следующему шагу
  2. Запустите syslinux-install_update с опциями -i (установить файлы), -a (пометить раздел, как активный, при помощи boot-флага) и -m (установить загрузочный код MBR): Если эта команда выдает ошибку Установка Syslinux BIOS не удалась (Syslinux BIOS install failed), вероятно, проблема в том, что исполняемый файл extlinux не может найти раздел, содержащий /boot : Это может случиться, например, при обновлении с LILO, который при загрузке текущего пользовательского (custom) ядра изменил параметр ядра в командной строке с, допустим, root=/dev/sda1 на его числовой эквивалент root=801 , о чем свидетельствуют /proc/cmdline и вывод команды mount . Исправьте ситуацию либо используя ручную установку, как описано ниже, с указанием —device=/dev/sda1 для extlinux , либо просто перезагрузившись на обычное ядро Arch Linux, поскольку оно использует initramfs, благодаря чему проблема исчезнет.
  3. Создайте или отредактируйте файл /boot/syslinux/syslinux.cfg , следуя указаниям из раздела #Настройка.

Ручная установка

Загрузочный раздел, на который вы планируете установить Syslinux, должен содержать файловую систему FAT, ext2, ext3, ext4 или Btrfs. Вы должны устанавливать его по пути точки монтирования, а не на устройство /dev/sdXY . Вы не должны устанавливать его в корневой каталог файловой системы, например, устройства /dev/sda1 , примонтированного в /boot . Вы можете установить Syslinux в каталог syslinux :

После этого установите загрузочный код Syslinux ( mbr.bin или gptmbr.bin ) в 440-байтную область загрузочного кода MBR (не путать с MBR как таблицей разделов msdos) диска, как описано в следующем разделе.

Таблица разделов MBR

Теперь вам необходимо пометить ваш загрузочный раздел как активный в вашей таблице разделов. Вот несколько приложений, способных это сделать: fdisk , cfdisk , sfdisk , parted/gparted («boot-флаг»). Должно получиться примерно следующее:

Альтернативная MBR, которую предоставляет Syslinux: altmbr.bin . Эта MBR не сканирует диск на наличие загрузочного раздела; вместо этого, последнему байту MBR присваивается значение, отображающее то, с какого раздела необходимо выполнять загрузку. Вот пример того, как altmbr.bin может быть скопирован:

Читайте также:  Linux creating user groups

В этом случае один байт со значением 5 добавляется к содержимому altmbr.bin и итоговые 440 байт пишутся в MBR устройства sda . Syslinux был установлен на первый логический раздел ( /dev/sda5 ) диска.

Таблица разделов GUID (GPT)

Загляните в основную статью: GUID Partition Table.

Второй бит атрибутов (атрибут «legacy_boot») должен быть установлен для раздела /boot :.

Это переключит атрибут legacy BIOS bootable на разделе 1. Для проверки:

Если это не сработает, вы также можете попробовать:

Системы с UEFI

Недостатки UEFI Syslinux

  • UEFI Syslinux syslinux.efi не может быть подписан sbsign (из sbsigntool) для UEFI Secure Boot. Багрепорт: http://bugzilla.syslinux.org/show_bug.cgi?id=8
  • Использование TAB при редактировании параметров ядра в меню UEFI Syslinux ведет к «нечитаемому тексту» (строки текста накладываются друг на друга). Багрепорт: http://bugzilla.syslinux.org/show_bug.cgi?id=9
  • UEFI Syslinux не поддерживает chainloading других приложений EFI, таких как UEFI Shell или Windows Boot Manager . Багрепорт: http://bugzilla.syslinux.org/show_bug.cgi?id=17
  • UEFI Syslinux может не загружаться в некоторых виртуальных машинах вроде QEMU/OVMF или VirtualBox, в продуктах/версиях VMware, а также в некоторых эмуляторах окружения UEFI, таких как DUET. Участник проекта Syslinux не подтвердил наличие этой проблемы при использовании VMware Workstation 10.0.2 и Syslinux-6.02. Отчеты об ошибках: http://bugzilla.syslinux.org/show_bug.cgi?id=21 и http://bugzilla.syslinux.org/show_bug.cgi?id=23
  • Memdisk недоступен для UEFI. Багрепорт: http://bugzilla.syslinux.org/show_bug.cgi?id=30

Установка

  • Установите пакеты syslinux и efibootmgr из официальных репозиториев. Затем настройте syslinux в Системном Разделе EFI (ESP), как показано ниже
  • Скопируйте файлы syslinux в ESP (замените $esp на точку монтирования ESP, обычно это /boot ):
  • Настройте загрузочную запись для Syslinux, используя efibootmgr:
  • Создайте или отредактируйте файл $esp/EFI/syslinux/syslinux.cfg , следуя указаниям из раздела #Настройка

Настройка

Конфигурационный файл Syslinux, syslinux.cfg , должен быть создан в том же каталоге, в котором установлен Syslinux. В нашем случае это /boot/syslinux/ для систем с BIOS и $esp/EFI/syslinux/ для систем с UEFI.

Загрузчик будет искать как syslinux.cfg (предпочтительно), так и extlinux.conf

Примеры

Приглашение командной строки

Это простой конфигурационный файл, который отобразит приглашение командной строки boot: и выполнит автоматическую загрузку через 5 секунд. Если вы хотите, чтобы загрузка начиналась сразу же, без вывода приглашения, установите параметр PROMPT в значение 0 .

Текстовое меню загрузки

Syslinux также позволяет вам использовать меню загрузки. Для этого скопируйте модуль menu в ваш каталог Syslinux:

Для получения дополнительных подробностей смотрите документацию по Syslinux или Syslinux wiki.

Графическое меню загрузки

Syslinux также позволяет вам использовать графическое меню загрузки. Для этого скопируйте COM32 модуль vesamenu в ваш каталог Syslinux:

В этой конфигурации используется такой же дизайн меню, как и на установочном образе Arch. Ее можно найти по адресу gitlab.archlinux.org. Фоновое изображение Arch Linux можно скачать там же. Скопируйте его в /boot/syslinux/splash.png .

С версии Syslinux 3.84, vesamenu.c32 поддерживает указание необходимого разрешения через параметр MENU RESOLUTION $WIDTH $HEIGHT . Для этого вставьте строку MENU RESOLUTION 1440 900 в ваш файл конфигурации (в данном примере используется разрешение 1440×900). Фоновое изображение должно иметь такое же разрешение, в противном случае Syslinux откажется загружать меню.

Параметры ядра

Параметры ядра устанавливаются при помощи строки APPEND файла syslinux.cfg . Рекомендуется внести эти изменения, в том числе, и для режима fallback.

В самых простых случаях должно быть изменено лишь имя раздела в параметре root . Измените /dev/sda2 на то, что необходимо для указания на верный корневой раздел.

Если вы хотите использовать UUID для точного именования устройств, а не их номера, измените значение строки APPEND , как показано ниже, заменив 1234 на UUID вашего корневого раздела:

Если вы используете шифрование LUKS, измените строку APPEND для использования вашего шифрованного тома:

Если вы используете программный RAID с mdadm, измените строку APPEND для указания вашего RAID-массива. В приведенном ниже примере указывается три массива RAID 1, и один из них устанавливается в качестве корневого:

Если загрузка с раздела raid проваливается с использованием kernel device node method, более надежным способом является использование меток разделов:

Автозагрузка

Если вы не хотите, чтобы выводилось меню Syslinux, используйте #Приглашение командной строки, при этом установив параметр PROMPT в значение 0 . Убедитесь, что в вашем syslinux.cfg указана опция DEFAULT .

Безопасность

Syslinux имеет два уровня безопасности загрузчика: мастер-пароль для всего меню и отдельные пароли для пунктов. В файле syslinux.cfg используйте

чтобы установить мастер-пароль загрузчика, и

внутри блока LABEL , чтобы установить пароль на отдельные пункты загрузки.

Передача управления другому загрузчику (chainloading)

Если вам необходимо передать управление другому загрузчику (например, для загрузки Windows), скопируйте модуль chain.c32 в ваш каталог Syslinux (для получения подробностей прочитайте инструкции из предыдущих разделов). Затем создайте секцию в конфигурационном файле:

hd0 3 — это третий раздел на первом устройстве BIOS. Счет устройств ведется с нуля, а счет разделов на устройствах — с единицы.

Если вы не уверены в том, какое устройство в BIOS считается «первым», вы можете использовать идентификатор MBR, или же, если вы используете GPT, метки файловой системы. Чтобы использовать идентификатор MBR, выполните команду

заменив /dev/sdb на то устройство, которое вам необходимо. Использование шестнадцатеричного идентификатора диска (Disk identifier) 0xf00f1fd3 в этом случае в файле syslinux.cfg будет выглядеть так:

Для получения дополнительных подробностей про chainloading смотрите Syslinux wiki.

Если на том же разделе у вас установлен GRUB, вы можете передать ему управление, используя:

Это может быть необходимо для загрузки из образов ISO.

Chainloading для других систем Linux

Передача управления другому загрузчику, такому, как в Windows, является достаточно тривиальной задачей. Но в Syslinux возможна только загрузка файлов, находящихся на том же разделе, что и конфигурационный файл. Таким образом, если у вас установлена другая система Linux на другом разделе без отдельного /boot , появляется необходимость в применении Extlinux. По существу, Extlinux может быть установлен в «суперблок» раздела и обозначен, как отдельный загрузчик. Extlinux является частью проекта Syslinux и включен в пакет syslinux .

Следующие инструкции подразумевают, что Syslinux у вас уже установлен. Также они подразумевают, что используется типичный путь к конфигурации Arch Linux /boot/syslinux и разделом для передачи управления / является раздел /dev/sda3 .

Загрузитесь в имеющийся Linux (вероятно, на разделе, который указан в Syslinux для загрузки), примонтируйте другой корневой раздел в желаемую точку монтирования. В данном примере будет использоваться /mnt . Также, если вы используете отдельный раздел /boot во второй операционной системе, он также должен быть примонтирован. В приведенном примере предполагается, что это /dev/sda2 .

Установите Extlinux и скопируйте необходимые файлы *.c32 :

Создайте файл /mnt/boot/syslinux/syslinux.cfg . Вот пример файла конфигурации:

Использование memtest

Используйте такую секцию LABEL для запуска memtest:

HDT (Hardware Detection Tool) отображает информацию об аппаратном обеспечении. Как и раньше, файл .c32 должен быть скопирован из каталога /boot/syslinux/ . Для информации PCI скопируйте файл /usr/share/hwdata/pci.ids в /boot/syslinux/pci.ids и добавьте следующее в ваш конфигурационный файл:

Читайте также:  Не скачивается обновление mac os big sur

Перезагрузка и выключение

Используйте следующие секции для возможности перезагрузки или выключения вашей машины:

Очистка экрана

Для очистки экрана при выходе из меню добавьте следующую строку:

Раскладка клавиатуры

Если вам часто приходится редактировать параметры загрузки, вы можете захотеть изменить раскладку клавиатуры. Это позволит вам проще вводить «=», «/» и другие символы.

Сначала вы должны создать совместимую раскладку (в данном примере — немецкая):

Скопируйте файл de.ktl от имени суперпользователя в каталог /boot/syslinux/ и назначьте root’a владельцем:

Теперь отредактируйте syslinux.conf , добавив:

Скрытие меню

чтобы скрыть меню и отображать только таймер. Нажмите любую клавишу в это время, и меню появится на экране.

PXELINUX

PXELINUX предоставляется пакетом syslinux .

Скопируйте загрузчик pxelinux.0 (предоставляемый пакетом syslinux) в boot-каталог клиента. При использовании версии 5.00 (и более новых) также скопируйте ldlinux.c32 из того же пакета:

Мы также создали каталог pxelinux.cfg , в котором PXELINUX по умолчанию ищет конфигурационные файлы. Поскольку мы не хотим иметь различий между разными MAC хоста, мы создаем конфигурацию по умолчанию :

Или, если вы используете NBD, пропишите следующую строку:

PXELINUX использует тот же синтаксис конфигурации, что и SYSLINUX; обратитесь к upstream-документации для получения дополнительной информации.

Ядро и initramfs будут переданы через TFTP, так что пути к ним должны быть прописаны относительно корня TFTP.

Для загрузки pxelinux замените filename «/grub/i386-pc/core.0»; в /etc/dhcpd.conf на filename «/pxelinux.0»

Загрузка файлов образа ISO9660 при помощи memdisk

Syslinux поддерживает прямую загрузку из ISO-образов при помощи модуля memdisk. Для просмотра примеров обратитесь к разделу Использование Syslinux и memdisk.

Решение проблем

Использование приглашения Syslinux

Вы можете ввести имя блока LABEL записи, которую вы хотите загрузить (из тех, что указаны в файле syslinux.cfg ). Если вы использовали конфигурации из приведенных примеров, просто напишите:

Если вы получите ошибку о том, что конфигурационный файл не может быть загружен (configuration file could not be loaded), вы можете передать необходимые параметры загрузки, например:

Если у вас нет доступа к boot: в ramfs, и, следовательно, временно не можете загрузить ядро:

1. Создайте временный каталог, чтобы примонтировать ваш корневой раздел (если он еще не существует): 2. Примонтируйте / в /new_root (в случае, если /boot/ находится на том же разделе; иначе вам придется монтировать и то, и другое):

Fsck не работает на корневом разделе

Если журнал корневой файловой системы поврежден, в ramfs emergency shell примонтируйте корневую файловую систему:

И возьмите оттуда двоичный файл tune2fs (он не включен в состав Syslinux):

Следуйте инструкциям в fsck#ext2fs: no external journal для создания нового журнала корневого раздела.

No Default or UI found on some computers

Некоторые производители материнских плат предоставляют меньшую совместимость загрузки с устройств USB, чем другие. В то время, как устройства USB, отформатированные в ext4, могут загружаться на более свежих компьютерах, некоторые машины могут зависнуть, если загрузочный раздел, содержащий ядро и initrd, не является разделом FAT16. Для предотвращения загрузки ldlinux на более старых машинах и провала чтения syslinux.cfg , используйте cfdisk , чтобы создать раздел FAT16 ( dosfstools :

Затем установите и настройте Syslinux.

Missing operating system

Если вы видите это сообщение, удостоверьтесь, что разделу, содержащему /boot , присвоен boot-флаг. Если флаг включен, возможно, раздел начинается с сектора 1, а не с 63 или 2048. Проверьте это с помощью fdisk -l . Если предположение верно, вы можете передвинуть раздел(ы) при помощи gparted с диска восстановления. Или же, если у вас отдельный загрузочный раздел, вы можете создать резервную копию /boot при помощи

а затем загрузиться с установочного образа Arch. Далее используйте cfdisk , чтобы удалить раздел /boot и создать его заново. Теперь он должен начинаться с правильного сектора, 63. Примонтируйте ваши разделы и выполните chroot. Восстановите /boot следующей командой:

Проверьте правильность файла /etc/fstab , выполните:

Вы также получите это сообщение об ошибке, если пытаетесь загрузиться с массива RAID 1 и создали массив с слишком новой версией метаданных, которую Syslinux не понимает. По состоянию на август 2013 года по умолчанию mdadm создаст массив с версией 1.2 метаданных, но Syslinux не понимает версии, новее 1.0. В этом случае вам необходимо пересоздать массив RAID, используя флаг —metadata=1.0 в mdadm.

Windows загружается, игнорируя Syslinux

Решение: Убедитесь, что разделу, содержащему /boot , присвоен boot-флаг. Также убедитесь, что этот флаг не включен на разделе с Windows. Смотрите раздел установки выше.

MBR, идущий в Syslinux, ищет первый активный раздел, имеющий boot-флаг. Раздел с Windows, вероятно, был найден первым и имел этот флаг.

После выбора пункта меню ничего не происходит

Вы выбираете пункт меню, и ничего не происходит, экран только «обновляется». Обычно это означает, что в файле syslinux.cfg имеется ошибка. Нажмите Tab для редактирования параметров загрузки. В качестве альтернативы, вы можете нажать Esc и прописать имя блока LABEL вашей загрузочной записи (например, arch). Другой причиной может быть то, что у вас не установлено ядро. Найдите способ получить доступ к вашей файловой системе (например, используя live CD), удостоверьтесь, что файл /mount/vmlinuz-linux существует и имеет ненулевой размер. Если это не так, переустановите ядро.

Невозможно удалить ldlinux.sys

Файл ldlinux.sys имеет защитный атрибут, предотвращающий его удаление или перезапись. Это сделано потому, что расположение файла не должно меняться, иначе Syslinux должен быть переустановлен. Чтобы удалить его, выполните:

Белый блок в верхнем левом углу при использовании vesamenu

Проблема: По состоянию на linux-3.0, драйвер modesetting пытается сохранять текущее содержимое экрана после смены разрешения (по крайней мере, это происходит с моим Intel, когда Syslinux работает в текстовом режиме). Возникает ошибка с комбинированием модуля vesamenu в Syslinux (белый блок — попытка сохранить меню Syslinux, но драйвер не может «ухватить» картинку из графического режима vesa).

Если у вас прописано свое разрешение и vesamenu с ранним modesetting, попробуйте проделать следующее с вашим syslinux.cfg для удаления белого блока и продолжения вывода графического режима:

Chainloading Windows не работает, когда она установлена на другом диске

Если Windows установлена не на том диске, на котором установлен Arch, и у вас возникает проблема с передачей управления другому загрузчику, попробуйте следующую конфигурацию:

Замените код mbr тем, что есть на диске с windows (детали выше), и добавьте swap в опции.

Чтение логов загрузчика

В некоторых случаях, например, когда загрузчику не удается загрузить ядро, крайне желательно узнать дополнительную информацию о процессе загрузки. Syslinux отображает сообщения об ошибках на экране, но появляющееся меню быстро их скрывает. Чтобы избежать этого, необходимо отключить menu UI в syslinux.cfg и использовать приглашение по умолчанию — «command-line». Это означает:

  • Отменить указание UI
  • Отменить ONTIMEOUT
  • Отменить ONERROR
  • Отменить MENU CLEAR
  • Использовать больший TIMEOUT
  • Использовать PROMPT 1
  • Использовать DEFAULT

Для получения более информативных отладочных сообщений необходимо перекомпилировать пакет syslinux с дополнительными CFLAGS:

Источник

Оцените статью