PDA

Показать полную графическую версию : [addon] MultiLinux - мультизагрузочный диск на IsoLinux


Страниц : 1 2 3 4 5 6 [7] 8 9 10 11 12 13 14 15 16 17 18

Комсомолец
18-05-2009, 04:39
SharkyEXE, отличаеться вот это: KERNEL /BOOT/ISOLINUX/BOOTSECT.BIN
от вот этого: KERNEL /BOOT/ISOLINUX//BOOTSECD.BIN »
два слеша-я ошибся. поправил и перезалью, когда сервер донастроят. должен быть один.

KERNEL /BOOT/ISOLINUX/BOOTSECT.BIN
KERNEL /BOOT/ISOLINUX/BOOTSECD.BIN »
всё просто. isolinux загружает bootsect, а он уже передает управление setupldX.bin, который и начинает установку. Просто он не умеет сразу запускать setupldX. В этих bootsect только пути исправлены в HEX-редакторе. Вместо i386\setupldr.bin на нужные нам. Например, VOLD\setuplde.bin.
К каждому загрузчику вы можете прикрутить свой winnt.sif. Это уже патч setupldr.bin идет. Смотрим файл FINISH данного аддона.

KERNEL /BOOT/ISOLINUX/BOOTSECT.BIN
KERNEL /BOOT/ISOLINUX/BOOTSECD.BIN »в данном же случае сделано так: BOOTSECT.BIN - запускает стандартную установку setupldr.bin и winnt.sif (но без ввода ключа и имени).
BOOTSECD.BIN - запускает полностью автоматическую установку setupldd.bin и winnt.sid.
сделайте свои варианты и нет проблем.
чтобы была полностью ручная установка - удалите файл winnt.sif

Просто лично я, непонимаю, при помощи какой комманды берется загрузчик из i386 »
для понимания нужно просто покопать в сторону мультибутов и почитать форум по автоустановке. ;)

SharkyEXE
18-05-2009, 07:37
Комсомолец, спасибо. Все получилось.

UPD. В этих bootsect только пути исправлены в HEX-редакторе
Каким HEX редактором вы пользуйтесь, а то мало ли чем можно эти файлы убить-кодировку не ту выставить, или еще что. Еще раз благодарен.

Amigos
18-05-2009, 07:55
Каким HEX редактором пользуйтесь вы для правкки »
в файле Finish запускается LdrPatch который автоматически правит.REM Патч SETUPLDR.BIN для автоустановки.

COPY "%I386%\SETUPLDR.BIN" "%I386%\SETUPLDD.BIN" > nul

rem Теперь у нас 2 загрузчика SETUPLDR.BIN и SETUPLDD.BIN
rem Оба совершенно одинаковые



%WDir%\LdrPatch.exe "%I386%\SETUPLDD.BIN" /d:i386 /u:winnt.sid > nul

rem Теперь SETUPLDD.BIN пропатчен - он не ищет winnt.sit,
rem а если есть то игнорирует его
rem Зато он ищет нестандартный файл winnt.sid,
rem и если есть то берёт комады автоустановки из негогде тут найти и править wiint.sif? Спасибо. » сравни файлы и увидишь http://s48.radikal.ru/i119/0905/0c/a63710bd6cb7t.jpg (http://radikal.ru/F/s48.radikal.ru/i119/0905/0c/a63710bd6cb7.png.html) http://radikal.ru/F/s48.radikal.ru/i119/0905/0c/a63710bd6cb7.png.html

SharkyEXE
18-05-2009, 08:01
Amigos, вам также спасибо за подрубную инструкцию по патчу SETUPLDX.bin. Для меня теперь стало прозрачно, как и куда чего приписываеться. :)
Да, также хочу у вас спросить: каким HEX редактором вы пользуйтесь, что здесь http://radikal.ru/F/s48.radikal.ru/i119/0905/0c/a63710bd6cb7.png.html все по-нормальному написано, нежели у меня вот здесь: http://www.onlinedisk.ru/image/141700/1242618192/ (имееться ввиду названия папок, просто названия и прочее).

SharkyEXE
18-05-2009, 08:28
Уважаемые, почему у меня такие крокозяблы то в HEX Редакторе, в отличие от редактора Amigos:(?
http://www.onlinedisk.ru/cache/88639a86eb70be829cc9dc075cc88199 (http://www.onlinedisk.ru/view/141710/Image2.jpg)
Посоветуйте самый лучший HEX редактор, чтобы все было нормально, читаемо, как у Amigos, а не такая ерунда в программе WinHEX, причем и деньги за нее берут-не бесплатная она, за чтение крокозяблов чтоли:)

Amigos
18-05-2009, 11:01
каким HEX редактором вы пользуйтесь »на моём скрине не HEX редактор, а сравнение содержимого файлов в totalComandere.

для конкретно этой задачи HEX редактор не нужен - изменения делаются программой LdrPatch
каким HEX редактором вы пользуйтесь »Тем же самым WinHex'ом
http://s46.radikal.ru/i111/0905/43/1c0be4a7611at.jpg (http://radikal.ru/F/s46.radikal.ru/i111/0905/43/1c0be4a7611a.png.html)почему у меня такие крокозяблы то в HEX Редакторе »это важные кракозяблы, не нужно их трогать.
SETUPLDR.BIN это не текстовый файл, чтобы в нём "всё читалось", отмотай до смещения 22600 - там уже строковые переменные пойдут.

Комсомолец
18-05-2009, 11:28
SharkyEXE, notepad++ пользуюсь.
для конкретно этой задачи HEX редактор не нужен »
для замены строк в bootsect.bin нужен он.

SharkyEXE
18-05-2009, 17:45
Большое всем еще раз спасибо-и за помощь в понимании того, как работает это чудо-MultiLinux, и в выборе HEX редактора. Спасибо.

SharkyEXE
18-05-2009, 18:55
В файле FINISH строки:
IF EXIST %I386%\$OEM$ MOVE %I386%\$OEM$ %Distr% > nul

rem Тут задаём путь к своим ОЕМ-папкам, которые будут скопированы в дистрибутив.
ECHO Копирование OEM-папок.
XCopy "%Distr%\..\Pre\*.*" "%Distr%\" /I /E /H /R /Y > nul
кто может, обьясните, пожалуйста, как вот тут http://forum.oszone.net/post-1121130-123.html что каждая строка делает, что происходит вот в этих строчках файла FINISH (см. выше)? Спасибо. ПРосто дело то в чем, не проще скопировать папку $OEM$ сразу же ручками, а потом когда все сделаеться, получится образ. в котором в корне будет эта папка, при этом тогда эти сроки файла FINISH становятся непонятными, точнее их назначение:(. Спасибо.

Amigos
19-05-2009, 07:50
что каждая строка делает, что происходит вот в этих строчках файла FINISH »
давайте, распишу все строчки из оригинального Finish из ZZ_MultiLinux_Lite.
он довольно обширен, потому что должен работать "из коробки" и давать на выходе готовый iso с прописанным загрузчиком.
раз на выходе готовый iso, то и все "предИСОшные" операции т.к. копирование дополнительных файлов/папок в дистрибутив, удаление лишних файлов/папок из дистрибутива должны быть выполнены до этого.
вот Finish из ZZ_MultiLinux_Lite и содержит множество образцов для удаления и копирования.

SET WDir=%~1
SET VOLNAME=WXP_SP3
SET ISOFILE=WINXP.ISO
SET ISOLINUX=BOOT\ISOLINUX\ISOLINUX.BIN
SET MAKEISO=1
ECHO Создание мультизагрузочного диска.

задание переменных, которые используются при создании iso
если выходной iso делается вручную (http://forum.oszone.net/post-1061720.html#post1061720) то нужно отредактировать SET MAKEISO=0, а то и вообще это удалить.

REM Обход блокировки повторной интеграции аддона

Attrib -R "%I386%\ADDONS.LST"
FindStr /L /I /V /C:"ZZ_MultiLinux_Lite" "%I386%\ADDONS.LST"> "%I386%\ADDONS.TMP"
DEL "%I386%\ADDONS.LST"
REN "%I386%\ADDONS.TMP" *.LST

REM Удаление предыдщих попыток интеграции

IF EXIST "%Distr%\VOLD\" RD /s /q "%Distr%\VOLD" > nul
IF EXIST "%Distr%\VOLS\" RD /s /q "%Distr%\VOLS" > nul
IF EXIST "%Distr%\VOLM\" RD /s /q "%Distr%\VOLM" > nul
IF EXIST "%Distr%\BCDW\" RD /s /q "%Distr%\BCDW" > nul
IF EXIST "%Distr%\BOOT\" RD /s /q "%Distr%\BOOT" > nul
IF EXIST "%Distr%\ISO\" RD /s /q "%Distr%\ISO" > nul
IF EXIST "%Distr%\..\ISO\" RD /s /q "%Distr%\..\ISO" > nulмне не нужно, я повторно ничего не интегрирую, использую UpdateIntegrator, там есть фишка что исходный дистрибутив сперва копируется в выходную папку, а затем в выходной папке происходит интеграция. При этом интеграция всегда выполняется однократно, за один проход.
т.е. в моём случае можно удалить.

REM Добавление персональных данных в файл сценария

Copy /b "%WDir%\WINNT.SID" + "%WDir%\userinfo.ini" "%I386%\WINNT.SID" > nulодной из причин использования мультизагрузки - разделение установки на автоматическую и ручную. для автоматической установки необходим файл winnt.sit (в данном конкретном случае winnt.sid).
Для действительно автоматической установки в winnt.sit должен быть записан серийник от windows, если положить в публичный аддон winnt.sit с валидным серийником, то это будет в некоторой степени публикацией варёза :(
если положить winnt.sit с без серийника, но с инструкцией "впишите в строчку ProductID=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX ваш серийник" то найдутся пользователи, котрые в килобайтном файле эту строчку не найдут.
Поэтому авторы разделили winnt.sit на неизменную часть WINNT.SID и маленькую изменяемую часть userinfo.ini, а в этих строчках собирают его для помещения в дистрибутив.

эти строчки тоже можно удалить, если готовый WINNT.SID копируется каким либо другим образом, например лежит в папке Files\ForceCopy\ аддона или копируется updateintegrator'ом

XCopy "%WDir%\BOOT\*.*" "%Distr%\BOOT\" /E /H /R /Y > nulединственная незаменимая строчка в Finish
копирование папки BOOT с isolinux'ом и образами для загрузки в выходной дистрибутив

REM Удаление совершенно ненужных папок и файлов.
REM Отредактировать по желанию.

IF EXIST "%Distr%\SUPPORT" RD /s /q "%Distr%\SUPPORT" > nul
IF EXIST "%Distr%\VALUEADD" RD /s /q "%Distr%\VALUEADD" > nul
IF EXIST "%Distr%\DOTNETFX" RD /s /q "%Distr%\DOTNETFX" > nul
IF EXIST "%Distr%\DOCS" RD /s /q "%Distr%\DOCS" > nul
rem IF EXIST "%Distr%\AUTORUN.INF" DEl /F /Q "%Distr%\AUTORUN.INF" > nul
IF EXIST "%Distr%\README.HTM" DEl /F /Q "%Distr%\README.HTM" > nul
IF EXIST "%Distr%\SETUPXP.HTM" DEl /F /Q "%Distr%\SETUPXP.HTM" > nul
rem IF EXIST "%Distr%\SETUP.EXE" DEl /F /Q "%Distr%\SETUP.EXE" > nul
IF EXIST "%Distr%\i386\BOOTFIX.BIN" DEl /F /Q "%Distr%\i386\BOOTFIX.BIN" > nul

REM Удаление ненужных папок.
REM Для чистой установки можно удалить все.

rem IF EXIST "%I386%\LANG" RD /S /Q "%I386%\LANG" > nul
IF EXIST "%I386%\WIN9XMIG" RD /S /Q "%I386%\WIN9XMIG" > nul
IF EXIST "%I386%\WIN9XUPG" RD /S /Q "%I386%\WIN9XUPG" > nul
rem IF EXIST "%I386%\WINNTUPG" RD /S /Q "%I386%\WINNTUPG" > nul
IF EXIST "%I386%\COMPDATA" RD /S /Q "%I386%\COMPDATA" > nul
IF EXIST "%I386%\DRW" RD /S /Q "%I386%\DRW" > nul приведено для образца - "если хотите что-то удалить до создания iso, то делается это так"

я это удалил. ненужные папки и файлы лучше удалять именно удаляльными аддонами, а не аддонами для создания iso образа.
единственное, что действительно нужно удалять для конкретно этого аддона, это BOOTFIX.BIN - я внёс в DelOC.lst

REM Патч SETUPLDR.BIN для автоустановки.

COPY "%I386%\SETUPLDR.BIN" "%I386%\SETUPLDD.BIN" > nul

%WDir%\LdrPatch.exe "%I386%\SETUPLDD.BIN" /d:i386 /u:winnt.sid > nul

IF EXIST %I386%\$OEM$ MOVE %I386%\$OEM$ %Distr% > nul описывалось выше. Помещение в дистрибутив файла SETUPLDD.BIN, который есть патченный на предмет WINNT.SIT/WINNT.SID SETUPLDR.BIN

я удалил и это :)
готовый SETUPLDD.BIN копируется у меня другим образом через папку Files\ForceCopy\ аддона

IF EXIST %I386%\$OEM$ MOVE %I386%\$OEM$ %Distr% > nul

rem Тут задаём путь к своим ОЕМ-папкам, которые будут скопированы в дистрибутив.
ECHO Копирование OEM-папок.
XCopy "%Distr%\..\Pre\*.*" "%Distr%\" /I /E /H /R /Y > nulкопироване $OEM$ папок из исходного дистрибутива (если были) и ещё откуда-то (если нужно)
Я $OEM$ папки не использую, поэтому удалил и эти строчки.
Глобально — это образец "как добавить папки/файлы в дистрибутив, перед созданием iso"
Этим я тоже не пользуюсь, нужные мне дополнительные файлы копируются updateintegrator'ом после этапа интеграции.

if %MAKEISO%==1 (
ECHO Создание образа %ISOFILE%.
MD "%Distr%\..\ISO"
start /wait %WDir%\CDIMAGE.EXE -n -h -m -p -x -b"%DISTR%\%ISOLINUX%" -l"%VOLNAME%" %DISTR%\ "%DISTR%\..\ISO\%ISOFILE%"
)
создание загрузочного iso. Я создаю вручную (http://forum.oszone.net/post-1061720.html#post1061720), мне не нужно и это.

SharkyEXE
19-05-2009, 10:08
Большое спасибо.

Комсомолец
20-05-2009, 01:30
Amigos, всё отлично, расписано как нужно. Только для интегратора есть Версия для GUI-интегратора.
Интеграция драйверов и создание мультизагрузки производится GUI-интегратором.
Скачать ZZ_MultiLInux_GUI.7z ~280кб »
Не понимаю зачем вам lite-версия? Я её сделал по просьбе SamLab'a.
Кстати, этот лайт аддон изначально предназначался для Z_DRV_INST. Но раз вы его приспособили под интегратор, то респект.

Я $OEM$ папки не использую »
$OEM$-директория и ОЕМ-папки в данном случае не одно и то же. Тут я просто копировал папку с софтом и т.д.


REM Удаление совершенно ненужных папок и файлов.
REM Отредактировать по желанию.
IF EXIST "%Distr%\SUPPORT" RD /s /q "%Distr%\SUPPORT" > nul
IF EXIST "%Distr%\VALUEADD" RD /s /q "%Distr%\VALUEADD" > nul
IF EXIST "%Distr%\DOTNETFX" RD /s /q "%Distr%\DOTNETFX" > nul
IF EXIST "%Distr%\DOCS" RD /s /q "%Distr%\DOCS" > nul
rem IF EXIST "%Distr%\AUTORUN.INF" DEl /F /Q "%Distr%\AUTORUN.INF" > nul
IF EXIST "%Distr%\README.HTM" DEl /F /Q "%Distr%\README.HTM" > nul
IF EXIST "%Distr%\SETUPXP.HTM" DEl /F /Q "%Distr%\SETUPXP.HTM" > nul
rem IF EXIST "%Distr%\SETUP.EXE" DEl /F /Q "%Distr%\SETUP.EXE" > nul
IF EXIST "%Distr%\i386\BOOTFIX.BIN" DEl /F /Q "%Distr%\i386\BOOTFIX.BIN" > nul
REM Удаление ненужных папок.
REM Для чистой установки можно удалить все.
rem IF EXIST "%I386%\LANG" RD /S /Q "%I386%\LANG" > nul
IF EXIST "%I386%\WIN9XMIG" RD /S /Q "%I386%\WIN9XMIG" > nul
IF EXIST "%I386%\WIN9XUPG" RD /S /Q "%I386%\WIN9XUPG" > nul
rem IF EXIST "%I386%\WINNTUPG" RD /S /Q "%I386%\WINNTUPG" > nul
IF EXIST "%I386%\COMPDATA" RD /S /Q "%I386%\COMPDATA" > nul
IF EXIST "%I386%\DRW" RD /S /Q "%I386%\DRW" > nul »

Как раз эти директории и файлы можно безболезненно удалять без всяких аддонов-удалялок.

Ну и наверное всё-же правильно WINNT.SIF.

Amigos
20-05-2009, 07:36
Не понимаю зачем вам lite-версия? »все остальные расчитаны на интеграцию дров, для выбора "с дровами" и "без дров".
Я перестал испльзовать и z_drv_inst и интеграцию дров UpdateIntegrator'ом, использую только неотключаемый MassStor32, и поэтому мне нужны возможности только Lite версии
Но раз вы его приспособили под интегратор » под интегратор ничего приспосабливать не пришлось, всё работало в том виде в котором выложено. (если не использовать интеграцию дров). Я приспособил под себя - убрал удаление, копирование и автоматическое создание iso
эти директории и файлы можно безболезненно удалять »ну вот, к примеру, в папку docs AutoRun от BoaSoft кидает используемые им BMP.
можно безболезненно удалять без всяких аддонов-удалялок »тут вопрос не в безболезненности, а в гибкости.
Объединять в одном аддоне такие разные задачи как "удаление ненужных файлов и папок", "копирование нужных файлов и папок", "добавление файлов мультизагрузчика" концептуально не верно, хотя вам, возможно, так и удобнее.

вот пример, что будет, если пользоватся удалением ненужных папок не из отдельностоящего, а из Вашего аддона.
У меня папка boot весит 35 мегов из-за живущих там acronis'ов.
Допустим я решаю сэкономить эти мегабайты и создать дистрибутив без мультизагрузки.
Я отключаю интеграцию ZZ_MultiLinux_Lite и 35 мегабайтной папки boot в выходном дистрибутиве нету.
но зато есть папки DOTNETFX SUPPORT и VALUEADD общим весом в 66 мегов.
хорошая вышла экономия :)

Комсомолец
20-05-2009, 13:46
Amigos, ну вот, к примеру, в папку docs AutoRun от BoaSoft кидает используемые им BMP. »
у меня он копирует эти папки и файлы. Как раз средствами аддона.
Объединять в одном аддоне такие разные задачи как "удаление ненужных файлов и папок", "копирование нужных файлов и папок", "добавление файлов мультизагрузчика" концептуально не верно, хотя вам, возможно, так и удобнее. »
аддон был сделан на основе другого адона, в котором была и есть такая функция. Потому и оставлена по причине "не помешает". И кроме вас никому вроде она не помешала....

SharkyEXE
21-05-2009, 18:33
Еще вопрос: пункт "Загрузка с HDD" загрузочного меню, на загрузочной картинке, где выбор варианта установки винды и/или программ отображаеться, загрузка вот эта, с хдд корректно со всеми дисками жесткими работает или есть исключения? В плане, не один жесткий диске в системе а несколько, или какие-либо варианты.

Habetdin
21-05-2009, 18:41
SharkyEXE, должна произойти загрузка с того диска, с которого ОС грузится :) (если не используется несколько ОС + какой-нибудь OS Selector)

SharkyEXE
21-05-2009, 18:51
SharkyEXE, должна произойти загрузка с того диска, с которого ОС грузится (если не используется несколько ОС + какой-нибудь OS Selector) »
А если вот будет несколько ОС или OS Selector то как поведет себя MultiLinux?

Комсомолец
22-05-2009, 04:49
SharkyEXE, это проверить только остается. скорее всего выдаст ошибку. хотя может быть и selector стартанет.

Alex_teater@
23-05-2009, 17:13
Комсомолец, огромное Вам спасибо. Ранше у мя с CD не ставилась винда, сейчас пишу любые CD балванки и со всех винда нормально ставиться. Возможно прост поменял CDIMAGE из вашего архива CDIMAGE.7z в ZZ_MultiLInux_Lite прост закинул CDIMAGE последнией версии и все пошло.Почему знаю прост больше ничего в папке ZZ_MultiLInux_Lite не переделывал, ну если тольк Winnt.sid и пару строчек в isolinux.cfg.

Комсомолец
24-05-2009, 04:52
Alex_teater@, сам столкнулся с проблемой утилитки. Потому и прикрепил архив. Пользуйтесь :)




© OSzone.net 2001-2012