Задача состоит в том, чтобы из имеющегося файла образа CM_MultiBoot.iso
или подготовленной для этого директории сделать загрузочную флэшку.
Делается это следующим образом:
- Подготавливаем домашнюю директорию нашей флэшки:
1. Если есть скаченный из инета или сделанный самим (по этому описанию)
файл образа CM_MultiBoot.iso, то разархивируем его в директорию,
например C:\BootCDRoot или
монтируем в любой Virtual Drive.
2. Если есть подготовленная для создания образа директория и стоит
задача сделать только флэшку, то создание самого файла CM_MultiBoot.iso
можно пропустить, а воспользоваться этой директорией, допустим C:\BootCDRoot.
- Освобождаем флэшку от файлов.
- Запускаем скрипт установки CM_MultiBoot на флэшку (Внимание! Скрипт отформатирует ее,
сохраните свои файлы!):
CM_Multiboot_ISO2USB C:\BootCDRoot
X:
где C:\BootCDRoot - source директория, содержащая контент
CM_MultiBoot.iso
x: - destination директория, то есть буква нашего флэш диска.
!Последним символом в аргументах не может быть слэш "\":
То есть следующий
пример ошибочен: CM_Multiboot_ISO2USB C:\BootCDRoot\ X:\
Текст и описание работы скрипта CM_Multiboot_ISO2USB.bat
Жирным текстом текст скрипта,
тонким - пояснения.
@echo off
Выводим информацию о том, как использовать скрипт:
echo CM Multiboot CD 2 bootable
USB-flash installer
echo Usage: CM_Multiboot_ISO2USB.bat
[src-path] [dst-path]
echo
[src-path]
-
Path to ISO root [dst-path] - Path to USB root! e.g.
i:
Если задано неверное количество аргументов -выходим. Аргумента должно
быть 2.
If "%2"=="" Echo Too few arguments.
See usage. & goto :EOF
If NOT "%3"=="" Echo Too many
arguments. See usage. & goto :EOF
Создаем временную директорию в каталоге со скриптом и извлекаем туда
файлы из Hiren144.img
echo Extract files from Hiren144.img
to temp folder
mkdir .\hirensys
.\EXTRACT.EXE -x %1\boot\Hiren144.img
%CD%\hirensys *.*
Форматируем флэшку в FAT32 (NTFS не подходит ибо с ней не дружат
dos-загрузчики и linux). Вас попросят ввести текущий disklabel и
2а раза согласиться с форматированием. Существует множество способов
как сделать флэшку загрузочной, например:
- Использовать mkbt.exe от Bart Lagerweij. Вытащив бутсектор с
Hiren144.img и скопировав на флэшку, но остается хитро скопировать
io.sys и command.com - они должны находиться в начале диска. Кроме того
эта программа постоянно выдает ошибки, может быть из-за большого объема
моей флэшки - 8 Гб.
- Использовать makebootfat.exe,
которая
делает
то же, что и первая, но тоже частенько ругается и
заканчивается отрицательным резултатом. После ее применения некоторые
разбивальщики дисков (paragon HDM, partition magic) будут выдавать
ошибки (из-за нестандартной таблицы - с чем связано?) на флэшке,
впрочем и выбранный мною метод от этого не спасает.
В принципе этот метод не хуже выбранного. Читайте о его применении в CM_AnyImgOnUsb.html
ыв
- За-enable-ить контрол в диалоге форматирования флэшки MS -
выбрать из контекстного меню, вызванного на флэшке пункт
"Форматировать...". За-enable-ить чекбокс "Создание загрузочного диска
MS-DOS" (который доступен в XP только на дискетках) и отформатировать
флэшку. У меня файлы скопировались на флэшку, но загрузиться с нее не
удалось (многие в интернете уверяют что получается). Кстати, то же
самое, сделанное из win98 (где к тому же за-enable-ать ничего не надо)
закончилось успешной загрузской с USB.
- Выбранный мной способ с помощью общеизвестной "HP USB Disk
Storage Format Tool". Она почти всегда срабатывает отлично и без
ошибок. Я использую консольный вариант, в той же директории есть и
диалоговый аналог.
Если кто-то делает загрузочную DOS флэшку еще каким-то способом,
особенно без форматирования и ребутов, отпишитесь.
echo Formatting USB Flash. Enter your
disk label & agree "y"..."y"
HPUSBF.EXE %2 -FS:FAT32 -Q
-B:.\hirensys
Копируем все файлы из Hiren144.img в корень флэшки. Удалив при этом
системные io.sys, comman.com чтобы не затереть скопированные специально
в начало эти же файлы утилитой HPUSBF.EXE. Мапить из загрузчиков с
помощью memdisk сам Hiren144.img бесполезно т.к. bat-ники Hiren-а не
найдут диска усбшки. Прочитайте мануал по
установке на USB от Hiren-a.
echo Copy Hirens floppy-img files from
temp folder to destination root
echo Delete system files io.sys,
comman.com first (don't overwrite it!).
del /F /Q .\hirensys\command.com
del /F /Q .\hirensys\io.sys
copy /B /Y .\hirensys\*.* %2
Копируем всю информацию со структурой директорий из src-директории на
флэшку
echo Copy all data from cd to usb
xcopy %1 %2 /E /D /H
Переименовываем директорию XPPE в xppenv из-за разницы в использовании
загрузчиков и наименований директорий. Замещаем заточенный на CD
подправленным SETUPLDR.BIN, заточенным на USB. Подробнее читаем CM_WinBartsPE.html.
move
/Y
%2\XPPE
%2\xppenv
copy /B /Y .\SETUPLDR.BIN.XPPENV.USB
%2\xppenv\SETUPLDR.BIN
Переименовываем директорию XPRC в xprcons из-за разницы в использовании
загрузчиков и наименований директорий. Замещаем заточенный на CD
подправленным SETUPLDR.BIN, заточенным на USB. Подробнее читаем CM_WinRecoveryConsole.html.
move
/Y
%2\XPRC
%2\xprcons
copy /B /Y .\SETUPLDR.BIN.XPRCONS.USB
%2\xprcons\SETUPLDR.BIN
Перемещаем файл isolinux.cfg в корень syslinux.cfg и удаляем ненужную
\boot\isolinux директорию. Это разные модификации одного загрузчика
isolinux - для CD DVD, syslinux - для HDD USB. Синтаксис их конфигов
одинаковый.
echo Copy isolinux.cfg to syslinux.cfg
move /Y %2\boot\isolinux\isolinux.cfg
%2\syslinux.cfg
rmdir /S /Q %2\boot\isolinux
Копируем NTDETECT.COM в корень флэшки - без него не загрузятся WinPE,
WinRecoveryConsole.
copy /B /Y %2\xppenv\NTDETECT.COM
%2\NTDETECT.COM
Копируем отредактированный WINNT.SIF. Многие советуют его удалить, в
случае с флэшкой это не подходит. В нем содержится метка CmdCons="1",
означающая грузить консоль восстановления, в противном случае
попытается вести установку винды и попросит вставить диск с
дистрибутивом.
echo Copy \xprcons\WINNT.SIF with
point CmdCons="1"
copy /B /Y .\WINNT.SIF.XPRCONS.USB
%2\xprcons\WINNT.SIF
Устанавливаем загрузчик syslinux на флэшку, он затирает! предыдущий
установленный нами DOS с помощью HPUSBF.EXE. Возникает вопрос - зачем
ставили первый. Ответ - в нем нет необходимости, но при его установке
копируются в начало io.sys command.xom, а это необходимо, иначе
Grub4Dos при команде "chainloader io.sys" выдаст ошибку. Поэтому, если
кто научится копировать сис-файлы "правильно" сообщите мне.
echo Add syslinux loader to USB-flash
.\syslinux.exe -sma %2
Теперь удаляем не нужные - временную директорию \hirensys и файл-образа
Hiren144.img
echo Now delete Hiren144.img from USB
del /F /Q %2\boot\Hiren144.img
echo Delete local temp folder -
.\hirensys
rmdir /S /Q .\hirensys
На этом скрипт установки на флэшку закончен.
Сайт создан в системе
uCoz