Модератор
Сообщения: 8276
Благодарности: 2855
|
Профиль
|
Отправить PM
| Цитировать
Проект мне понравился, удивлён что он так малопопулярен, я пошарившись по торрентам, не нашел ни одной сборки-заливки на его основе.
Возможно, это вызвано недостатком информации про пантера, или сложностью (а иногда и некорректностью) её изложения
сейчас попробую написать мини ФАК по пантеру.
Что это такое?
читать дальше »
это проект по созданию заливки и разворачиванию её на целевых компах.
Чем он хорош и чем плох?
читать дальше »
хорош он тем, что в процессе развёртывания (WIM файл образа раскатывается на раздел) используется самочевидный и понятный инсталятор выдернутый (переделанный?) из дистрибутива Longhorn (это так называлась Vista в девичестве).
скриншот. Даже прапорщик поймёт, что тут нужно нажать
А плох он во всём остальном. Проект крайне запутан. Я верю, что если четко следовать инструкции, ни на шаг от неё не отступая, то можно создать работоспособную заливку. Но чтобы попытаться переделать её по своему, нужно понимать как она работает. А вот с этим прямо беда.
Непонятен сам принцип построения, непонятно почему после заливки при первом запуске вносятся какие-то изменения в винду (видно из видео из шапки) - устанавливаются обновления, вносятся твики, разве нельзя их было внести до снятия слепка с прототипа?
Как и во многих других проектах в пантере используются батники.
Но их батники просто чудовищны.
для создания iso нужна команда
cdimage.exe "C:\PantherXP\panther_template\[ROOT]" -l"XP5657VL_PANTHER" -b"C:\PantherXP\panther_template\[ROOT]\boot\bootsect.bin" "C:\PantherXP\ISO\en_xpsp3_5657_x86_vl_lb1-panther.iso" -h -o -m -j1
нормальный человек запишет её в батник из одной строчки (ну можно ещё добавить Pause), создатели пантера пишут 2 килобайтный батник забитый свистелками и перделками, там и переименование старого ISO есть, и подсчет MD5 суммы. Для того кто пользуется этим "как есть" это не важно, ну а если возникнет нужда в переделке, в этих дребях можно утонуть.
А как же тогда готовить к систему к клонированию?
читать дальше »
А вот по этому рецепту Инструменты для клонирования (развертывание из образа) Windows XP от Boa Soft.
Там всё просто и понятно. У меня всё запустилось с первого раза. Со второго я уже начал переделку под себя.
Пантеровский разворачиватель будет использоваться вот в этом месте
читать дальше »
Цитата:
Использование:
1. распаковать папку SYSPREP в корень диска с. Снять клон с других дисков не выйдет
- это ограничение sysprep от ms - просто тихо угробите систему.
2. Все нстановить и настроить. Назад возврата не будет!
3. Запустить из папки sysprep\MSTDRV скрипт getdrv-runfirst.cmd. будет созданн набор для
интеграции драйверов устройств массового хранения, не входящих в поставки виндовс.
Новая версия утилиты Mr.dUSHA решает проблему сдубликатами имен.
4. Запустить !PREPARE.CMD.
5. Выключаем и клонируем.
6. Развертываем любым способом.
7. В папку C:\D помщаем папки с распакованными драйверами из паков Башрата или своими.
8. При пользовании сжатых пакетов делаем следующее:
Просто поместите все пакеты 7z в папку ZIPDRV
В MyFactory.ini разкомментируте следующее:
OemDirName =SYSPREP\ZIPDRV
UnzipDirName =%SystemDrive%
Внимание! Скорее всего, все диски кроме C и CD-ROM будут еще не доступны на этом этапе!
Тут не так, как при обычной автоустановке!
Этот вопрос пока рассматиривается.
9. Стартуем клон. После установки автоматом заменется загрузчик с лонгхорнового на родной.
Если на первом этапе очень долго висим, то, возможно, попался кривой драйвер. Жмем shift-F11 и программа закрывается.
Происходит логон и, даллее, вручную ставим дравера. Надо только обязательно обновить драйвера контроллера жеского диска.
Если все хорошо, то после перезагрузки доставляем вручную то, что не поставилось и все проверяем.
|
Как работает ISO, собранная из стандартного пантера?
читать дальше »
Этот iso состоит из двух почти независимых частей.
1 микро версия windows которая распаковывается на RAM диск и запускается с него, лежит c:\PantherXP\panther_template\[ROOT]\sources\winpe.wim
2 после запуска эта windows запускает c:\PantherXP\panther_template\[ROOT]\sources\setup.exe , по умолчанию это пантер, но при запуске не проверяется что там лежит, и поэтому можно заменить setup.exe на что-нибудь другое, например Autorun, из которого можно запускать пантера и другие программы.
Если хотите самостоятельно посмотреть как оно устроено, сделайте следующее.
1 перенесите все файлы из папки Sourse, кроме winpe.wim в любую папку на диске (но в имени не должно быть пробелов!), я поместил в c:\PantherXP\panther_template\[ROOT]\my_panther\
2 в почти пустую папку sources положите уже установленную портативную версию TotalCommander (подойдёт любой файловый менеджер), скопируйте TOTALCMD.exe в setup.exe
теперь при запуске с этого ISO запускается тотал командер, им можно смотреть, копировать файлы, запускать Ximage и пантера и смотреть на диске результаты их трудов. После закрытия этого файлового менеджера микро-Windows перезагружается.
При тестировании пантера помните, он в конце работы тоже перезагружает микро-Windows. Если это нежелательно запускайте с ключом /noreboot
setup.exe /noreboot
для получения "портабельного" пантера нужно к ему в папку положить xmlrw.dll xmlrx.dll , они есть в c:\PantherXP\panther_template\[ROOT]\support\service\svcres\
Чем пантер лучше/хуже других средств разворачивания образов (Acronis TI, MS ImageX)?
читать дальше »
Лучше он тем, что позволяет пользоваться собой неподготовленому пользователю, для подготовленного пользователя разница небольшая, нажать одну кнопку в пантере или несколько десятков в Acronis TI, но стоит только представить, какой подробный мануал "нажмите на кнопку далее, ...." нужно написать для пользования этим новичком, становится страшно.
Ну а хуже он тем, что он не просто "разворачиватель образов", он - инсталятор и после развертывания он лезет в развёрнутую систему и кое-что там меняет. Это плохо. Система в образе уже готова для развёртывания и дополнительное вмешательство пантера (который был изначально заточен под разворачивание Vist'ы а никак не XP) крайне не желательно.
Увы полностью избавится от вмешательсьва пантера не получилось, но покрайней мере я раскажу как откатить изменения, вносимые пантером
Что же меняет пантер в процессе развертывания?
читать дальше »
Вот список файлов, которые пантер модифицирует после извлечения из образа
Цитата:
boot.ini
WINDOWS\system32\config\default
WINDOWS\system32\config\SAM
WINDOWS\system32\config\SECURITY
WINDOWS\system32\config\software
WINDOWS\system32\config\system
WINDOWS\system32\config\default.LOG
WINDOWS\system32\config\SAM.LOG
WINDOWS\system32\config\SECURITY.LOG
WINDOWS\system32\config\software.LOG
WINDOWS\system32\config\system.LOG
Documents and Settings\User\NTUSER.DAT
Documents and Settings\User\ntuser.dat.LOG
Documents and Settings\User\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat
Documents and Settings\User\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat.LOG
Documents and Settings\NetworkService\NTUSER.DAT
Documents and Settings\NetworkService\ntuser.dat.LOG
Documents and Settings\NetworkService\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat
Documents and Settings\NetworkService\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat.LOG
Documents and Settings\LocalService\NTUSER.DAT
Documents and Settings\LocalService\ntuser.dat.LOG
|
Где Documents and Settings\User профиль единственного пользователя, созданного до клонирования. Если пользователей несколько (например при выполненном логине под встроенной учеткой администратора будет создан и его профиль) то возможно, и их файлы реестра будут модифицироватся.
видно, что модифицируются файлы реестра, скорее всего туда вносятся записи из unattend.xml про то, на кого windows зарегистрированна, и имя компьютера.
Цитата:
<userdata>
<Fullname value="Admin"/>
<Organization value="WS Pro"/>
<ComputerName value="WinXP_2010" showui="no"/>
|
Если бы была 100% уверенность, что ничего другого пантер в развертываемую систему не вносит, то на это можно было бы и забить, вбив в unattend.xml нужные вам данные. Но у меня этой уверенности нет, поэтому я эти файлы после работы пантера восстанавливаю в исходное состояние.
ещё интереснее модификация пантером boot.ini
вот какой он в wim образе
Цитата:
[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional RU" /fastdetect /noexecute=alvaysoff /detecthal
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="1.Standart PC" /fastdetect /noexecute=alvaysoff /hal=halstd.dll /kernel=ntkrnlst.exe
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="2.ACPI PC" /fastdetect /noexecute=alvaysoff /hal=halacpi.dll /kernel=ntkrnlst.exe
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="3.ACPI Uniprocessor PC" /fastdetect /noexecute=alvaysoff /hal=halaacpi.dll /kernel=ntkrnlst.exe
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="4.ACPI Multiprocessor PC" /fastdetect /noexecute=alvaysoff /hal=halmacpi.dll /kernel=ntkrnlmp.exe
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="5.Uniprocessor PC with MPS" /fastdetect /noexecute=alvaysoff /hal=halapic.dll /kernel=ntkrnlst.exe
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="6.Multiprocessor PC with MPS" /fastdetect /noexecute=alvaysoff /hal=halmps.dll /kernel=ntkrnlmp.exe
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Safe mode boot" /fastdetect /noexecute=alvaysoff /safeboot:minimal /sos /bootlog /noguiboot
|
все эти варианты нужны для первой загрузки заливки, когда она ещё отдетектила количество ядер и HAL, в случае если дефолтно стандартный вариант multi(0)disk(0)rdisk(0)partition(1)\WINDOWS "не взлетает". Это такой "запасной аэродром". На практике мне пользоватся им не доводилось, но его наличие греет душу.
пантер все эти варианты заменяет своим
Цитата:
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows Longhorn" /FASTDETECT /DETECTHAL
|
собсвенно /DETECTHAL был бы эквивалентен ручному перебору ядер из предыдущего boot.ini, если бы мы разворачивали Vist'у. А загрузчик XP /DETECTHAL не понимает и игнорирует. То есть оставляя отредактированный пантером boot.ini мы лишаемся запасного аэродрома. Если
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows Longhorn" /FASTDETECT /DETECTHAL
не взлетит то...
вообщем эту модификацию boot.ini однозначно нужно откатывать.
кроме этого, пантер создаёт папки в корне диска C:\
$WINDOWS.~BT (c логами установки) и
$WINDOWS.~LS (пустую)
И что, нельзя без этих изменений?
читать дальше »
Увы, как сделать так, чтобы пантер не добавлял отсебятинки в развертываемый образ, я не знаю.
Возможно есть какие-то хитрые параметры в unattend.xml, или хак самого пантеровского setup.exe, которые позволяют это сделать, но широуой общественности они не известны
зато есть решение более простое. Так как файлы в которые модифицирует пантер нам известны, то можно их забэкапить до снятия образа imageX'ом а потом восстановить после разворачивания пантером.
вот, в качестве примера батник - бэкапер, который копирует нужные файлы с сохранением структуры каталогов в папку C:\bacup
читать дальше »
Цитата:
rd /s /q bacup
md bacup
attrib -H -S boot.ini
copy /y boot.ini bacup\*.*
md bacup\WINDOWS\system32\config
copy /y WINDOWS\system32\config\default bacup\WINDOWS\system32\config\default
copy /y WINDOWS\system32\config\SAM bacup\WINDOWS\system32\config\SAM
copy /y WINDOWS\system32\config\SECURITY bacup\WINDOWS\system32\config\SECURITY
copy /y WINDOWS\system32\config\software bacup\WINDOWS\system32\config\software
copy /y WINDOWS\system32\config\system bacup\WINDOWS\system32\config\system
attrib -H -S WINDOWS\system32\config\default.LOG
attrib -H -S WINDOWS\system32\config\SAM.LOG
attrib -H -S WINDOWS\system32\config\SECURITY.LOG
attrib -H -S WINDOWS\system32\config\software.LOG
attrib -H -S WINDOWS\system32\config\system.LOG
copy /y WINDOWS\system32\config\default.LOG bacup\WINDOWS\system32\config\default.LOG
copy /y WINDOWS\system32\config\SAM.LOG bacup\WINDOWS\system32\config\SAM.LOG
copy /y WINDOWS\system32\config\SECURITY.LOG bacup\WINDOWS\system32\config\SECURITY.LOG
copy /y WINDOWS\system32\config\software.LOG bacup\WINDOWS\system32\config\software.LOG
copy /y WINDOWS\system32\config\system.LOG bacup\WINDOWS\system32\config\system.LOG
md "bacup\Documents and Settings\LocalService"
attrib -H -S "Documents and Settings\LocalService\NTUSER.DAT"
attrib -H -S "Documents and Settings\LocalService\ntuser.dat.LOG"
copy /y "Documents and Settings\LocalService\NTUSER.DAT" "bacup\Documents and Settings\LocalService\NTUSER.DAT"
copy /y "Documents and Settings\LocalService\ntuser.dat.LOG" "bacup\Documents and Settings\LocalService\ntuser.dat.LOG"
md "bacup\Documents and Settings\NetworkService\Local Settings\Application Data\Microsoft\Windows"
attrib -H -S "Documents and Settings\NetworkService\NTUSER.DAT"
attrib -H -S "Documents and Settings\NetworkService\ntuser.dat.LOG"
attrib -H -S "Documents and Settings\NetworkService\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat"
attrib -H -S "Documents and Settings\NetworkService\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat.LOG"
copy /y "Documents and Settings\NetworkService\NTUSER.DAT" "bacup\Documents and Settings\NetworkService\NTUSER.DAT"
copy /y "Documents and Settings\NetworkService\ntuser.dat.LOG" "bacup\Documents and Settings\NetworkService\ntuser.dat.LOG"
copy /y "Documents and Settings\NetworkService\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat" "bacup\Documents and Settings\NetworkService\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat"
copy /y "Documents and Settings\NetworkService\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat.LOG" "bacup\Documents and Settings\NetworkService\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat.LOG"
set profile=User
md "bacup\Documents and Settings\%profile%\Local Settings\Application Data\Microsoft\Windows"
attrib -H -S "Documents and Settings\%profile%\NTUSER.DAT"
attrib -H -S "Documents and Settings\%profile%\ntuser.dat.LOG"
attrib -H -S "Documents and Settings\%profile%\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat"
attrib -H -S "Documents and Settings\%profile%\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat.LOG"
copy /y "Documents and Settings\%profile%\NTUSER.DAT" "bacup\Documents and Settings\%profile%\NTUSER.DAT"
copy /y "Documents and Settings\%profile%\ntuser.dat.LOG" "bacup\Documents and Settings\%profile%\ntuser.dat.LOG"
copy /y "Documents and Settings\%profile%\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat" "bacup\Documents and Settings\%profile%\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat"
copy /y "Documents and Settings\%profile%\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat.LOG" "bacup\Documents and Settings\%profile%\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat.LOG"
pause
|
обратите внимание на выделенную строчку. С этим батником есть одна заковырка.
строчки типа
copy /y "Documents and Settings\ %USERNAME%\чего то там"
работают из-под Windows, подвергающейся клонированию, в ней переменная %USERNAME% может определить профиль текущего пользователя. А вот из под WinPE это не прокатит, %USERNAME% будет показывать пальцем в небо, а не на профиль текущего пользователя при клонировании
Но копировать нужно файлы активного реестра, что под Windows, подвергающейся клонированию сделать нельзя, нужно делать из под WinPE которая ничего не знает про профиль текущего пользователя при клонировании.
Что бы не править ручками строчку set profile=User я разделил батник на 2 части и назвал их Bacup-files.txt и Bacup-files2.txt, а в !PREPARE.CMD дописал команды на создание из них итогового батника
Цитата:
echo %USERNAME% >>Bacup-files.txt
copy /A Bacup-files.txt + Bacup-files2.txt C:\Bacup-files.cmd
|
кроме того в конец батника я добавил строчки, которые создают SFX архив из всех файлов из папки c:\bacup который автоматически восстанавливает эти забекапленные файлы.
Цитата:
cd bacup
c:\sysprep\7zr.exe a -mx=5 -r0 tmprest.7z .
COPY /b c:\sysprep\tmprest.sfx + tmprest.7z c:\tmprest.exe
cd ..
rd /s /q bacup
pause
|
всё необходимое для добавления в папку c:\sysprep из комплекта My_sysrep от Boa Soft, а именно файлы
7zr.exe
Bacup-files.txt
Bacup-files2.txt
tmprest.sfx
лежит в приаттаченном архиве Addition for MySysRep by BoaSoft.7z
Последовательность действий получается следующая. - При подготовке Windows клонированию файлом c:\sysprep\!PREPARE.CMD среди всего прочего создаётся бэкаперный скрипт C:\Bacup-files.cmd
- При загрузке с WinPE до снятия образа запускается C:\Bacup-files.cmd, который бэкапит файлы, которые потом модифицирует пантер, и делает из них SFX - востанавливатель c:\tmprest.exe
- Снимается образ при помощи ImageX, c:\tmprest.exe оказывается внутри этого образа
- При разворачивании заливки из образа, нужно запустить c:\tmprest.exe для востановления изменённых пантером файлов, после работы самого пантера.
проще всего для этого запускать пантер примерно вот таким батником
Цитата:
setup.exe /noreboot
if exist C:\tmprest.exe C:\tmprest.exe
if exist C:\tmprest.exe del /Q C:\tmprest.exe
nircmdc.exe exitwin reboot
|
где nircmdc.exe — консольная версия NirCMD, брошенная в каталог с пантером для того, чтобы в конце перегрузить комп.
А можно это всё загружать с флешки?
читать дальше »
Натюрлих! Напрямую осуществить RAM загрузку из c:\PantherXP\panther_template\[ROOT]\sources\winpe.wim у меня не получилось из-за некоторых его нестандартностей, но вы можете попытатся это осуществить самостоятельно.
Поэтому от RAM загрузки пришлось отказаться и заменить её обычной WinPE загрузкой.
для этого распаковываем sources\winpe.wim , получаем примерно такую структуру папок переименовываем папку boot в minint и копируем в корень флешки.
в menu.lst добавляем что то вроде
Цитата:
title WinPE Panther Edition
find --set-root /minint/SETUPLDR.BIN
chainloader /minint/SETUPLDR.BIN
|
не забываем кинуть в корень флешки папку sourse в которой должен быть файл setup.exe , который будет использован в качестве оболочки. Это необязательно должен быть сам пантер, может быть какой-нибудь AutoRun или Total Commander. Если файла sources\setup.exe на флешке не окажется, то запустится factory.exe, который после проведения своих манипуляций предложит выключить комп Сменив тип загрузки с WIM на обычный, вы с одной стороны получите проигрыш в скорости загрузки, но с другой стороны память будет использоватся более экономно.
В качестве примера WIM зарузка с CD , в памяти только totalcmd и taskmng , свободно 903 мегабайта из гигабайта RAM
а теперь прямая загрузка, без wim с флешки, в памяти только totalcmd и taskmng, свободно 913 мегабайта из гигабайта RAM
10 мегабайт экономии дело невеликое, но душу греют
Ещё одна фича при такой загрузке - на флешке создаются временные папки
Documents and Settings\
idwlog\
после работы их можно удалить, а можно и оставить
вопросы на которые ответы писать лень:
А можно использовать другие WinPE для загрузки и запуска Panther ?
Как добавить загрузку Panther на DVD с isolinux ?
Как решить проблему "кракозябр" в программах, запущенных из-под PantherPE ?
|