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

    conty9
  • 100
  • Стаж: 2 года 11 месяцев
  • Сообщений: 915
  • Репутация:69

    [+] [-]
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



Последний раз редактировалось: conty9 (2015-11-25 19:07), всего редактировалось 19 раз(а)

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

    MrEagle
  • 205
  • Стаж: 2 года 9 месяцев
  • Сообщений: 122
  • Репутация:1

    [+] [-]
Отлично, спасибо!!!
Подскажите, пожалуйста, если не секрет, на чем это сделано - если pecmd, то куда и каким образом запрятан файл конфигурации, 7-zip тоже ничего "вкусного" не показывает.
Вшиты ли старые батники сюда и они же и запускаются или это прямо в коде какого-то языка программирования выполняется? Просто тоже хочу свои внешние батники засунуть в один exe-файл c нормальным GUI, только не 7-zip-ом.

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

    conty9
  • 100
  • Стаж: 2 года 11 месяцев
  • Сообщений: 915
  • Репутация:69

    [+] [-]
MrEagle, это сделано вшитым скриптом pecmd. Также интегрирована урезанная версия bootice (с её помощью устанавливаются Bootmgr и GRLDR и активируется при необходимости раздел) и установщик syslinux 4.07. Батники, как таковые отсутствуют (не нужны) - все делается средствами pecmd.
Если нужен скрипт для pecmd - могу дать (в личку).

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

    MrEagle
  • 205
  • Стаж: 2 года 9 месяцев
  • Сообщений: 122
  • Репутация:1

    [+] [-]
А для чего нужен чекбокс рядом с Xorboot? Я так понял, если при установке пользователь выбирает установить bootmgr или grub4dos и ставит эту галочку, то устанавливается в MBR Xorboot, который передаёт управление bootmgr или grub4dos (смотря что выбрал пользователь)

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

    SunOK
  • 9
  • Стаж: 3 года
  • Сообщений: 483
  • Репутация:13

    [+] [-]
  • Откуда: Україна, Перлина Поділля
MrEagle, aa
7479как промежуточный (для "прозрачного" запуска Bootmgr или GRLDR, чекбокс справа).
тоесть "костыль" который подгрузит отмеченный Bootmgr/GRLDR переключателем. Галочка, насколько я понял, независима от "переключателя Xorboot".
conty9, этот момент можно сделать "интуитивно понятнее" ?-)

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

    korsak7
  • 107
  • Стаж: 2 года 11 месяцев
  • Сообщений: 534
  • Репутация:38

    [+] [-]
"интуитивно понятнее"
()Bootmgr
()Grub4dos
()Xorboot->Grub4dos
()Syslinux->Bootmgr
()Syslinux->Grub4dos
так?

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

    conty9
  • 100
  • Стаж: 2 года 11 месяцев
  • Сообщений: 915
  • Репутация:69

    [+] [-]
SunOK, радиокнопка (круглая) позволяет установить нужное основным загрузчиком. Чекбокс (квадратная) позволяет установить Xorboot промежуточным загрузчиком. Поскольку это работает только для Bootmgr/GRLDR, то чекбокс Xorboot доступен только при выборе Bootmgr или GRLDR. Что тут неинтуитивного?
Добавил в шапку "Возможные варианты установки загрузчика".

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

    SunOK
  • 9
  • Стаж: 3 года
  • Сообщений: 483
  • Репутация:13

    [+] [-]
  • Откуда: Україна, Перлина Поділля
Теперь предельно ясно az по крайней мере для меня

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

    Илья
  • 914
  • Стаж: 2 года 5 месяцев
  • Сообщений: 32
  • Репутация:0

    [+] [-]
conty9,
Хочется уточнить. В примере конфига, что прилагается к программе, разделитель находится в 4-й строке, а в шапке написано:
Подсказка (1-4 строки) по настройке и разделитель (5-я строка)
Всё-таки, где правильно?

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

    conty9
  • 100
  • Стаж: 2 года 11 месяцев
  • Сообщений: 915
  • Репутация:69

    [+] [-]
Илья, правильно "Подсказка (1-3 строки) по настройке и разделитель (4-я строка). Содержимое 1-4 строк игнорируется (может быть произвольным)". Подправил шапчонку.

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

    Joker-2013
  • 1039
  • Стаж: 2 года 4 месяца
  • Сообщений: 2288
  • Репутация:91

    [+] [-]
  • Откуда: Админ от сюда
Мини виртуалочки Qemu не хватает.
Всего каких то 800кб плюс и можно будет проверять содеянное.

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

    SunOK
  • 9
  • Стаж: 3 года
  • Сообщений: 483
  • Репутация:13

    [+] [-]
  • Откуда: Україна, Перлина Поділля
Joker-2013, это ж узкоспециализированная утиль, а не комбайн - проверка только вживую, так как железяка может чихнуться, хотя в эмуляторе всё путем.

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

    SV-2k10
  • 437
  • Стаж: 2 года 8 месяцев
  • Сообщений: 278
  • Репутация:16

    [+] [-]
conty9,

Добрый вечер…

В связи с выходом BMplus "Она подняла тему загрузки и потянула за собой все программы связанные с загрузчиками…", решил тут освежить в мозгу все твои программки по загрузке и загрузчикам…
Вот появился один вопрос по двум программкам, вопрос одинаковый по этому спрошу в этой теме, чтобы не спрашивать в двух. Ответ на него я помнил, но прошло время и что то у меня все перепуталось… попытался освежить, перечитал все, но что то не разобрался…
Эти программки Set_LDR и BMplus при установки загрузчиков, привязаны к папке 2к10 ?

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

    conty9
  • 100
  • Стаж: 2 года 11 месяцев
  • Сообщений: 915
  • Репутация:69

    [+] [-]
SV-2k10, по обоим вопросам - НЕТ (хотя при чем тут BMplus?). Существует версия SetLDR-2k10.exe, которая рассчитана исключительно на работу с 2k10 (как и видно из названия) и работает БЕЗ конфига. А Set_LDR из этой темы работает с конфиг-файлом, в котором можно (НУЖНО!) указать имеющиеся в конкретной сборке варианты загрузчиков.
Все, что выкладывается тут в "Полезности от conty9", не "привязано" к 2k10. Хотя и зачастую ноги растут из полезностей для этой сборки.

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

    SV-2k10
  • 437
  • Стаж: 2 года 8 месяцев
  • Сообщений: 278
  • Репутация:16

    [+] [-]
13089(хотя при чем тут BMplus?)
Абсолютно не причем, я по этому и спрятал под сполер и кавычки фразу “Она подняла тему загрузки и потянула за собой … ” – имея в виду, что в последние дни, на сайте активно развивается тема вокруг BMplus, ну а она "BMplus" в свою очередь заставила меня освежить в моей голове все твои программки по загрузкам – это было как бы лирическое отступление … ab
Хорошо, я все понял… ab
13089Все, что выкладывается тут в "Полезности от conty9", не "привязано" к 2k10.
Вот на пр этого не знал – буду знать…

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


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

Текущее время: 20-Ноя 07:06

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


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