[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
Set_LDR - утилита для подключения или смены загрузчика в WinPE-сборках Утилита может подключать загрузчики Bootmgr, Grldr, Syslinux 4.07 (нужно, как минимум, меню syslinux.cfg), Xorboot. Также возможно подключение загрузчика NTLDR (его нужно указать вместо Bootmgr или Grldr). Сама утилита первоначально была сделана для сборок 2k10, но по просьбе знакомого расширил сферу её применения. Теперь утилитка считывает настройки из конфиг-файла и может применяться с различными сборками. Имя утилиты может быть произвольное, при этом имя конфиг-файла должно совпадать с именем утилиты (расширение .cfg). При отсутствии конфиг-файла утилита будет работать с настройками для 2k10.
Запуск утилиты должен производиться из носителя со сборкой (каталог не играет роли - важна только буква диска, именно для него будет подключен загрузчик).
При необходимости, диск будет сделан активным. Активация и подключение загрузчика происходит только при нажатии на кнопку "Setup". Эта кнопка заблокирована, если загрузчик не выбран или отсутствует.Настройки утилиты (Set_LDR.cfg или ИмяУтилиты.cfg).1. Подсказка (1-3 строки) по настройке и разделитель (4-я строка). Содержимое 1-4 строк игнорируется (может быть произвольным).
2. Относительные (относительно корня диска!) пути к загрузчикам в сборке (для Syslinux - путь к меню syslinux.cfg). Если путь неверен/отсутствует, выбор этого загрузчика будет недоступен.
3. Имена для загрузчиков Bootmgr и GrubLDR после подключения. Т.е., при подключении загрузчика соответствующий загрузчик из настроек п.2 будет (при необходимости) скопирован в корень диска под новым именем из п.3. При этом:
а) если в корне имеется загрузчик с таким именем, но отличный от загрузчика из п.2, то он будет перезаписан
б) неактивные загрузчики (к примеру, при установке bootmgr - это будут grldr в корне и ldlinux.sys в любой папке) будут удалены.
в) имена для загрузчиков Bootmgr и Grub (переменные Name.Bootmgr и Name.GRLDR) могут совпадать! Например, Name.Bootmgr=2k10ldr и Name.GRLDR=2k10ldr.
г) устанавливаемому загрузчику в корне будут присвоены атрибуты "скрытый/системный"
4. Имя сборки (только для индикации в шапке утилиты)
Порядок назначения переменных в файле конфигурации неважен, лишь бы они начинались с 5-й строки. Если параметры не назначены, в п.3 будут использоваться значения Bootmgr и GRLDR, а в п.4 - WinPE. При запуске утилита проверяет наличие файлов загрузчиков, отсутствующие (например, не указан или неверно указан путь) будут заблокированы в меню выбора. Если ни один загрузчик не найден (или не выбран), кнопка установки блокируется.
Для примера в комплекте с утилитой имеется конфиг для сборки Стрельца (весьма условный).
Как и в UTmake, загрузчик Xorboot может устанавливаться в двух вариантах: как самостоятельный загрузчик (файл нужно указать в переменной Path.Xorboot.bin, радиокнопка слева) или как промежуточный (для "прозрачного" запуска Bootmgr или GRLDR, чекбокс справа). В качестве "самостоятельного" загрузчика Xorboot также могут использоваться другие MBR-загрузчики (размером не более 63 сектора), например, Grub4Dos, PLOP, Grub2, Wee.
Загрузчик Syslinux устанавливается родным инсталятором весии 4.07 (вшит в утилиту), и автоматически запускает меню syslinux.cfg (из переменной Path.Syslinux.cfg). Вариант меню syslinux.cfg для создания простейшего "костыля" загрузки GRLDR есть в шапке UTmake, спойлер "Подключение загрузчика". Если же используется полноценное меню Syslinux, не забываем о файлах "обвески" (chain.c32, menu.c32 и т.п., с правильными путями в syslinux.cfg).

Возможные варианты установки загрузчика:

1. Bootmgr (MBR -> USB-USB-HDD+ для флешек или Windows NT6 для HDD/USB-HDD, PBR > Bootmgr). Неактивно, если в конфиге не указана переменная Path.Bootmgr (либо указана, но загрузчик по этому пути отсутствует /как на скриншоте/). При подключении загрузчика (если загрузчик находится не в корне носителя) он будет скопирован в корень (при условии, что там нет идентичного).
2. Grub4dos (MBR -> USB-USB-HDD+ для флешек или Windows NT6 для HDD/USB-HDD, PBR > GRLDR). Неактивно, если в конфиге не указана переменная Path.grldr (либо указана, но загрузчик по этому пути отсутствует /на скриншоте активно, но не выбрано/). При подключении загрузчика (если загрузчик находится не в корне носителя) он будет скопирован в корень (при условии, что там нет идентичного).
3. Xorboot (MBR -> Xorboot, PBR не устанавливается /игнорируется при загрузке/). Неактивно, если в конфиге не указана переменная Path.Xorboot (либо указана, но загрузчик по этому пути отсутствует /на скриншоте неактивно/).
4. Syslinux (MBR -> Syslinux, PBR > Syslinux). Неактивно, если в конфиге не указана переменная Path.Syslinux (либо указана, но по этому пути отсутствует конфиг syslinux.cfg /на скриншоте активно, но не выбрано/). Может использоваться как "костыль" загрузки GRLDR (Bootmgr тоже можно загружать, но тогда понадобятся дополнительные файлы - команда запуска другая), либо как полноценный запуск Syslinux со своим меню. Определяется исключительно содержимым syslinux.cfg.

Простейшее меню syslinux.cfg, позволяющее прозрачно загрузить GRLDR из папки 2K10/GRUB4DOS, рекомендуется включать в сборки с загрузчиком GRLDR

PROMPT 0
TIMEOUT 1
DEFAULT BOOT
LABEL BOOT
BOOT /2K10/GRUB4DOS/GRLDR
5. Xorboot->Bootmgr (MBR -> Xorboot, PBR не устанавливается /игнорируется при загрузке/) - радиокнопка Bootmgr и чекбокс Xorboot /доступно при выборе загрузчиков Bootmgr или GRLDR/. "Прозрачная" загрузка Bootmgr с помощью Xorboot (костыль). Улучшает запуск на старом железе, и вдобавок не требует Bootmgr в корне (Bootmgr запускается из папки, определяется переменной Path.Bootmgr).
6. Xorboot->GRLDR (MBR -> Xorboot, PBR не устанавливается /игнорируется при загрузке/) - радиокнопка GRLDR и чекбокс Xorboot /доступно при выборе загрузчиков Bootmgr или GRLDR/. "Прозрачная" загрузка GRLDR с помощью Xorboot (костыль). Улучшает запуск на старом железе, и вдобавок не требует GRLDR в корне (GRLDR запускается из папки, определяется переменной Path.GRLDR).
Примечание: при запуске установки загрузчика удаляются неактивные загрузчики из корня диска (т.е., Bootmgr и/или GRLDR), совпадающие побайтно с указанными в %Path.Bootmgr% и %Path.grldr% (если в %Path.Bootmgr% и %Path.grldr% указаны загрузчики в корне, тогда не удаляются). Также удаляется из всех папок/корня файл ldlinux.sys при установке загрузчика, отличного от Syslinux, а установленному в корне загрузчику Bootmgr/GRLDR присваивается атрибут "скрытый/системный".

Рекомендации по использованию загрузчиков в сборках:

Выбор такого комплекта загрузчиков продиктован необходимостью: без Bootmgr не получится загрузить WinPE на базе Vista/7/8 - так что без него теперь никуда... А Grldr позволяет загружать DOS/Linux и ещё кучу всего как россыпью, так и целиком - в общем, тоже вещь нужная. На Syslinux тоже можно многое подключить... и, хотя его возможности поскромнее, чем у Grub4Dos - но зато загружаемость одна из лучших. Ну, и Xorboot - очень хорош для простых "костылей": загрузки Bootmgr или Grldr, небольших образов дисков, а также примечателен хорошей загружаемостью и тем, что полностью помещается в MBR.
Все рекомендации для использования Set_LDR (имхо, впрочем, и не только для этой утилиты) сводятся к таким:
1. Желательно все загрузчики держать в любой папке (а не в корне диска). Первичный загрузчик сборки может быть в этой папке продублирован (хотя замечу, что, в принципе, первичный загрузчик в образе может загружаться из корневой 4-х буквенной папки - это делается путем НЕХ-правки ISO-загрузчика от MS для bootmgr). Такой подход уменьшит количество "мусора" в корне и обезопасит от случайного удаления неактивного загрузчика. Set_LDR сама, при необходимости, скопирует нужный загрузчик (Bootmgr или Grldr) в корень диска.
2. Стоит предусмотреть переходы между загрузчиками (например, между теми же Bootmgr или Grldr). Тут как раз пригодится наличие загрузчиков в "своей" папке. Сами переходы (Bootmgr <> Grldr) сделать очень просто - эти загрузчики без проблем загружают друг друга.
3. Даже, если в сборке не используется syslinux, можно добавить меню для прозрачной загрузки Grldr. Проверено неоднократно: syslinux позволяет загружать Grldr на проблемном железе - там, где Grldr в качестве первичного не загружается.
4. Использование отдельного меню Xorboot - дело вкуса и желания. Но Set_LDR позволяет использовать "костыль" для прозрачной загрузки Bootmgr или Grldr. Причем, при использовании костыля загружаемость Bootmgr/Grldr улучшится, а сами загрузчики могут быть в любой папке (т.е., отсутствовать в корне).
5. Ну и напоследок: возможность в любой момент легко сменить загрузчик (ессс-но, при наличии под рукой рабочей ОС/РЕ) позволит пользователю выбрать самый подходящий вариант.
Вложение

Скачать Set_LDR v1.2



Последний раз редактировалось: Гость (2018-01-28 14:15), всего редактировалось 21 раз(а)

[Цитировать]

    SV-2k10
  • 437
  • Стаж: 9 лет
  • Сообщений: 266
  • Репутация:21

    [+] [-]
conty9, Доброго дня …
В общем, почитал я все внимательно – все понял.
Проверочный вопрос, чтобы убедится, что правильно…
Скажем - мне нужно сделать загрузочную флешку под обычный Windosw…
•Я копирую BOOTMGR из корня болванки в корень флешки.
•В конфиге прописываю следующее …
Path.Bootmgr=bootmgr
Name.WinPE=Bootmgr
Так ? Спасибо.

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
SV-2k10, привет. Да, все верно. "Name.WinPE" можно указывать любое - это всего лишь имя в шапке утилиты.

[Цитировать]

    SV-2k10
  • 437
  • Стаж: 9 лет
  • Сообщений: 266
  • Репутация:21

    [+] [-]
conty9, Спасибо – все отлично …

[Цитировать]

    apostol
  • 2692
  • Стаж: 8 лет 1 месяц
  • Сообщений: 229
  • Репутация:1

    [+] [-]
conty9
Здравствуйте! И всё же какой вариант загрузки USB-HDD будет наиболее "загружаемым":
Xorboot->Grub4dos или Syslinux->Grub4dos ? Просто люди на форумах пишут по разному, вот я и хочу узнать лично Ваше мнение.

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
apostol, лично мое мнение: на разных ПК - по разному. Но, безусловно, оба варианта - самые удачные на старом железе.

[Цитировать]

    apostol
  • 2692
  • Стаж: 8 лет 1 месяц
  • Сообщений: 229
  • Репутация:1

    [+] [-]
conty9
Вот уж эта вечная проблема выбора think

[Цитировать]

    hexep
  • 14647
  • Стаж: 7 лет 5 месяцев
  • Сообщений: 1
  • Репутация:0

    [+] [-]
Нашел баг. После смены загрузчика на SysLinux флешка перестает быть активной. Загрузка с флешки перестает работать. Хотя сама Set_LDR показывает что флешка активна.

[Цитировать]

    Eagle123
  • 205
  • Стаж: 9 лет 2 месяца
  • Сообщений: 125
  • Репутация:7

    [+] [-]
conty9, спасибо Вам за эту отличную утилиту. Столько времени прошло, а она все еще в строю в моей сборке и люди ей пользуются, благодаря Вам.
Подскажите, пожалуйста, а чем зашифрована/сжата утилита? Просто не получается извлечь из нее исходный код и файл "101". Хоть у меня и есть этот исходный код (он мне не нужен), просто интересно, как это "зашифровано", т.к. upx распаковать не может и Restorator извлечь исходник тоже...

Комментарий от Гость


Ответ в ЛС. Спасибо за высокую оценку утилитки.

[Цитировать]

    conthuongbome
  • 670
  • Стаж: 8 лет 11 месяцев
  • Сообщений: 70
  • Репутация:9

    [+] [-]
conty9, You can add syslinux 6.04 and grub2?.Thanks conty9

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
conthuongbome, syslinux 6.x не всегда работает на старом железе. А для grub2 вообще нужно вначале делать отдельную утилиту по сборке загрузчика. Поскольку в нем есть проблема с регистром букв, нужно создавать своё меню и интегрировать дополнительные пакеты. Пока не удалось решить проблему с загрузкой такого бутерброда, при размере более 50кб модуль перестаёт грузиться... А меньше не получается.

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
conty9, 50кб чего? core.img + конкретные модули? То есть собрать Core_2k10.img сразу с модулями? перечитывая пост. А почему бы не сделать рассыпухой и подключать модули отдельно для каждого случая, если они нужны, то есть не делать поддержку всего и вся.

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
AZJIO, для "рассыпухи" Set_LDR не нужен. Поскольку эта россыпь должна где-то храниться и как-то конфигурироваться под свои задачи. Тогда нужен, по-сути, GUI Grub2.
Под Set_LDR подходит именно универсальный монофайл, который включает поддержку ходовых файловых систем и разнобойного регистра букв.
К слову, "россыпь" не сможет загружаться, например, на NTFS или ExFAT, если эти дрова не включить в сам загрузчик.

Страница 2 из 2


Показать сообщения:    

Текущее время: 28-Мар 16:18

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы