Показать полную графическую версию : MultiBoot USB - Мультизагрузочная флешка v11.12.10 Final & Windows XPE/7PE
Jekson07
19-12-2011, 13:02
в чем преимущества загрузки Windows XPE USB WIM.ISO в развернутом виде? Время загрузки, занятая память, функциональность одинаковые. »Откуда такие данные? Покажите результаты тестов -> таблицы, графики и т.д. :)
Кстати, файл NTDETECT.COM из папки нужно вытаскивать в корень ручками, о чем в инструкции не сказано. »Если добавить на флешку Windows XPE с помощью утилиты PeToUSB (согласно инструкции пункт №3), вытаскивать и добавлять вручную ничего НЕ нужно, все необходимые файлы с копируются автоматически, в том числе и ntdetect.com (см. скриншот).
http://img442.imageshack.us/img442/9800/windowsxpeusbwim.jpg (http://imageshack.us/photo/my-images/442/windowsxpeusbwim.jpg/)
Откуда такие данные? Покажите результаты тестов -> таблицы, графики и т.д. »
Это даже не смешно. Словами поэта здесь надобно "... изменить направленье удара". Рекомендацию даете Вы. Вот и подтверждайте ее всеми прибамбасами включая методику испытаний. А мое дело, при наличии сомнений, повторить эксперимент и найти изъяны в методике.
Если добавить на флешку Windows XPE с помощью утилиты PeToUSB (согласно инструкции пункт №3), вытаскивать и добавлять вручную ничего НЕ нужно, все необходимые файлы с копируются автоматически, в том числе и ntdetect.com (см. скриншот). »
Здесь я пролетел, как фанера... поскольку не пользуюсь PeToUSB
Всем добрый день. В мультизагрузочную флешку хочу добавить Acronis BootCD Collection 2011 v1.3.1 Lite [2011, RUS].
В образе 2 папки:
1) \ Recovery Manager\ c файлами
agent_ramdisk.dat
bootmenu.bin
bootwiz.bin
cpp.so
f11.cfg
f11-grub.cfg
fox.so
graphapi.so
icu38.so
icudt38.so
kernel.dat
libc.so
libgcc_s.so
mouse.com
osfiles.so
resource.so
splash.run
threads.so
ti_boot.so
2) \SCSI_SATA_RAID_IDE_DriverPack\ с драйверами
Вариант:
title Acronis BootCD Collection 2011 v1.3.1 Lite [2011, RUS]
find --set-root /boot/Acronis.iso
map --mem /boot/Acronis.iso (hd32)
map --hook
chainloader (hd32)
не прокатывает - Error 28: Selected item cannot fit into memory.
Заранее благодарен за любую помощь.
AVVitas, какой размер образа и сколько памяти на компьютере. Запуск проводился на "живой" машине или виртуальной?
В батнике как сделать? »
В батнике наверное никак, а на vbs вполне возможно.
Надо получить PNPDeviceID = USBSTOR\DISK&VEN_KINGSTON&PROD_DT_101_G2&REV_1.00\001CC07D20B7FB10891912F6&0 устройства и из него с помощью хэш функции получить(выделенное) #7&6FFD6AB&RM# а все остальное взять как постоянное.(только для флешек)
Я делаю на автоите, вот сама функция преобразования.
#include <String.au3>
$sString='USBSTOR\DISK&VEN_KINGSTON&PROD_DT_101_G2&REV_1.00\001CC07D20B7FB10891912F6&0'
MsgBox(0,"",_HASH_UNI(StringUpper($sString)))
Func _HASH_UNI($sString)
Local $aArray = StringToASCIIArray($sString)
Local $iHash = 0
Local $tHash = DllStructCreate("uint")
For $i = 0 To UBound($aArray) - 1
DllStructSetData($tHash, 1, 37 * DllStructGetData($tHash, 1) + $aArray[$i])
Next
Local $tInt = DllStructCreate("int")
DllStructSetData($tInt, 1, 314159269 * DllStructGetData($tHash, 1))
$out = mod(abs(DllStructGetData($tInt, 1)),1000000007)
;Return Hex($out)
Return StringFormat("%X",$out)
EndFunc
AVVitas, какой размер образа и сколько памяти на компьютере. Запуск проводился на "живой" машине или виртуальной? »
Размер образа - 438 мб., запуск производился в режиме проверки посредством меню "WinSetup From USB"(на "живой" машине). Объем памяти - 2Гб.
sLiDeR-X
20-12-2011, 09:11
glax24, пробую запустить так: AutoIt3.exe USBSTOR.au3 - выдает ошибку (#include <String.au3>)
Как мне запустить? - Запустил, скачал с инета String.au3
А можно сделать что-то типо:
$sString= $CMDLINE[1]
и передавать строку в обработку из текстового документа?
Порядок такой:
1. Если XP, тогда запускаем мой скрипт (он смотрит в MountedDevices и берет строку) - он работает корректно.
2. Если 7, тогда смотрим в MountedDevices и берем строку, записываем ее в текстовик, меняем там "#" на "\", запускаем твой автоит-скрипт со ссылкой на текстовик, результат ДОПИСЫВАЕМ в этот же текстовик, потом 2 строку вставляем батником в migrate.
Давай так сделаем.
Ну или ты можешь все это сам сделать в автоите - респект тебе :)
Давай сделаем добро людям и себе ;)
Можем списаться в аське (в профиле) для оперативности
upd
Сделал пока так:
#include <String.au3>
$test = _GetPNPDeviceID($CMDLINE[1])
$sString=$test
FileWrite(@ScriptDir & "\USBSTOR.txt", _HASH_UNI(StringUpper($sString)) & @CRLF)
Func _GetPNPDeviceID($drive_letter)
Local $drive_letter_found, $drive_letter_found
$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$colItems = ""
$strComputer = "localhost"
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_LogicalDiskToPartition", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
If IsObj($colItems) Then
For $objItem In $colItems
$LogicalDiskToPartitionAntecedent = _StringBetween($objItem.Antecedent, '"', '"')
$LogicalDiskToPartitionDependent = _StringBetween($objItem.Dependent, '"', '"')
;ConsoleWrite(@CR & $LogicalDiskToPartitionAntecedent[0] & " - " & $LogicalDiskToPartitionDependent[0])
$drive_statistics = $LogicalDiskToPartitionAntecedent[0]
$drive_letter_found = $LogicalDiskToPartitionDependent[0]
If $drive_letter = $drive_letter_found Then
ExitLoop
EndIf
Next
Else
MsgBox(0, "WMI Output", "No WMI Objects Found for class: " & "Win32_LogicalDiskToPartition")
EndIf
If $drive_letter <> $drive_letter_found Then Return 0 ; If drive letter isn't function returns 0
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DiskDriveToDiskPartition", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
If IsObj($colItems) Then
For $objItem In $colItems
$DiskDriveToDiskPartitionAntecedent = _StringBetween($objItem.Antecedent, '"', '"')
$DiskDriveToDiskPartitionDependent = _StringBetween($objItem.Dependent, '"', '"')
;ConsoleWrite(@CR & $DiskDriveToDiskPartitionAntecedent[0] & " - " & $DiskDriveToDiskPartitionDependent[0])
$drive_statistics_found = $DiskDriveToDiskPartitionDependent[0]
$drive_physical = StringTrimLeft($DiskDriveToDiskPartitionAntecedent[0], StringInStr($DiskDriveToDiskPartitionAntecedent[0], "\", 1, -1))
;MsgBox(0,"TEST", $drive_physical)
If $drive_statistics = $drive_statistics_found Then
ExitLoop
EndIf
Next
Else
MsgBox(0, "WMI Output", "No WMI Objects Found for class: " & "Win32_DiskDriveToDiskPartition")
EndIf
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
If IsObj($colItems) Then
For $objItem In $colItems
;MsgBox(0,324234, $objItem.DeviceID)
$DeviceID = StringTrimLeft($objItem.DeviceID, StringInStr($objItem.DeviceID, "\", 1, -1))
$PNPDeviceID = $objItem.PNPDeviceID
;MsgBox(0,122, $DeviceID)
If $drive_physical = $DeviceID Then
Return $PNPDeviceID
EndIf
Next
Else
MsgBox(0, "WMI Output", "No WMI Objects Found for class: " & "Win32_DiskDrive")
EndIf
EndFunc
Func _HASH_UNI($sString)
Local $aArray = StringToASCIIArray($sString)
Local $iHash = 0
Local $tHash = DllStructCreate("uint")
For $i = 0 To UBound($aArray) - 1
DllStructSetData($tHash, 1, 37 * DllStructGetData($tHash, 1) + $aArray[$i])
Next
Local $tInt = DllStructCreate("int")
DllStructSetData($tInt, 1, 314159269 * DllStructGetData($tHash, 1))
$out = mod(abs(DllStructGetData($tInt, 1)),1000000007)
;Return Hex($out)
Return StringFormat("%X",$out)
EndFunc
Запускаю так:
AutoIt3.exe USBSTOR.au3 G:
В итоге в файле USBSTOR.txt записан хеш (в формате xp) для флешки :)
Только нужно перед каждой цифрой поставить 003, тогда будет формат для MIGRATE
IronWarrior
20-12-2011, 11:05
всем привет..
второй день мучусь с созданием мульти флешки..
делал все как в мане описано.. все замечательно скопировалось на флешку..
при старте с флешки комп загрузчик видит.. но..!!
1 меню стало на английском
2 что б не пробовал запускать выдает ошибку типа чайнлоадер не может найти файл..
хотя все файлы на флехе есть..
неужели проблема в том что флеха форматирована в нтфс..?
пс:
сам же и ответил... :)
переделал флеху под фат32 и все заработало...
sLiDeR-X, вот сделал проверь пока в графике (кнопка Create migrate.inf, в корне появится migrate.inf), если все правильно создается сделаю с запуском с параметрами.
Я проверял только для флешек. Надо еще разобраться по какому правилу создается migrate.inf для USB-HDD.
$strComputer = "localhost" »
И здесь "localhost" надо заменить на "." иначе каспер пишет что идет обращение к кеш DNS, возможно для скрытой отправки данных по сети.
Return StringFormat("%X",$out) »
Здесь недочет, возвращать надо в нижнем регистре Return StringFormat("%x",$out)
CreateMig_011.7z (http://narod.ru/disk/34941769001/CreateMig_011.7z.html)
sLiDeR-X
20-12-2011, 12:49
glax24, да, создается.
sLiDeR-X,
Вроде сделал консольный вариант, параметры запуска:
[Диск:] или [Диск:\] - создастся в корне диска
[Диск:\каталог] или [Диск:\каталог\] - создастся в каталоге, каталог должен существовать.
Осталось проверить и переходить к USB-HDD.
CreateMig_cmd_0114.7z (http://narod.ru/disk/35020224001/CreateMig_cmd_0114.7z.html)
sLiDeR-X
21-12-2011, 06:14
glax24, отлично! работает здорово!
А для HDD знаешь как создается запись в MountedDevices ?
sLiDeR-X, если есть возможность выложи migrate.inf созданный WinSetupFromUSB для HDD и моей прогой, посмотрим отличие.
sLiDeR-X
21-12-2011, 15:21
glax24, мой скрипт, который я выкладывал ранее (также есть в аттаче) при работе в XP идентичен WinSetupFromUSB.
USB-HDD определяется также, как и обычный HDD в MountedDevices
В архиве в папке 1 куст для одного USB-HDD, в папке 2 - для другого USB-HDD, разбитого на 2 раздела.
Devils0411
21-12-2011, 17:42
Ребят, я в замешательстве. Нужна ваша помощь
Схема такая:
Заменил оригинальный setup.ex_, который находится Флешка:\DISTRIB\i386 на .\MultiBoot USB\Files\winsetup\PyronSetup\i386\setup.ex_, поняв, что он (setup.ex_) запускает setup.cmd, который находится там же, я его подредактировал
set TAGFILE=\DISTRIB
а также добавил строку:
echo FLASHDRIVE %FLASHDRIVE% - srcpath %srcpath% >> %SystemRoot%\winsetup.log
echo FLASHDRIVE=%FLASHDRIVE% >> %SystemRoot%\FlashDetected.log
Также в папке Флешка:\DISTRIB\i386 находится фейковый setupwst.exe (http://forum.oszone.net/thread-119984.html)
После чего подправил Флешка:\DISTRIB\$OEM$\$$\System32\PreSetup.cmd
For /F "Tokens=2 Delims== " %%a In ('FindStr /IL "FLASHDRIVE" "%SystemRoot%\FlashDetected.log"') do set FLHDRIVE=%%a
%FLHDRIVE%\SOFT\Drivers\DrvUnPack.exe
По идее, данная схема должна была сработать. Т.е. на T40 запускается фейковый setup.exe, который передает управление setup.cmd. В свою очередь setup.cmd делает запись FLASHDRIVE=D: в файле %SystemRoot%\FlashDetected.log, после чего запускается другой фейковый setup.exe (который setup.cmd переименовал с setupwst.exe в setup.exe). Данный setup.exe подхватывает PreSetup.cmd после чего происходит считывание с FlashDetected.log и запуска DrvUnPack.exe
Но запуск DrvUnPack.exe не происходит. В чем проблема?
sLiDeR-X
21-12-2011, 18:43
Devils0411, а твой setupwst.exe является оригинальным установщиком или фейковым (например этим http://forum.oszone.net/thread-119984.html)?
Оригинальный не поддерживает запуск *.cmd файлов
Devils0411
21-12-2011, 18:47
sLiDeR-X, фейковый.
Devils0411
21-12-2011, 19:09
sLiDeR-X, Нашел, как вариант, монтировать флешку на системный раздел
@Echo off
for /f "tokens=* delims=: " %%? in ('mountvol.exe ^|find "\\?"') do (
set volume=%%?
)
md %systemdrive%\Flash
mountvol %systemdrive%\Flash %volume%
Правда насколько это рабочее, пока не знаю. Завтра проверю.
sLiDeR-X
21-12-2011, 19:10
Devils0411, попробуй перед строкой %FLHDRIVE%\SOFT\Drivers\DrvUnPack.exe вставить start, либо start /wait
Invader_Zim
21-12-2011, 19:48
всем привет
хочу отчитаться, пытался сделать загрузочную флэшку с антивирусами(как минимум каспера и веба) при попытке загрузки др веба выдаёт такое сообщение:
>>> Load module : jfs
BusyBox v.1.15.3 (2010-06-04 10:53:49) built-in shell (ash)
Enter 'help' for a list of built-in commands.
/bin/sh: can't access tty; job control turned off
подумал что неправильно создал флэшку, раз десять переделывал и редактировал файлы, брал другую флэшку, в конечном итоге просто решил сделать флэшку с одним др вэбом (скачал файл с офф сайта), однако и после этого появлялась всё та же ошибка.
в конечном итоге полез на форум вэба и увидел что я не одинок, у юзеров подобные проблему ещё с января этого года, вариантов решения проблемы я так и не увидел
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.