Ander_73
- Стаж: 7 лет 11 месяцев
- Сообщений: 3950
- Репутация:127[+] [-]
|
-*** Лабораторная работа: мультисистемная флешка ***-
Назначение проекта: - Подготовка флеш-накопителя для загрузки различных загрузчиков (BIOS/UEFI x64);
- Наполнение подготовленного флеш-накопителя дистрибутивами (Windows/Linux), сборками (загрузочными дисками), полезными утилитами.
Представляет собой: Набор командных бат-файлов и вспомогательных утилит. Краткое описание принципа работы:- С помощью diskpart размечает флешку;
- Форматирует в FAT32 без ограничений на размер раздела;
- Основным загрузчиком в MBR ставит Xorboot 0.65;
Важно!
В стартовом меню Xorboot на некоторых BIOS могут не работать клавиши "вверх-вниз". В этом случае выбор пунктов меню нужно производить через "горячие клавиши": 1-7 и P, R, S. - Помещает в корневую папку подготовленного флеш-накопителя командный бат-файл zrun.cmd, с помощью которого осуществляется дальнейшее управление проектом.
Список загрузчиков:- Syslinux 6.03
- Syslinux 4.07
- Bootmgr 10
- Bootmgr 7
- Grub4Dos 0.4.6
- Grub4Dos 0.4.5
- GRUB2 2.02
Поддержка EFI SecureBoot:SecureBoot- Начальным загрузчиком стоит связка preloader+grub2 с ЦП KasperskyLab;
- Может быть заменён на связку shim+grub2 с ЦП Canonical или оригинальный от Microsoft Corp., или «Диспетчер UEFI-загрузчиков»;
- Также реализована возможность загрузки в режиме SecureBoot самоподписанного grub2 по методу ValdikSS (требует ручной установки ЦП; см. «Управление загрузчиками»)
ДополнительноПапка с дополнительными утилитами \boot\boot\utils: - компилятор загрузчика grub2 (можно собрать ядро со своими модулями и своим конфигом)
- комплект xorboot (сам установщик и мой модуль - можно перекроить и на флешку вбить)
- комплект wimboot с примерами для загрузчиков g4d, grub2, syslinux.
Управление
Файл zrun.cmd в корне созданной флешки - это Панель управления *** Multi-loader flash ***. При запуске предлагает меню из четырёх пунктов: - Управление дополнениями
- Управление загрузчиками
- Управление конфигурациями ("ручная" правка меню загрузчиков и их бэкап/восстановление (не рекомендуется!)
- Управление доп.возможностями (работа с x-lets и бэкап)
* В дальнейшем, количество пунктов может расти. Управление дополнениями Дополнение - это файл(-ы), расширяющий(-е) возможности и функционал проекта. Это могут быть загрузочные образы, сборки, набор программ и т.п.
Дополнение можно: - установить
- удалить
- проверить целостность
- переустановить (= удалить + установить)
Установка дополнения
Требует наличия сети Интернет, откуда происходит скачивание дополнения. * Внимание! Все операции по сохранению, распаковке, обработке происходят по пути %TEMP%. Убедитесь, что там достаточно места.
Процесс: загружаются нужные файлы, вычисляется CRC32 для каждого, файлы переписываются на флешку. Если необходимо, добавляются пункты меню в меню соответствующих загрузчиков. Удаление дополнения
Процесс: удаляются файлы дополнения с флешки. Если необходимо, удаляются пункты меню из меню соответствующих загрузчиков. Проверка целостности
Позволяет отследить порчу/удаление файлов дополнения из-за деградации флешки, действий вирусов/антивирусов, перекрытия файлов дополнения другими файлами.
Процесс: согласно созданному при добавлении дополнения списку CRC32, проверяются файлы дополнения. Переустановка дополнения
Удаляет и заново устанавливает дополнение. Обычно используется для обновления дополнения. * Сама система также является дополнением (System Core) и может быть обновлена переустановкой. Управление загрузчиками Загрузчик BIOS
Основным загрузчиком является Xorboot 0.65. Он записан в начальные сектора флешки и позволяет загружать все остальные загрузчики проекта. Существует возможность сменить Xorboot на: - GRUB2 - полностью записывается в MBR. Загружает среду GRUB2.
- Syslinux 6.03/4.07 - оригинальные загрузчики MBR и PBR. Загружает среду Syslinux.
- Wee63/127 - полностью записывается в MBR. Позволяет загружать некоторые загрузчики и несжатые образы FDD.
Существует возможность сразу (без меню выбора загрузчика) загружаться в среду Grub4Dos или BOOTMGR. Для этого нужно выбрать загрузчик из секции "MBR + BOOTLDR": - Grub4Dos - загрузчик MBR (PBR не используется).
- USB-HDD+ - стандартный загрузчик MBR с улучшенной поддержкой загрузки с флешки.
- USB-ZIP+ - загрузчик MBR, позволяющий эмулировать USB-ZIP устройство.
После чего появится возможность выбора среды: - Grub4Dos 0.4.6
- Grub4Dos 0.4.5
- BOOTMGR v.10
- BOOTMGR v.7
Примечание:- менять загрузчик рекомендуется только в случае проблем с загружаемостью стандартного загрузчика проекта Xorboot 0.65
- загрузчик USB-ZIP+ необратимо "смещает" рабочий раздел флешки hd0,0 -> hd0,3
- загрузчик MBR Grub4Dos обладает высокой загружаемостью и рекомендуется в "сложных" случаях.
- загрузчик PBR (для MBR = USB-HDD+/USB-ZIP+) соответствует выбираемой среде G4D/BMGR
Загрузчик UEFI
Существует возможность выбора начального загрузчика для UEFI режима. Это: - связка preloader + grub2 с ЦП от Kaspersky (по умолчанию)
- связка shim + grub2 с ЦП от Canonical
- комплект от ValdikSS для обхода SecureBoot (preloader выставляет политику "разрешить всё")
- Windows Boot Manager
- «Диспетчер UEFI-загрузчиков» (при запуске позволяет выбрать загрузчик из перечисленных выше)
Как использовать метод «обход SecureBoot»
Можно менять версию используемого Windows Boot Manager: 10 (по умолчанию) или 7 Выбранная версия WBM будет грузиться: - как самостоятельный загрузчик bootx64.efi (при выборе WBM в качестве начального)
- из меню GRUB2 (для загрузки WIM-ядер)
Работа с образами
Загрузчик Grub4Dos позволяет выполнять динамическую загрузку образов дисков. Папка \images в корне флешки используется для такого рода загрузки. Порядок действий:- скопировать образ в соответствующую подпапку (см. ниже)
- в основном меню Grub4Dos нажать клавишу "L"
Поддерживается работа с:- образы FDD/HDD
- образы CD/DVD
- загрузочные образы WIM
- конфиги Grub4Dos
- конфиги BCD
Назначение подпапок:- BCD: конфиги BCD
- CONFIG: конфиги Grub4Dos
- EFI: efilets (см. ниже)
- FLOPPY: образы дисков без MBR (FDD)
- HDD: образы дисков с MBR (HDD)
- ISO: образы CD/DVD
- LINUX: образы CD/DVD маппируются в раздел (hd0,2). Образ должен быть дефрагментирован.
- WIM: загрузочные образы WIM
Загрузка образов
При загрузке образов FDD/HDD/ISO предлагаются варианты: - подождать 10 сек или нажать Esc: прямая загрузка образа с флешки
- нажать Enter: предварительная загрузка образа в память
При загрузке образов WIM предлагаются варианты: - подождать 10 сек или нажать Esc: загрузка с помощью BOOTMGR ver.10
- нажать Enter: загрузка с помощью BOOTMGR ver.7 (позволяет обходить проблемы с цифровыми подписями)
Работа с efilets
Папка \images\EFI может содержать: - файлы с расширением .EFI (будут добавлены как пользовательские утилиты)
- текстовые файлы (будут добавлены как пользовательские меню GRUB2)
- подпапки
Каждая подпапка должна содержать или: - файл BCD (в подпапку будет автоматически скопирован системный bootx64.efi)
или - файл bootx64.efi со вспомогательными файлами и подпапками
Для создания/обновления efilets в «Панели управления» (zrun.cmd) выбрать «Управление доп.возможностями» → «Обновление efilets»
* Примечания: - авторский BCD обычно расположен в папке \EFI\MICROSOFT\BOOT\
- в подпапку с файлом BCD можно скопировать авторский bootx64.efi вместе с файлом(-ами) оформления .MUI в соответствующих подпапках
- в подпапку можно скопировать содержимое авторской папки \EFI\BOOT\ (таким образом можно добавить, например, загрузку авторского rEFInd)
Специальные пункты меню
Пункт меню: Load images by MEMDISK... >
На некоторых BIOS загрузка образов средствами Grub4Dos не работает. В этом случае можно использовать загрузку образов через утилиту MEMDISK
Пункт меню: LINUX: clean (hd0,2)
Очистить раздел (hd0,2) после маппирования в него ISO-образа.
Пункт меню: Load images by swap FLOPPY/HDD, ISO/LINUX... >
Попробовать загрузить образ(-ы) из папки FLOPPY (образ без MBR) как HDD (образ с MBR) и наоборот. Попробовать загрузить образ(-ы) из папки ISO (может быть фрагментирован) как LINUX раздел диска (должен быть непрерывным) и наоборот.
Полезно, если изначально способ работы с образом был выбран неверно.
* Примечания: - Имя и расширение файла образа может быть любым (без пробелов и русских букв). Зарезервировано только readme.txt
- Образы FDD/HDD/ISO могут быть сжаты в GZ
- Ограничения Grub4Dos 0.4.5:
- при прямой загрузке с флешки требует дефрагментации образа
- не работает с образами WIM
Советы:Для загрузки сторонней сборки, если она использует в качестве загрузчика Grub4Dos, можно поместить menu.lst этой сборки в папку \images\CONFIG Для загрузки сторонней сборки, если она использует в качестве загрузчика BOOTMGR, можно поместить BCD этой сборки в папку \images\BCD Работа с x-letsСоздание wimlets
Образы из папки \images\WIM можно добавить в основное меню загрузчиков без создания дополнения. Порядок действий: - Скопировать загрузочный образ WIM в папку \images\WIM
- Выполнить «Панель управления» (zrun.cmd) → «Управление доп.возможностями» → «Обновление wimlets»
- Согласиться с добавлением образа в загрузочное меню
- Ввести название пункта меню
Для удаления образа из основного меню загрузчиков: - Удалить образ WIM из папки \images\WIM
- Выполнить «Панель управления» (zrun.cmd) → «Управление доп.возможностями» → «Обновление wimlets»
* Примечания: - образ WIM не должен содержать в названии пробелов и не-английских букв, должен иметь расширение .wim
- образ будет добавлен в меню Windows Boot Manager UEFI только в том случае, если образ поддерживает разрядность х64
- название меню можно вводить по-русски, но в меню GRUB2 будут отображаться знаки ??? вместо русских букв
- Создание vhdlets
Можно добавлять в загрузку VHD-контейнеры. Поскольку для работы требуется NTFS, то располагаться VHD должны на сторонних разделах/дисках, которые будут присутствовать при загрузке MLF.
Порядок действий: - Выполнить «Панель управления» (zrun.cmd) → «Управление доп.возможностями» → «Обновление vhdlets»
- Выбрать VHD на стороннем разделе/диске
- Ввести название пункта меню
Для удаления пункта меню: - Удалить/переименовать VHD или отключить раздел/диск, на котором он расположен
- Выполнить «Панель управления» (zrun.cmd) → «Управление доп.возможностями» → «Обновление vhdlets»
- Согласиться с удалением
* Примечания: - выбор контейнера реализован через командлет powershell, он запускается довольно медленно, не паниковать
- в меню UEFI добавляются только контейнеры с поддержкой х64
- если при загрузке MLF раздел/диск с контейнером VHD будет недоступен, то BOOTMGR v7 будет вылетать с ошибкой, а BOOTMGR v10 не покажет пунктов меню с загрузкой VHD
Пример работы с vhdlet:- берём HDD в USB-Box
- устанавливаем MLF и аддон BootItBM (сейчас является частью аддона «TeraByte Software Suite»)
- загружаемся с него, с помощью BootItBM сжимаем первый раздел, на свободном месте создаём раздел NTFS
- загружаемся в нормальную винду, переписываем на раздел NTFS контейнер(-ы) VHD в произвольную папку(-и)
- выполняем инструкцию по добавлению
- Управление efilets
Работа с efilets рассмотрена в разделе «Работа с образами» - Управление addlets Addlet - это ещё один способ (наряду с Дополнениями) расширить возможности и функционал проекта. С помощью addlets можно загрузить утилиты, установочные дистрибутивы, наборы ПО, дистрибутивы Windows; зайти на интернет-ресурсы для самостоятельной загрузки необходимого ПО. Как правило, загрузка происходит в папку \programs. Исключения: - набор драйверов SDI записывается в папку \drivers
- дистрибутивы Windows записываются в папку \distros.
В отличии от Дополнений, addlets только скачивают и записывают ПО на флеш-носитель, но не позволяют управлять им в дальнейшем (то есть задачи контроля целостности информации и её удаления возлагаются на самого пользователя).
Функционал addlets выделен в отдельный модуль, который динамически подгружается из сети интернет. Поэтому расширение списка ПО, доступного для записи на флешку с помощью механизма addlets, происходит без необходимости обновления всего проекта.
* Примечания: - ПО, уже записанное на флешку (если это не ссылка на интернет-страницу ), помечается знаком «*» перед названием соответствующего addlet
- ПО, которое скачивается непосредственно с сайта производителя, помечается как «online»; в остальных случаях приводится текущая версия
Бэкап: создание/восстановлениеБэкап: создание/восстановление Создание
Выполнить «Панель управления» (zrun.cmd) → «Управление доп.возможностями» → «Создать резервную копию»
По умолчанию создаётся C:\mlf_backup.wim (можно в окне 7zG изменить путь и параметры архивации). По сути, просто создание архива всей флешки. Можно делать и самому, вручную.
Формат: любой из поддерживаемых 7z (7z, ZIP, RAR, WIM, ISO, GZ и т. п.) Имя: mlf_backup.* (расширение может быть любым, в т.ч. нестандартным. Например: mlf_backup.maximum, mlf_backup.01_04_2019 и т.п.) Восстановление:- Поместить архив/образ mlf_backup.* рядом с PrepFlash.cmd
- Запустить PrepFlash.cmd и выбрать флеш-накопитель
- После разметки флешки согласиться на восстановление из резервной копии. При этом:
- архив будет развёрнут на флешку
- удалён аддон System Core
- установлен аддон System Core без обращения в Интернет.
Таким образом, для подготовки флешки нужны только два файла: system.7z (сама система MLF) и файл бекапа mlf_backup.* ранее созданной флешки со всеми аддонами и нужным ПО.
ЧаВоВ: Установил дополнение Х, но в режиме UEFI нет загрузки ядра(-ер) Windows. Почему? О: Для запуска ядер Windows из загрузчика GRUB2 (в режиме UEFI) выберите пункт меню "Windows Boot Manager... >"Благодарностиdimo70, apostol, goga8686 за активное тестирование и выявление всякого. vovan1982, AZJIO за файл справки о проекте. [журнал]Загрузить
Загрузить MLF2
Последний раз редактировалось: Ander_73 (2021-07-31 21:18), всего редактировалось 44 раз(а)
|
Ander_73
- Стаж: 7 лет 11 месяцев
- Сообщений: 3950
- Репутация:127[+] [-]
|
61237 Вот например в Secure Boot UEFI, какой загрузчик из трех будет работать без проблем. Без проблем будет работать только Windows Boot Manager, но он умеет грузить только Windows. А оставшиеся два загрузчика - как повезёт. Они оба имеют валидные ЦП должны грузиться в SecureBoot. Но "должны" не значит, что "будут" Именно поэтому их два: если не повезло с одним, вдруг повезёт с другим.
61237 А и другие загрузчики много. Почему нужно выбирать? Может вопросы глупые. Извините если что. Какие - другие? Не понял.
|
BalAngel
- Стаж: 9 лет 9 месяцев
- Сообщений: 267
- Репутация:14[+] [-]
|
Знаний у меня мало, вот и не могу разобраться со всеми загрузчиками. Может поможет, представьте это как в
. Русские надписи в черном переведены с китайского, добавлено предлагаемое Ander_73 -- в зеленном. Насчет названия темы "Multi-loaders flash" -- незначительная деталь. В настояще английских текстах не найдете, чтобы определение было в множественном числе. Пришлось повозиться найтиобъяснение на русском. Соответственно, в меню Xorboot -- Loader list, если "компьютернее", Bootloader list; тема -- Multi-bootloader Flash, но это дело вкуса. Не имею опыта по успешности загружаемости. Пишут-говорят, что syslinux (это логично), почему не делать его исходным или бантиком определить исходный? Пишут, хххх загрузчик долго грузит; что-то все год сравнивает с десятилетием, когда год надо сравнивать с тысячелетиями и более. Это моё IMHO
Последний раз редактировалось: BalAngel (2019-03-09 13:09), всего редактировалось 1 раз
|
Ander_73
- Стаж: 7 лет 11 месяцев
- Сообщений: 3950
- Репутация:127[+] [-]
|
BalAngel, не вопрос, поменяю названия Суслик - единственный из всего "зоопарка" НЕ-портабельный загрузчик. Его нельзя взять и запустить. Его надо только устанавливать (потому что идёт привязка к физическому расположению ldlinux.sys на флешке). И только усилиями нестерпимого китайского гения (Xorboot) теперь стало возможно запускать "сырой" ldlinux.bin без этапа установки. Так что рассуждения про "определение бантиком" мне непонятны. Я не стал заморачиваться "опытом загружаемости", а дал в пользование сразу все загрузчики!
|
Ander_73
- Стаж: 7 лет 11 месяцев
- Сообщений: 3950
- Репутация:127[+] [-]
|
В аддон WInst встроен InstPrep При установке в панель zrun добавляется пункт "Загрузка дистрибов". При выборе:- запрашивается папка для установки (можно выбрать просто диск достаточного объёма; в выбранной папке будет создана временная подпапка $$$_InstPrepDownloadFolder_$$$ для скачивания/перепаковки дистров)
- во временную подпапку загружается и запускается InstPrep
- по окончании временная подпапка удаляется
--- UPD: Добавил в аддон WInst запрос на установку комплекта Shell
|
ssanchess
- Стаж: 10 лет
- Сообщений: 294
- Репутация:11[+] [-]
- Откуда: Из тайги
|
Ander_73, Вроде нормально расписано. Спасибо! Хороший проект получился. Вот только с плохим интернетом нет возможности воспользоваться на полную. Не получается скачать дополнения и дистрибутивы. В связи с этим вопрос: Есть ли возможность добавить самому, ну ту же 2k10 на флэшку? P.S.Похоже можно добавить. Но прописать запуск придётся вручную. Правильно понял?
|
Ander_73
- Стаж: 7 лет 11 месяцев
- Сообщений: 3950
- Репутация:127[+] [-]
|
ssanchess, возникает ехидный вопрос: а где ты взял 2к10 с плохим-то интернетом? Весь смысл аддонов - автоматизация. Не надо помнить ссылки, не надо ничего вписывать в конфиги. Нажал - и готово! А если руками, то зачем тебе какие-то "проекты"? В "аварийном режиме" (если ты "руками" записал на флешку папку 2к10) можно закинуть 2K10.LST в папку $:\images\CONFIG Тогда в загрузчике G4D можно нажать L и выбрать на запуск конфиг 2K10.LST
|
nikzzzz
- Стаж: 10 лет
- Сообщений: 3114
- Репутация:127[+] [-]
|
BalAngel Каталог "Boot" не используется при загрузке в EFI режиме, там нужен только каталог "efi\boot" и возможно "efi\microsoft\boot" , там лежит BCD , нужен, если используется bootmgr.efi Но в BCD файле могут быть прописаны пути к каталогу boot , которые легко правятся на любые, при этом возможность загрузки в secure boot не пропадает.
|
goga8686
- Стаж: 8 лет
- Сообщений: 897
- Репутация:73[+] [-]
|
Ander_73, Спасибо вам за проект. всё круто. я как чайник и то без проблем разобрался.
|
Ander_73
- Стаж: 7 лет 11 месяцев
- Сообщений: 3950
- Репутация:127[+] [-]
|
goga8686, По-моему, единственная реальная проблема - это заставить себя нажать "1" для подтверждения форматирования флешки
|
goga8686
- Стаж: 8 лет
- Сообщений: 897
- Репутация:73[+] [-]
|
Ander_73, Чтобы не мучить флешку,я сначала на vhd новинки тестирую,в virtualbox-e, если всё норм то тогда уже клонирую на флешку. вот несколько не критичных проблем которые я заметил. :1. в пути до PrepFlash.bat не должно быть кирилицы,иначе при форматировании будут ошибки. надо например вот так .
2. Дополнения с Github-а ,почему то ужасно медленно качает (52kib), но это может у меня так? не знаю. . .
3. После скачивания некоторых дополнений , выскакивает такое предупреждение нажать "закрыть" и cmd продолжает работать. Проекту надо движение. толково придумано всё.
|
Ander_73
- Стаж: 7 лет 11 месяцев
- Сообщений: 3950
- Репутация:127[+] [-]
|
goga8686, 1. Посмотрю 2. Увы, принципиальное ограничение гитхаба: они отдают только в один поток и скорость зависит от фазы луны (может прыгать от 30Кб/с до 3Мб/с, по моим наблюдениям) 3. Предупреждение не убирается. Я так понимаю, это принципиальная позиция Игоря Павлова (автора 7-zip). Если вдруг кто-то знает, как в 7zG убрать варнинги - дайте мне знать. (а если пользовать консольный 7z, то картинка уж больно скучная )
|
Отправлено: 01-Фев-2019 13:55
(спустя 2 часа 5 минут)
BalAngel
- Стаж: 9 лет 9 месяцев
- Сообщений: 267
- Репутация:14[+] [-]
|
А я пока нет, нажимать 1 то быстро разобрался, когда, после очередного испытания, нажал два раза 1, а там второй локальный диск Дошел до строк с rawcopy (№63,64), 512 - это бутсектор, а 18348 -- что это может быть? Это будет правильно - для создания дополнительных разделов?set /p fat_size="FAT32 partition size in MB -> " set /p ntfs_size="NTFS partition size in MB -> " >%log% ( echo rescan echo sel dis %disk% echo clean echo cre par pri size=%fat_size% offset=64 align=1 echo cre par extended echo cre par logical size=%ntfs_size% echo format quick fs=NTFS label="VHD_ISO_Data" Если будет места на диске, оставить для логических разделов Linux Если есть намерение иметь второй раздел, напр. NTFS (для полнокровных ОС в VHD и др.), не хотелось бы форматитровать всю флешку/весь диск. Не предлагаю вам что-то изменять, только докладываю. Перевел PrepFlash и остальное на английский, чтобы мне было удобнее читать/видеть. Спасибо goga8686, что показал неточность -- "Загрузка..." перевел как "Loading...", "Downloading..." (загружается...) или "Download..." (Загрузка...). Были кое-какие трудности с кодировками. В одном из файлов видел наверху и внизу фразы, которые строкой ниже написаны по-русски, не Средней Азии ли? Не стал расшифровывать
Последний раз редактировалось: BalAngel (2019-02-02 11:48), всего редактировалось 4 раз(а)
|
dimo70
- Стаж: 7 лет 1 месяц
- Сообщений: 3795
- Репутация:27[+] [-]
- Откуда: BG
|
Ander_73, Хорошо получается. Спасибо что добавили mini WinPE Ксемома. При помощью етих WinPE и WInst все заработало уже отлично. Там даже добавил сборку своих системных программ. Одна просьба еще. Можно в AV Scanners добавить ESET и/или Symantec?
_________________ Подпись отключена за нарушение правил форума
|
Страница 3 из 56
Текущее время: 29-Янв 01:15
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|