zxen писал(а): |
Не совсем понял.. только на этой флешке или вообще, всегда так происходит ? |
Только на этой, где была FAT16.
zxen писал(а): |
Если система выше ХР, то программа использует diskpart, команды ,после работы программы, остаются в темпе, в файле dp.sc. Если XP, то это делает бутайс. Помимо форматирования, в обоих случаях, делается repartition. Поэтому странно как то все.. И какая система кстати ? |
Сразу скажу, что у меня всё получилось после тройной команды clean в diskpart. Из-за того что флешка через секунду становилась недоступной ни в какой темп я заглянуть не мог, увы, он просто не мог уцелеть. Тут похоже такая же бодяга как и с PuppyRUS - как-будто операции иногда просто пропускаются(срываются), чертовщина какая-то. Отключал всё стороннее - без толку. Система 7x86, буду условно считать что глючная (ставил лет 5 назад, хотя и не сборку вроде), пока не испытаю на других ПК. В любом случае спасибо за информацию по отладке, теперь буду знать.
zxen писал(а): |
P.S. А разве ERDC5 таким способом грузится ? map /ERDC/ERD5X86.iso (0xff) || map --mem /ERDC/ERD5X86.iso (0xff) map --hook chainloader (0xff)
Помнится, там надо было еще firadisk приплетать..
|
Оказалось, что да. В принципе можно и приплести(чтоб наверняка) или сделать отдельный пункт, для тех, у кого не грузит.
Ладно, о проблемах выше писать больше не буду, пока не проверю на других ПК.
А теперь минутка НЕНАВИСТИ...
Ещё с версий 1.x мне не удавалось записать XP(оригинальный VL образ), ни с распаковкой, ни без, потому по-старинке пользовался WinSetupFromUSB. Шло время, появились плагины и какая-никакая надежда. И вот неделю назад понадобилась XP с драйверами. Решил попробовать
Simplix. На первом этапе во время копирования установщик радостно сообщил что не может найти всякие
clock.avi,
nhelper.exe и ещё десяток-другой файлов. Ну, думаю, может это из-за глюклайта. Взял
дистрибутив, где обещано, что обошлись при сборке без него(кстати самая популярная сборка XP, если судить по количеству сидов). Опять 25 и те же файлы. Стало грустно: уже две наиболее известные сборки не работают ни в какую. Я встал и ушёл ремейки делать. Точнее очередной ремейк плагина, но на этот раз по-серьёзнее.
Чувствуя, что всё будет не слишком просто, решил вынести "логику" в
script.cmd. Однако ничего нормально не работало. Есои в секции
[Execute] указать просто
script.cmd, чтобы он искал его в папке
Files(где он собственно и находится) - программа его
не видит и потому просто зависает на время и переходит к выполнению следующей секции. Поэтому пришлось использовать форму
$pl\Files\script.cmd. Но и тут не без сюрпризов:
ВНЕЗАПНО выяснилось, что относительно программы скрипт не только ищется, но и
выполняется! Т.е. рабочая среда скрипта - директория программы(
$pf), а не плагина(
$pl). Потому приходится передавать в аргументы скрипта
$pl, чтобы скрипт хотя бы знал, где сам физически находится.
Далее предстояло понять, откуда растут ноги у ошибок установки. Оказалось, что из
TXTSETUP.SIF растут. Причём по личным наблюдениям он отличается даже между оригинальными образами и не только пробелами, но и наборами файлов и прочим(в зависимости от интегрированных обновлений). Универсальным его не сделаешь, зато можно модифицировать. Задача несложная, вот только с инструментами беда: любой парсер для обычных INI-файлов из предложенных в инете превращает его в нерабочий фарш. В Windows Server 2003 существует
iniman.exe - обёртка для одной процедуры из
kernel32.dll. Ей очень просто править INI-подобные файлы. Собирать ISO решил с помощью
CDIMAGE.EXE(утилита кажется ещё из двухтысячной винды).
Чтобы первый этап установки заработал, помимо подмены
SetupSourcePath и
BootPath необходимо добавить (если нету)
SetupSourceDevice и
BootDevice, иначе установка валится в самом начале, не понимая где флешка с директорией I386. Т.к. TXTSETUP.SIF используется родной, из образа, то ошибки отсутствующих файлов также исчезают. Подстава подстав заключалась в старте второго этапа: после загрузки синий фон установщика висел секунд 10 и машина уходила в ребут по-английски. Не было лога от
setup.cmd, что навело на мысль о его отстутствии. Оказалось, что его,
setupwst.exe и
mnt.exe необходимо включать в список копируемых на первом этапе компонентов.
И тут подвёл iniman.exe. Работает он замечательно, но обёртка галимая: использует в качестве разделителя точку, что просто не даёт изменять или добавлять ключи содержащие её, т.е. имена необходимых файлов. И как назло, ту процедуру нельзя просто вызвать с помощью
rundll32. Пришлось на C# написать свою обёртку -
SetupInjector. Вот так и прошли пять вечеров. Признаться я давно так не матюгался. Не совсем уверен, но возможно лимит в 10 установок здесь не актуален. Пробовал ставить как обычным способом, так и на старый комп через PLOP, записанный на CD. Кстати, в ходе испытаний с двумя жёсткими дисками убил себе загрузчик из-за неправильно выставленного приоритета дисков. Возможно от таких казусов может избавить костыль наподобие
shifthd.bat из WinSetupFromUSB. В общем пишите, может я лоханулся где или ещё что.
З.Ы. Файлы firadisk тоже подключены, хотя и не знаю - нужно ли. Также не знаю, есть ли смысл обновлять
MIGRATE.INF (генерированный несколько отличается от того, что в
Files\I386.