![]() |
При первом старте 8.1 не удается найти файл сценариев
Здравствуйте.
Пытаюсь восстановить предустановленную Win 8.1 из файла WIM на ноутбуке НР. Винда после развертывания образа на системный диск начала первый запуск установки. Появляется приветствие Administrator Добро пожаловать и На этапе настройки компонентов Prepare system вылезает окно Windows Script Host с сообщением Не удается найти файл сценария "c:\System.sav\Util\TDCTWKs\HideCMD.vbs //именно "с:" с маленькой буквы! Закрываю его, появляется второе окно: "c:\System.sav\Util\TDCTWKs\HideEXE.vbs" Закрываю его, идет перезагрузка и все по новой, но уже вторым этапом - потом на этапе Customize software Checking AC Power. В итоге оканчивается окном Установка Windows Не удалось выполнить синтаксический разбор или обработку файла ответов для автоматической установки [C:Windows\panther\unattend.xml] при проходе [auditUser]. Параметры, указанные в файле ответов, не могут быть применены. Ошибка при обработке параметров для компонента [Microsoft-Windows-Deployment] Потом перезагрузка с сообщением Не удалось завершить процесс установки. Чтобы установить Windows, перезапустите программу установки. Перезагрузка с тем же сообщением. На диске такой папки нет. Нашел информацию: The system.sav folder is specific to Compaq/HP systems. As there are differences in the restore procedure in different models of Compaq/HP systems, it's best advisable to refer the user manual to know if those folders can be deleted. In mosts cases, you should not, unless you're 100% sure that you possess the OEM Restore CD (different from a OEM Recovery CD). Having said that, please contact the OEM support for more accurate information in this regard. Как отключить выполнения этих сценариев (если без них можно обойтись в данном случае), или может, где их добыть (всю папку)? |
Хочу добавить, что WIM я собрал из SWM, которые были нарезаны на болванки, там были и другие папки, которые не вошли в образ, я пошарился в них, но указанных скриптов в них нет. Нашел только скрипт RunCMD.vbs. Его содержание:
const CONSOLE_HIDE=0 const CONSOLE_SHOW=1 const CMD_WAIT=true 'check args set oArgs = wscript.arguments if oArgs.count <> 1 then wscript.echo "Error args !!" wscript.quit 1 end if StrCommandLine = oArgs(0) set oShell = wscript.createObject("WScript.Shell") set oFS = wscript.createObject("Scripting.FileSystemObject") oShell.run "cmd /c " & StrCommandLine, CONSOLE_HIDE, CMD_WAIT Эти скрипты строго специфичны для каждой модели или более-менее универсальны среди линеек НР/Компак ? |
Цитата:
|
Что будет исполняться, это ясно, вопрос, нужны ли они. Где их взять. Прошелся по всем оставшимся WIM-файлам, нашел почти пустую папку System, в которой всего один файл flags. Никаких /TDCTWKs и в помине нет. Как же он образуется в процессе нормального развертывания системы с DVD ?
|
Цитата:
|
Окей, выкачаю - попробую, спасибо.
А пока я тут нашел сценарий развертывания. Скрытый текст
@ECHO OFF
REM FILE : PBR.cmd REM VERSION: 2013-05-16 REM CYCLE : 2C14, 2014 REM USAGE : PBR.cmd REM ==================================================== REM Setting Required Variable REM ==================================================== SET CRM.ERR.NUM=0 SET CRM.ERR.MSG=NO ERROR DURING %~n0 PROCESSING SET CRM.ESP.DrvLetter=P: SET CRM.IP.DrvLetter=I: SET CRM.WorkDir=%~dp0 SET CRM.WorkDrvLetter=%~d0 SET CRM.PostRM=\system.sav\util\PostRM\ SET CRM.PBR.TOOLPATH=%CRM.WorkDir%Tools\ SET CRM.PBR.Argu=%1 SET CRM.FLAG.Recovery=%CRM.UP.DrvLetter%%CRM.FLAG.UPPath%RImage.flg SET CRM.FLAG.Reset=%CRM.UP.DrvLetter%%CRM.FLAG.UPPath%PBRReset.flg SET CRM.FLAG.Refresh=%CRM.UP.DrvLetter%%CRM.FLAG.UPPath%PBRRefresh.flg SET CRM.FLAG.BareMetal=%CRM.UP.DrvLetter%%CRM.FLAG.UPPath%PBRBareMetal.flg SET CRM.FLAG.PBR=%CRM.UP.DrvLetter%%CRM.FLAG.UPPath%PBR.flg SET CRM.ESP.WIM=%CRM.WorkDir%ESP.wim SET CRM.ESP.LABEL=SYSTEM SET CRM.ESP.FS=FAT32 SET CRM.ESP.GUID=c12a7328-f81f-11d2-ba4b-00a0c93ec93b SET CRM.ESP.RESTOREINDEX=1 SET CRM.BP.WIM=%CRM.WorkDir%build.wim SET CRM.BP.DrvLetter=B: SET CRM.BP.RESTOREINDEX=1 SET CRM.UP.WIM=%CRM.WorkDir%install*.swm SET CRM.RESERVE.PATH=%CRM.WorkDir%RM_Reserve\ IF "%CRM.PBR.Argu%"=="A" ( GOTO REFRESH_A ) IF "%CRM.PBR.Argu%"=="B" ( GOTO REFRESH_B ) IF "%CRM.PBR.Argu%"=="C" ( GOTO RESET_C ) IF "%CRM.PBR.Argu%"=="D" ( GOTO RESET_D ) REM ==================================================== REM PBR Refresh REM ==================================================== :REFRESH_A GOTO END :REFRESH_B ECHO [%TIME%][%~nx0] PBR Refresh SET CRM.TMP=%CRM.FLAG.Refresh% CALL :CreateFolder "%CRM.TMP%" ECHO %CRM.PBR.Argu% >> %CRM.TMP% IF EXIST %CRM.TMP% ( ECHO [%TIME%][%~nx0] Created Flag : %CRM.TMP% ) GOTO POST_PBR REM ==================================================== REM PBR Reset REM ==================================================== :RESET_C ECHO [%TIME%][%~nx0] PBR Reset - C GOTO END :RESET_D ECHO [%TIME%][%~nx0] PBR Reset - D REM ---------------------- REM ASSIGN ESP DRIVE LETTER REM ---------------------- ECHO [%time%][%~nx0] Assign ESP Drive Letter SET CRM.TMP.GUID=%CRM.ESP.GUID% SET CRM.TMP.DrvLetter=%CRM.ESP.DrvLetter% SET CRM.TMP.LOG=%CRM.UP.DrvLetter%%CRM.RM.LOG.UPPath% ECHO [%time%][%~nx0] CMD.EXE /C "%CRM.PBR.TOOLPATH%AssignDrvLetterByGUID.cmd" %CRM.TMP.GUID% %CRM.TMP.DrvLetter% %CRM.TMP.LOG% CMD.EXE /C "%CRM.PBR.TOOLPATH%AssignDrvLetterByGUID.cmd" %CRM.TMP.GUID% %CRM.TMP.DrvLetter% %CRM.TMP.LOG% REM ---------------------- REM Check Reset or Bare Metal REM ---------------------- SET CRM.TMP=%CRM.ESP.DrvLetter%\EFI\ IF NOT EXIST %CRM.TMP% ( ECHO [%time%][%~nx0] NOT Found %CRM.TMP% , DO PBR BARE METAL ECHO [%TIME%][%~nx0] Create Flag CALL :CreateFolder "%CRM.FLAG.BareMetal%" ECHO [%TIME%][%~nx0] >> %CRM.FLAG.BareMetal% GOTO R_BREAEMETAL ) :R_RESET ECHO [%TIME%][%~nx0] Create Reset Flag SET CRM.TMP=%CRM.FLAG.Reset% CALL :CreateFolder "%CRM.TMP%" ECHO %CRM.PBR.Argu% >> %CRM.TMP% IF EXIST %CRM.TMP% ( ECHO [%TIME%][%~nx0] Created Flag : %CRM.TMP% ) REM ---------------------- REM Restore ESP : FORMAT ESP REM ---------------------- SET CRM.FILE1=%CRM.ESP.DrvLetter%\EFI\Microsoft\Boot\BCD SET CRM.FILE2=%CRM.ESP.DrvLetter%\EFI\Microsoft\Boot\bootmgfw.efi IF EXIST %CRM.FILE1% ( IF EXIST %CRM.FILE2% ( ECHO [%time%][%~nx0] Found %CRM.FILE1% and %CRM.FILE2% GOTO RESTORE_ESPWIM ) ) ECHO [%time%][%~nx0] Can't Found %CRM.FILE1% and %CRM.FILE2%, Format ESP REM ---------------------- REM Restore ESP : FORMAT ESP REM ---------------------- ECHO [%time%][%~nx0] FORMAT ESP SET CRM.TMP.DrvLetter=%CRM.ESP.DrvLetter% SET CRM.TMP.FS=%CRM.ESP.FS% SET CRM.TMP.LABEL=%CRM.ESP.LABEL% SET CRM.TMP.LOG=%CRM.UP.DrvLetter%%CRM.RM.LOG.UPPath% ECHO [%time%][%~nx0] CSCRIPT /NOLOGO "%CRM.PBR.TOOLPATH%FormatVol.vbs" %CRM.TMP.DrvLetter% %CRM.TMP.FS% %CRM.TMP.LABEL% %CRM.TMP.LOG% CSCRIPT /NOLOGO "%CRM.PBR.TOOLPATH%FormatVol.vbs" %CRM.TMP.DrvLetter% %CRM.TMP.FS% %CRM.TMP.LABEL% %CRM.TMP.LOG% IF %errorlevel% NEQ 0 ( SET CRM.ERR.NUM=795 SET CRM.ERR.MSG=FAIL: CSCRIPT /NOLOGO "%CRM.PBR.TOOLPATH%FormatVol.vbs" %CRM.TMP.DrvLetter% %CRM.TMP.FS% %CRM.TMP.LABEL% %CRM.TMP.LOG% GOTO ENDPROCESS ) ECHO [%time%][%~nx0] END REM ---------------------- REM RESTORE ESP : Copy Windows backup BCD to ESP by BCDboot command REM ---------------------- ECHO [%time%][%~nx0] RESTORE ESP ECHO [%time%][%~nx0] X:\Windows\System32\BCDboot.exe %CRM.UP.DrvLetter%\Windows /s %CRM.ESP.DrvLetter% /f UEFI X:\Windows\System32\BCDboot.exe %CRM.UP.DrvLetter%\Windows /s %CRM.ESP.DrvLetter% /f UEFI IF %errorlevel% NEQ 0 ( SET CRM.ERR.NUM=795 SET CRM.ERR.MSG=FAIL: X:\Windows\System32\BCDboot.exe %CRM.UP.DrvLetter%\Windows /s %CRM.ESP.DrvLetter% /f UEFI GOTO ENDPROCESS ) REM ---------------------- REM RESTORE ESP : Restore ESP.wim REM ---------------------- :RESTORE_ESPWIM ECHO [%time%][%~nx0] Dism /apply-image /imagefile:"%CRM.ESP.WIM%" /index:%CRM.ESP.RESTOREINDEX% /ApplyDir:%CRM.ESP.DrvLetter% Dism /apply-image /imagefile:"%CRM.ESP.WIM%" /index:%CRM.ESP.RESTOREINDEX% /ApplyDir:%CRM.ESP.DrvLetter% IF %errorlevel% NEQ 0 ( SET CRM.ERR.NUM=795 SET CRM.ERR.MSG=FAIL: Dism /apply-image /imagefile:"%CRM.ESP.WIM%" /index:%CRM.ESP.RESTOREINDEX% /ApplyDir:%CRM.ESP.DrvLetter% GOTO ENDPROCESS ) ECHO [%TIME%][%~nx0] END GOTO POST_PBR :R_BREAEMETAL REM ---------------------- REM Restore Build Partition REM ---------------------- ECHO [%time%][%~nx0] Apply build.wim to BP ECHO [%time%][%~nx0] DISM /apply-image /imagefile:%CRM.BP.WIM% /index:%CRM.BP.RESTOREINDEX% /ApplyDir:%CRM.BP.DrvLetter% DISM /apply-image /imagefile:%CRM.BP.WIM% /index:%CRM.BP.RESTOREINDEX% /ApplyDir:%CRM.BP.DrvLetter% IF %errorlevel% NEQ 0 ( SET CRM.ERR.NUM=795 SET CRM.ERR.MSG=FAIL: DISM /apply-image /imagefile:%CRM.BP.WIM% /index:%CRM.BP.RESTOREINDEX% /ApplyDir:%CRM.BP.DrvLetter% GOTO ENDPROCESS ) REM ---------------------- REM Restore Factory Update REM ---------------------- SET CRM.FU.Source=%CRM.WorkDrvLetter%\sources\FactoryUpdate\ SET CRM.FU.Dest=%CRM.UP.DrvLetter%\system.sav\FactoryUpdate\ SET CRM.XCOPY.SRC=%CRM.FU.Source% SET CRM.XCOPY.DEST=%CRM.FU.Dest% IF NOT EXIST %CRM.XCOPY.DEST% (MKDIR %CRM.XCOPY.DEST%) ECHO [%time%][%~nx0] CMD /C XCOPY /Y /I /E /S /R /H %CRM.XCOPY.SRC%*.* %CRM.XCOPY.DEST% CMD /C XCOPY /Y /I /E /S /R /H %CRM.XCOPY.SRC%*.* %CRM.XCOPY.DEST% IF %errorlevel% NEQ 0 ( SET CRM.ERR.NUM=003 SET CRM.ERR.MSG=COPY FACTORY UPDATE FAIL GOTO ENDPROCESS ) SET CRM.FU.SWM=%CRM.XCOPY.DEST%FactoryUpdate.SWM SET CRM.FU.WIM=%CRM.XCOPY.DEST%FactoryUpdate.WIM IF EXIST %CRM.FU.WIM% ( GOTO FU_WIM ) ECHO [%time%][%~nx0] Dism /apply-image /imagefile:%CRM.FU.SWM% /swmfile:%CRM.XCOPY.DEST%FactoryUpdate*.swm /index:1 /applydir:%CRM.XCOPY.DEST% Dism /apply-image /imagefile:%CRM.FU.SWM% /swmfile:%CRM.XCOPY.DEST%FactoryUpdate*.swm /index:1 /applydir:%CRM.XCOPY.DEST% IF %errorlevel% NEQ 0 ( SET CRM.ERR.NUM=003 SET CRM.ERR.MSG=FAIL: Dism /apply-image /imagefile:%CRM.FU.SWM% /swmfile:%CRM.XCOPY.DEST%FactoryUpdate*.swm /index:1 /applydir:%CRM.XCOPY.DEST% GOTO ENDPROCESS ) ECHO [%time%][%~nx0] DEL /Q /F %CRM.XCOPY.DEST%FactoryUpdate*.swm DEL /Q /F %CRM.XCOPY.DEST%FactoryUpdate*.swm GOTO FU_END :FU_WIM ECHO [%time%][%~nx0] Dism /apply-image /imagefile:%CRM.FU.WIM% /index:1 /applydir:%CRM.XCOPY.DEST% Dism /apply-image /imagefile:%CRM.FU.WIM% /index:1 /applydir:%CRM.XCOPY.DEST% IF %errorlevel% NEQ 0 ( SET CRM.ERR.NUM=003 SET CRM.ERR.MSG=FAIL: Dism /apply-image /imagefile:%CRM.FU.WIM% /index:1 /applydir:%CRM.XCOPY.DEST% //%CRM.UP.DrvLetter%\system.sav\FactoryUpdate\ GOTO ENDPROCESS ) ECHO [%time%][%~nx0] DEL /Q /F %CRM.XCOPY.DEST%FactoryUpdate.WIM DEL /Q /F %CRM.XCOPY.DEST%FactoryUpdate.WIM //после распаковки удаляется сам WIM REM ---------------------- REM Copy Build.wim REM ---------------------- SET CRM.COPY.SRC=%CRM.BP.WIM% SET CRM.COPY.DEST=%CRM.UP.DrvLetter%\RM\Image\ IF NOT EXIST %CRM.XCOPY.DEST% (MKDIR %CRM.XCOPY.DEST%) ECHO [%time%][%~nx0] COPY /Y %CRM.COPY.SRC% %CRM.COPY.DEST% COPY /Y %CRM.COPY.SRC% %CRM.COPY.DEST% IF %errorlevel% NEQ 0 ( SET CRM.ERR.NUM=003 SET CRM.ERR.MSG=FAIL: COPY /Y %CRM.COPY.SRC% %CRM.COPY.DEST% GOTO ENDPROCESS ) REM ---------------------- REM Copy Install*.swm REM ---------------------- SET CRM.COPY.SRC=%CRM.UP.WIM% SET CRM.COPY.DEST=%CRM.UP.DrvLetter%\RM\Image\ IF NOT EXIST %CRM.XCOPY.DEST% (MKDIR %CRM.XCOPY.DEST%) ECHO [%time%][%~nx0] COPY /Y %CRM.COPY.SRC% %CRM.COPY.DEST% COPY /Y %CRM.COPY.SRC% %CRM.COPY.DEST% IF %errorlevel% NEQ 0 ( SET CRM.ERR.NUM=003 SET CRM.ERR.MSG=FAIL: COPY /Y %CRM.COPY.SRC% %CRM.COPY.DEST% GOTO ENDPROCESS ) :POST_PBR REM ---------------------- REM Return Files REM ---------------------- ECHO [%time%][%~nx0] CSCRIPT.EXE /NOLOGO "%CRM.RESERVE.PATH%ReturnFile.vbs" "%CRM.RESERVE.PATH%Reserve.log" "%CRM.RESERVE.PATH%" %CRM.UP.DrvLetter% CSCRIPT.EXE /NOLOGO "%CRM.RESERVE.PATH%ReturnFile.vbs" "%CRM.RESERVE.PATH%Reserve.log" "%CRM.RESERVE.PATH%" %CRM.UP.DrvLetter% REM ---------------------- REM Create PBR.flg and RImage.flg REM ---------------------- SET CRM.TMP=%CRM.FLAG.Recovery% CALL :CreateFolder "%CRM.TMP%" ECHO %CRM.PBR.Argu% >> %CRM.TMP% IF EXIST %CRM.TMP% ( ECHO [%TIME%][%~nx0] Created Flag : %CRM.TMP% ) SET CRM.TMP=%CRM.FLAG.PBR% CALL :CreateFolder "%CRM.TMP%" ECHO %CRM.PBR.Argu% >> %CRM.TMP% IF EXIST %CRM.TMP% ( ECHO [%TIME%][%~nx0] Created Flag : %CRM.TMP% ) :ENDPROCESS REM ==================================================== REM ENDPROCESS - CALL HERE TO EXIT - IF WE HAVE AN ERROR THEN LOG IT REM ==================================================== IF %CRM.ERR.NUM% NEQ 0 ( ECHO. ECHO ****************************************************************************** ECHO * ERROR: %CRM.ERR.NUM% ECHO * : %CRM.ERR.MSG% ECHO ****************************************************************************** ECHO. ) :END ECHO [%~nx0] %date% %time% ECHO ********** FINISH %~nx0 ********** ECHO RETURN CODE - %CRM.ERR.NUM% REM EXIT THE SCRIPT AND RETURN THE ERROR LEVEL EXIT /b %CRM.ERR.NUM% :CreateFolder SET CRM.FullPATH=%1 SET CRM.PATH=NONE for /f "delims==" %%F in ("%CRM.FullPATH%") do ( SET CRM.PATH=%%~dpF ) IF "%CRM.PATH%"=="NONE" ( ECHO [%time%][%~nx0] WARNING, Create %CRM.FullPATH% Fail ) ELSE ( IF NOT EXIST "%CRM.PATH%" ( ECHO [%time%][%~nx0] MKDIR "%CRM.PATH%" MKDIR "%CRM.PATH%" ) ) EXIT /B В команде DISM /apply-image /imagefile:%CRM.BP.WIM% /index:%CRM.BP.RESTOREINDEX% /ApplyDir:%CRM.BP.DrvLetter% %CRM.BP.DrvLetter% - 'это что такое? |
Переменные в начале
Цитата:
|
А refresh - это процедура "Восстановление системы"? Восстанавливаемая система не успела установить драйверы устройств (хотя вайфай, например, в процессе первого старта зажглась из желтого в белый). Просто надо получить не просто работающую операционку, а полностью именно "ту самую", предустановленную.
А какова последовательность загрузки с установочного диска? Беру любой восьмерочный дистриб, удаляю с него все, кроме /boot и /efi, замещаю бутлодырь bootmgr , кидаю в корень все с первого DVD, заряжаю всем этим флэшку и при загрузке получаю Your PC needs to be repair бла бла 0xc000000F . Выводит эту картинку не биос, а загрузчик с флэшки. Но в файлах из /boot в содержимом нет такого сообщения в ASCII - а тогда кто его выводит? После передачи управления от биос к вторичному загрузчику , кто конкретно получает это управления первым? bootmgr? Если да, то кому он потом передает управление, и на какие файлы может ссылаться? Я к тому, что мне хочется выловить непосредственную причину незагрузки. И что делает bootmgr.efi ? |
А где можно достать bootmgr.exe ? В инете одни вирусняки предлагают.
|
Цитата:
|
Цитата:
Только есть не bootmgr.exe, а просто bootmgr |
Да просто азарт уже. Никогда например не задумывался раньше о том, какое участие принимают те или иные файлы. Вот например, есть папка /boot и и есть /efi . Что за что отвечает? Соответственно в /efi есть две папки /boot и /microsoft/boot . Да уж, это не DOS. ))
Цитата:
|
Ну чо, стал делать с того дистрибутива восстановление, но "диск на котором установлена система windows заблокирован". Я так понимаю, это потому, что драйверы не установлены? Безопасная загрузка в БИОСе отключена.
|
Той Серью, http://bit.ly/1zRQNeQ
|
Информативно. Потрясающий источник разной информации в зависимости от индивидуальных вкусов. Вот там-то я и нашел про неподписанные драйверы (которые у меня еще и не установлены). Там еще про восстановления запуска было, но зачем мне это, если моя система стартует?
Мне сейчас надо просто понять, почему притом, что я перенес все содержимое первого DVD с внешнего хранилища на загрузочную флэшку ( как вариант - на новую болванку), эти загрузочные устройства прекращают загрузку с ошибкой 34 (или 14, если используется EFI-загрузка). Если это будет решено, будет решена проблема первого диска из дисков восстановления. |
Время: 21:15. |
Время: 21:15.
© OSzone.net 2001-