| 
    
	
		
		
			| 
			
						
							
								Ander_73
								
						
							
				Стаж: 8 лет 8 месяцевСообщений: 4124Репутация:127[+]   [-] | 
			
				
				-*** Лабораторная работа: мультисистемная флешка ***-
Назначение проекта:
 Подготовка флеш-накопителя для загрузки различных загрузчиков (BIOS/UEFI x64);
Наполнение подготовленного флеш-накопителя дистрибутивами (Windows/Linux), сборками (загрузочными дисками), полезными утилитами.
 Представляет собой:
 Набор командных бат-файлов и вспомогательных утилит. Краткое описание принципа работы:
 С помощью diskpart размечает флешку;
Форматирует в FAT32 без ограничений на размер раздела;
Основным загрузчиком в MBR ставит Xorboot 0.65;
 Важно! 
 В стартовом меню Xorboot  на некоторых BIOS  могут не работать клавиши "вверх-вниз". В этом случае выбор пунктов меню нужно производить через "горячие клавиши": 1-7  и P, R, S .Помещает в корневую папку подготовленного флеш-накопителя командный бат-файл zrun.cmd, с помощью которого осуществляется дальнейшее управление проектом.
 Список загрузчиков:
 Поддержка EFI SecureBoot:Syslinux 6.03
Syslinux 4.07
Bootmgr 10
Bootmgr 7
Grub4Dos 0.4.6
Grub4Dos 0.4.5
GRUB2 2.02
 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
 Загрузчик UEFI менять загрузчик рекомендуется только в случае проблем с загружаемостью стандартного загрузчика проекта Xorboot 0.65
 загрузчик USB-ZIP+ необратимо "смещает" рабочий раздел флешки hd0,0 -> hd0,3
 загрузчик MBR Grub4Dos обладает высокой загружаемостью и рекомендуется в "сложных" случаях.
 загрузчик PBR (для MBR = USB-HDD+/USB-ZIP+) соответствует выбираемой среде G4D/BMGR
 
 Существует возможность выбора начального загрузчика для 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 предлагаются варианты: Работа с efilets подождать 10 сек или нажать Esc: загрузка с помощью BOOTMGR ver.10
 нажать Enter: загрузка с помощью BOOTMGR ver.7 (позволяет обходить проблемы с цифровыми подписями)
 
 Папка \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...    >"
[журнал]Загрузить
Загрузить MLF2Благодарностиdimo70, apostol, goga8686 за активное тестирование и выявление всякого.vovan1982, AZJIO за файл справки о проекте.
 
 Последний раз редактировалось: Ander_73 (2021-07-31 21:18), всего редактировалось 44 раз(а)
 |  
	
								![Ответить с цитатой [Цитировать]](./styles/templates/default/images/lang/ru/icon_quote.gif)  
		 		Отправлено: 17-Дек-2018 20:46
					(спустя 1 день 22 часа)
	
		
		
			| 
			
						
							
								Ander_73
								
						
							
				Стаж: 8 лет 8 месяцевСообщений: 4124Репутация:127[+]   [-] | 
			
				
				KottoSOFT, это баго-фича xorboot. На некоторых БИОС-ах вот такая фигня...Именно поэтому там придуманы "горячие клавиши". Как несложно догадаться, в моём случае это 1-7 и N, R, S.
 BCD, разумеется, пустой. Взят прямо из дистриба (даже не помню, какой именно версии)
 Единственно, чтобы уж совсем народ не путать, включено отображение загрузочного меню. В котором, есессно, только Сетуп Виндовс.
 Я сделал только каркас. Чем его "набить" - на усмотрение и фантазию пользователей
   |  
	
		
		
			| 
			
						
							
								Ander_73
								
						
							
				Стаж: 8 лет 8 месяцевСообщений: 4124Репутация:127[+]   [-] | 
			
				
				ОбновлениеПо мелочи:
 - добавлена "связность" менюшек (возврат в исходное бут-меню)
 - добавлен скрипт для создания "кошерного" BCD из оригинального (взятого из дистриба МС)
 Про кошерностьВместо пункта Windows Setup вставлен пункт меню загрузки установленной Windows c HDD, невнятный Device Options заменён на {ramdiskoptions} и добавлен возврат в бут-меню.Основное: реализован механизм аддонов (загружаются из инета, должен быть доступ).
 Пока готовы 6:
 - пристрелочные (memtest, hddarts, bootit)
 - антивирусные (лайв-диски Касперского и Др.Веб)
 - и любимец публики - сборка 2к10 от конти/корсак
 В корне флешки zrun.cmd - запуск сервиса (смена EFI-загрузчиков и управление аддонами)Важно!Для добавления аддона 2к10 убедитесь, что %TEMP% содержит от 8Гб и выше свободного места (для скачивания и распаковки). |  
	
		
		
			| 
			
						
							
								Ander_73
								
						
							
				Стаж: 8 лет 8 месяцевСообщений: 4124Репутация:127[+]   [-] | 
			
				
				Добавлено CRC32Теперь сам проект и каждый аддон (дополнение) при установке снабжаются списком контрольных сумм всех файлов.
 Можно проверить как сам MLF, так и каждый аддон в отдельности на целостность. Особенно полезно при "издыхающей" флешке, шустрых вирусах и шаловливых анти-вирусах.
 Для мелких аддонов, разумеется, это пустое баловство, а вот для сборок, где сотни файлов (например, 2к10 ~1500 файлов) может быть крайне полезно для выяснения, что и почему вдруг заглючило или перестало работать.
 ---
 Вычисляю CRC32 через 7-zip, проверяю через QuickSFV (не самый шустрый, но мелкий, наглядный, не глючный и вообще - с историей товарисч)
 |  
	
		
		
			| 
			
						
							
								dimo70
								
						
							
				Стаж: 7 лет 11 месяцевСообщений: 3799Репутация:27[+]   [-]Откуда: BG | 
			
				
				Ander_73,Поздравляю! Успел протестировать мелкие аддоны. Все работает отлично. Очень понравился twinboot boot64.wim из аддонов. Может быть стоит занятся обновлению сборки Xemom1. Отличные сборки.
 Завтра проверю сборки 2k10 и Стрельца.
   _________________
 Подпись отключена за нарушение правил форума
 |  
	
		
		
			| 
			
						
							
								dimo70
								
						
							
				Стаж: 7 лет 11 месяцевСообщений: 3799Репутация:27[+]   [-]Откуда: BG |  |  
	
		
		
			| 
			
						
							
								Ander_73
								
						
							
				Стаж: 8 лет 8 месяцевСообщений: 4124Репутация:127[+]   [-] | 
			
				
				dimo70, теоретически, аддоном можно подключить что угодно. Новый Hiren просто ругают, в основном. Поэтому и не приглядывался. Но если очень хочется - сделаю    TwinBoot x86 есть, просто он не универсальный и его не запустишь под EFI. Поэтому и не стал заморачиваться. Неужели разница в 50Мб так критична???
 |  
	
		
		
			| 
			
						
							
								Ander_73
								
						
							
				Стаж: 8 лет 8 месяцевСообщений: 4124Репутация:127[+]   [-] | 
			
				
				ОбновлениеГлавное: теперь система является аддоном самой себя. Соотв. обновление - это просто переустановка аддона System. Проверка CRC32 тоже из меню аддонов.
 
 По ссылке в шапке аддон system.addon. Это обычный архив 7z. Скачать, распаковать, запустить PrepFlash.cmdОн отформатит флешку, скачает сам себя из инета и установит
  Загрузчик: добавил смену основного загрузчика (Xorboot <=> UltraISO USB-HDD+). Теперь можно сразу загружаться в нужную систему (BOOTMGR/ G4D/ GRUB2).
 Чуть изменён формат аддонов. Теперь только с новой версией системы!
 ---
 UPD Выяснилось, что system.addon - это слишком сложно. Теперь это system.7z, надеюсь, так в разы легче...
 |  
	
		
		
			| 
			
						
							
								ssanchess
								
						
							
				Стаж: 10 летСообщений: 292Репутация:11[+]   [-]Откуда: Из тайги | 
			
				
				Ander_73, Приветствую!   Подскажи пожалуйста, так и должно быть?
 
  Создал флэшку, запустил  файл zrun.cmd
 Уже около часа так висит и ничего не происходит.
 Или я не правильно делаю.
 |  
	
		
		
			| 
			
						
							
								saimonyz
								
						
							
				Стаж: 10 летСообщений: 94Репутация:13[+]   [-] | 
			
				
				ssanchess,кликай мышкой по пунктам
 |  
	
		
		
			| 
			
						
							
								Ander_73
								
						
							
				Стаж: 8 лет 8 месяцевСообщений: 4124Репутация:127[+]   [-] | 
			
				
				ssanchess, вижу, пора дописывать "шапку"     |  
	
		
		
			| 
			
						
							
								dimo70
								
						
							
				Стаж: 7 лет 11 месяцевСообщений: 3799Репутация:27[+]   [-]Откуда: BG | 
			
				
				Ander_73,Не вижу смысла. И так все ясно. Я проверил, работает нормально.
   _________________
 Подпись отключена за нарушение правил форума
 |  Страница 2 из 56 
	
	
		Текущее время: 31-Окт 10:42 Часовой пояс: UTC + 3  
	| 
		
		Вы не можете начинать темыВы не можете отвечать на сообщения
 Вы не можете редактировать свои сообщения
 Вы не можете удалять свои сообщения
 Вы не можете голосовать в опросах
 Вы не можете прикреплять файлы к сообщениям
 Вы можете скачивать файлы
 
 |  |