Installing syslinux from windows

Содержание
  1. Установка Syslinux
  2. Установка в среде NT/2K/XP
  3. Установка в среде DOS
  4. Установка в Linux
  5. Пример
  6. Подготовка к Установке
  7. Установка
  8. Загрузка DOS Систем
  9. Добавляем Linux
  10. Windows Системы.
  11. Syslinux
  12. Материал из Пингвиньи радостей
  13. Содержание
  14. Получение загрузчика
  15. получение загрузчика через хранилища linux
  16. получение загрузчика сайта www.pkgs.org
  17. получение загрузчика с сайта www.kernel.org
  18. Размещение SysLinux в качестве загрузчика
  19. установка SysLinux из WINDOWS
  20. установка SysLinux из DOS
  21. установка SysLinux из LINUX
  22. параметры установщика SysLinux
  23. Syslinux (Русский)
  24. Contents
  25. Системы с BIOS
  26. Обзор процесса загрузки
  27. Установка
  28. Автоматическая установка
  29. Ручная установка
  30. Системы с UEFI
  31. Недостатки UEFI Syslinux
  32. Установка
  33. Настройка
  34. Примеры
  35. Приглашение командной строки
  36. Текстовое меню загрузки
  37. Графическое меню загрузки
  38. Параметры ядра
  39. Автозагрузка
  40. Безопасность
  41. Передача управления другому загрузчику (chainloading)
  42. Chainloading для других систем Linux
  43. Использование memtest
  44. Перезагрузка и выключение
  45. Очистка экрана
  46. Раскладка клавиатуры
  47. Скрытие меню
  48. PXELINUX
  49. Загрузка файлов образа ISO9660 при помощи memdisk
  50. Решение проблем
  51. Использование приглашения Syslinux
  52. Fsck не работает на корневом разделе
  53. No Default or UI found on some computers
  54. Missing operating system
  55. Windows загружается, игнорируя Syslinux
  56. После выбора пункта меню ничего не происходит
  57. Невозможно удалить ldlinux.sys
  58. Белый блок в верхнем левом углу при использовании vesamenu
  59. Chainloading Windows не работает, когда она установлена на другом диске
  60. Чтение логов загрузчика

Установка Syslinux

Опишем установку в разных ОС

Установка в среде NT/2K/XP

Используйте «syslinux.exe» (в папке win32) для WinNT/2000/XP. В инсталляторах для DOS и Windows можно использовать опции -m и -a для жёстких дисков, чтобы записать Master Boot Record (MBR) или сделать раздел «активным».

  • syslinux.exe [-sfmar] [-d папка] : [файл с загрузочным сектором]

Установка на Floppy

Установка на: Жёсткий диск или Флешку. Z — это буква диска.

  • syslinux.exe -m -a -d /boot/syslinux z:

*В приведенном выше примере syslinux.cfg должен быть в z:\boot\syslinux

Примечание: В среде NT/2K вы можете получить сообщение о не выпоненной установке и будет предложен выбор Abort/Retry/Ignore. Выбор Ignore корректно завершает программу.

Установка в среде DOS

Используйте «syslinux.com» (в папке dos) для «чистого» DOS (MS-DOS, DR-DOS, PC-DOS, FreeDOS. ) или Win9x/ME.

  • syslinux.com [-sfmar] [-d папка] : [файл с загрузочным сектором]

Установка в Linux

Чтобы создать загружаемую дискету Linux с использованием Syslinux, подготовьте обычную форматированную MS-DOS дискету. Скопируйте один или несколько файлов ядра Linux и выполните команду:

  • syslinux [-sfrma] [-d папка] a: [файл с загрузочным сектором]

(вместо a: поставьте букву своей дискеты; [] одначает необязательный параметр.)

  • syslinux [-sfr] [-d папка] [-o offset] /dev/fd0

(опять же, замените /dev/fd0 на файл Вашей дискеты)

Пример

Давайте рассмотрим здесь пример создания Мультизагрузочной флешки на основе Syslinux.
Начнём сначала и сделаем всё по порядку.

Подготовка к Установке

1. Для начала скачаем весь комплект Syslinux

2. Пока скачивается, форматируем флешку программой HPUSBFW в файловую систему FAT 32
(или FAT 16 если флешка 2 Gb)

Установка

3. Допустим вы работаете в Среде Windows. Если так, то рассмотрим установку Syslinux в этой ОС.

Опишем всё пошагово:

3.1 Распакуйте скачанный архив и найдите папку win32 , скопируйте её в корень диска C:\

3.2 Запустите Консоль. Пуск => Выполнить => Пишите в поле cmd нажимаете Enter. Появится Консоль Windows. (чёрное окно)

3.3 Пишите в Консоли: cd c:\win32 затем Enter. Далее пишите команду установки: syslinux.exe -ma x:
Где х — буква вашей флешки (посмотрите в «Мой Компьютер») Этой командой вы установили Syslinux на флешку,
но этого для полноценной работы ещё не достаточно.

3.4 Создаём папки и файлы как это показано ниже:

boot\syslinux — Помещаем туда файл syslinux.cfg

boot\syslinux\fonts — помещаем туда файл шрифта 866_8x16.psf

boot\syslinux\modules — Найдите в комплекте Syslinux файл vesamenu.c32 и положите его сюда.

В папку boot\syslinux\images помещаем картинку которая станет фоном при загрузке с флешки.
Формат её должен быть *.png 640×480 например makabe.png

Можно считать, что установка загрузчика завершена, теперь нужно наполнить флешку содержимым
и отобразить его запуск в конфигурационном файле syslinux.cfg

Не будем здесь углубляться во все тонкости настроек файла syslinux.cfg , изучите тот, что здесь прикреплён
и многое вам станет понятно, например вы поймёте как устанавливается таймер, картинка, файл шрифта и.т.д
некоторые места в этом файле снабжены коментариями.

Уделим внимание загрузке 3х различных сред, — DOS, Linux, Windows.

4. В следующих действиях нам нужно будет редактировать файл syslinux.cfg , чтобы делать это в Windows
используйте редактор Notepad++. Для корректного отображения Русских букв используйте кодировку:
Кириллица OEM 866.

Загрузка DOS Систем

5. ДОС Системы обычно *.IMA или *.VFD файлы, это образы загрузочных дискет.
Стоит заметить, что в таком образе может быть не только ДОС (Дисковая Операционная Система),
но и другие менее популярные ОС (Например Колибри)

При загрузке таких вещей нам не обойтись без файла memdisk , найдите его в комплекте и поместите в папку /boot

Поместите на флешку нужный образ — /boot/dos/dos.ima

Пункт запуска в конфигурационном файле будет выглядеть вот так:

Добавляем Linux

6. Linux системы. Большинство таких систем запускаются через 2 основных файла — vmlinuz и initrd .

vmlinuz — ядро системы.

initrd — диск в оперативной памяти для начальной инициализации.

К примеру добавим на флешку PuppyRus.

Файл pup_ХХХХ.sfs вомещаем в корень флешки, а все остальные файлы складываем в /boot/puppy .

Добавляем в syslinux.cfg пункт загрузки:

Windows Системы.

7. Здесь дело обстоит немного сложнее и может возникнуть больше отказов, чем в предыдущих вариантах.

Поместите на флешку дистрибутив какого нибудь BartPE или XPE.
Эти дистрибутивы загружаются через файл setupldr.bin или peldr с использованием модуля chain.c32
и указанием диска hd0 1.

Файл chain.c32 берём из комплекта и помещаем в /boot/syslinux/modules

В syslinux.cfg пишем:

Мультизагрузочная флешка на основе Syslinux готова.

Спасибо за внимание и Успехов вам в дальнейших экспериментах 🙂

Syslinux

Материал из Пингвиньи радостей

Содержание

Статья о загрузчике операционных сред Syslinux

Syslinux поддерживает загрузку

  • с файловых систем Linux ext2/3/4 или btrfs — в этом случае говорят об extlinux
  • с файловой системы MS-DOS FAT — это собственно загрузчик syslinux
  • с CD/DVD дисков — в этом случае загрузчик называется isolinux
  • по сети, используя PXE-загрузку с TFTP и/или HTTP серверов, — с помощью версии pxelinux.

Syslinux предоставляет множество модулей расширяющих его функциональность, например из известных memdisk. hdt.c32 и несколько подсистем организации меню: в текстовом варианте — menu.c32 и в графическом — vesamenu.c32 и gfxboot.c32.

Читайте также:  Настройка курсора mac os

Получение загрузчика

Syslinux распрораняется в открытых кодах и в виде скомпилированных бинарных пакетов. В Debian дистрибутивах бинарные пакеты имеют названия syslinux, syslinux-common и syslinux-utils. Эти пакеты могут быть получены как через хранилища пакетов, так и загружены напрямую с сайта pkgs.org.

получение загрузчика через хранилища linux

Описание получения загрузчика через хранилища linux приведено на примере Debian Squeeze.

Пакет присутствует в хранилище пакетов debian squeeze.
Для установки пакета

  • в командной строке: следует выполнить команду # apt-get install syslinux syslinux-common syslinux-utils
  • в графическом режиме: воспользоваться специализированной программой управления пакетами

После установки пакет доступен для использования.

получение загрузчика сайта www.pkgs.org

Получение загрузчика сайта www.pkgs.org может потребоваться, если нужна последняя версия Syslinux.

Для получения загрузчика Syslinux с сайта www.pkgs.org

  • загружаются пакеты с хранилища www.pkgs.org
  • распаковывается (устаналивается) загрузчик Syslinux

получение загрузчика с сайта www.kernel.org

Получение загрузчика сайта www.kernel.org может позволить избежать установки пакета в систему, например если загрузчик предполагается использовать лишь как PXELINUX.

Для получения загрузчика Syslinux с сайта www.kernel.org

  • загружаются пакеты с сайта www.kernel.org
  • распаковается архив
  • (например) извлекаются файлы необходимые для организации PXE-загрузки

Размещение SysLinux в качестве загрузчика

Процедура размещения Syslinux в качестве главного загрузчика зависит от операционной среды, из которой она осуществляется.

установка SysLinux из WINDOWS

Для установки загрузчика Syslinux из Windows используется файл «[bios/]win32/syslinux.exe» для 32-х битных систем и «[bios/]win64/syslinux64.exe» для 64-х битных систем. Установщик Syslinux для Windows поддерживает файловые системы FAT и NTFS.

установка SysLinux из DOS

Установка загрузчика Syslinux из DOS осуществляется с помощью файла «[bios/]dos/syslinux.com». Установщик Syslinux для DOS поддерживает файловую систему FAT.

установка SysLinux из LINUX

Установка загрузчика Syslinux из Linux может быть осуществлена с помощью нескольких файлов

  • «[bios/]linux/syslinux» для установки с привилегиями суперпользователя на файловую систему FAT без монтирования раздела
  • «[bios/]mtools/syslinux» для установки с разрешением непривилегированной записи на файловую систему FAT без монтирования раздела
  • «[bios/]extlinux/extlinux» для установки на предварительно смонтированный раздел на все поддерживаемые ФС: FAT12/16/32, NTFS, ext2/3/4, Btrfs, XFS, UFS/FFS

Синтаксис команды syslinux

Синтаксис команды extlinux

параметры установщика SysLinux

Параметры ([options]) установщика загрузчика Syslinux различаются для различных вариантов установки.

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 может быть скопирован:

В этом случае один байт со значением 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
Читайте также:  Windows 10 подтверждение личности не работает клавиатура

Установка

  • Установите пакеты 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. Ее можно найти по адресу projects.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 и добавьте следующее в ваш конфигурационный файл:

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

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

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

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

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

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

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

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

Читайте также:  Freedos как установить linux

Теперь отредактируйте 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):

Следуйте инструкциям в 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:

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