RobertRobert Opublikowano 9 Sierpnia 2011 Zgłoś Udostępnij Opublikowano 9 Sierpnia 2011 Mam pytanie do autora System Recovery "prawie" profesjonalnie i kompleksowo: czy sposob na Recovery z uzyciem ImageX lub Ghost32(64) wraz z Masterscript nie dziala w przypadku Win 7 Ultimate SP1: x86 pl, gdyz od paru dni probuje to zrobic nieskutecznie i cigle przy restarcie po uzyciu ww zestawu wyrzuca komunikat o bledzie: Uruchomienie systemu Windows nie powiodlo sie. Przczyna moze byc ostatnie zmiana sprzetu lub oprogramowania. Aby rozwiazac ten problem: 1. Wloz dysk instalacyjny systemu Windows i ponownie uruchom komputer. 2. Wybierz ustawienia jezyka, a nastepnie kliknij przycisk Dalej. 3. Kliknij pozycje Napraw ten komputer. Jesli nie masz tego dysku, skontaktuj sie z administratorem systemu lub producentem komputera, aby uzyskac pomoc. Stan: 0xc000000f Informacje; Nie mozna uruchomic pozycji rozruchu, poniewaz wymagane urzadzenie jest niedostepne. Nadmienie ze probuje skopiowac do ukrytej partycji czysty dopiero co zainstalowany system z oryginalnej czystej plytki a laptop jest sprawny. Pozdrawiam Odnośnik do komentarza
maggreg Opublikowano 10 Sierpnia 2011 Zgłoś Udostępnij Opublikowano 10 Sierpnia 2011 Skrypt powinien działać prawidłowo. Dla pewności sprawdziłem dodatkowo po twoim poście całość na czystej instalacji Win7 Ultimate SP1 x86, zarówno przechwycenie jak i odzyskiwanie działa prawidłowo. Oczywiście testy robiłem na maszynie wirtualnej i fizyczny komputer może zachować się troszkę inaczej ale jeżeli sam skrypt wykonuje się prawidłowo to nie powinno mieć znaczenia jaka to maszyna. Mam pewne podejrzenia dlatego proszę o dodatkowe informacje. Czy komunikat występuje jednorazowo po pierwszym restarcie a po ponownym uruchamia się standardowy system? Proszę podać wynik działania komendy: diskpartlis vol Ew. proszę wykonać skrypt vbs: If WScript.Arguments.length =0 Then Set objShell = CreateObject("Shell.Application") objShell.ShellExecute "wscript.exe", Chr(34) & _ WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1 Else On Error Resume Next Set objShell = CreateObject("WScript.Shell") objShell.CurrentDirectory = objShell.ExpandEnvironmentStrings("%userprofile%") & "\desktop" objShell.Run ("%comspec% /c mklink /d c:\tmprecovery \\?\GLOBALROOT\device\harddisk0\partition1\"),0,true Set fso = CreateObject("Scripting.FileSystemObject") Set NewFile = fso.CreateTextFile("FileList.txt", True) Set folder = fso.GetFolder("c:\tmprecovery") For Each objSubfolder in Folder.Subfolders NewFile.WriteLine("\" & objSubfolder.name) next NewFile.WriteLine vbcrlf ShowSubFolders folder, "" NewFile.WriteLine vbcrlf For each folderIdx In folder.Files NewFile.WriteLine("\" & folderIdx.Name) Next NewFile.Close objShell.Run ("%comspec% /c bcdedit /store \\?\GLOBALROOT\device\harddisk0\partition1\boot\bcd /enum all >%userprofile%\desktop\bcd_part1.txt"),0,true objShell.Run ("%comspec% /c rmdir c:\tmprecovery"),0,true End If WScript.quit Sub ShowSubFolders(folder,nazwa) For Each Subfolder In Folder.SubFolders For Each file In SubFolder.Files NewFile.WriteLine(nazwa & "\" & subfolder.name & "\" & file.Name) Next NewFile.WriteLine vbcrlf ShowSubFolders Subfolder ,nazwa & "\" & Subfolder.name Next End Sub i wrzucić zawartość utworzonych na pulpicie plików. pzdr Odnośnik do komentarza
RobertRobert Opublikowano 11 Sierpnia 2011 Autor Zgłoś Udostępnij Opublikowano 11 Sierpnia 2011 Bardzo dziekuje za szybka odpowiedz. Dla pewnosci dzisiaj wymienilem dysk twardy w laptopie ale niestety efekt identyczny. Rzeczywiscie dokladnie tak jest, ze komunikat występuje jednorazowo po pierwszym restarcie a po ponownym uruchamia się standardowy system. W zalaczeniu wynik komendy diskpart lis vol oraz pliki utworzone skryptem bcd_part1.txt FileList.txt diskpart lis vol.txt Odnośnik do komentarza
maggreg Opublikowano 11 Sierpnia 2011 Zgłoś Udostępnij Opublikowano 11 Sierpnia 2011 wygląda na to, że problemem jest kolejność partycji, oczywiście da się utworzyć recovery przy dowolnym ich układzie tym niemniej przykładowe skrypty zakładają konkretny układ: pierwsza partycja zawierająca pliki startowe systemu a więc ustawiona jako aktywna która jednocześnie stanie się partycją recovery, jej rozmiar zależy od rozmiaru przechwytywanego systemu, tak naprawdę dla czystego systemu ze sterownikami wystarczy ok 3GB. druga partycja z samym systemem. W twoim przypadku partycja dla recovery nie zawiera plików rozruchowych (pewnie są na partycji z systemem) a więc wpisy w kontenerze rozruchowym szukają pliku winpe.wim w niewłaściwym miejscu i środowisko służące do przechwycenia się nie uruchamia (stąd błąd który przytoczyłeś), system potem uruchamia się prawidłowo dlatego, że komenda startująca środowisko przechwytujące jest jednorazowa. pzdr edit Po dokładniejszym przyjrzeniu się plikom które zamieściłeś uważam, że nie tyle kolejność co właśnie złe przypisanie ról jest przyczyną dla której to u Ciebie nie zadziałało. Całość wywala się prawdopodobnie nie na samym winpe.wim (czy właściwie wintemp.wim) ale na ram dysku, układ szuka na partycji o znaczniku "boot" pliku boot.sdi w ścieżce \recovery i oczywiście w tym przypadku nie znajduje (bo szuka na c:\recovery czyli partycji drugiej zamiast na pierwszej). O ile nadal uważam, że pliki startowe (które MS określa jako systemowe) powinny znaleźć się raczej na partycji recovery ew. na zupełnie oddzielnej partycji to jednak i w opisywanym przypadku da się (powinno się dać) w miarę prosto uzyskać działający zestaw, należy tylko w skryptach zastąpić wpisy: objFile.WriteLine "@bcdedit /set {ramdiskoptions} ramdisksdidevice boot" następującą wersją: objFile.WriteLine "@bcdedit /set {ramdiskoptions} ramdisksdidevice partition=\device\harddisk0\partition1" pzdr Odnośnik do komentarza
RobertRobert Opublikowano 12 Sierpnia 2011 Autor Zgłoś Udostępnij Opublikowano 12 Sierpnia 2011 Jeszcze raz szczerze dziekuje za odpowiedz. Jest dokladnie tak jak napisales, ale musze sie przyznac ze wstydem do tego ze oczywiscie, tak jak podejrzewalem od poczatku , robilem blad ale nie moglem go sam zidentyfikowac i miedzy innymi dlatego chcialem sie upewnic u zrodla, ze konfiguracja ktora chcialem zrobic jest mozliwa. Twoje wskazowki mnie nakierowaly i odkrylem, ze podczas modyfikowania pliku odpowiedzi unattend, w celu innego skonfigurowania wlasnie partycji, zaznaczylem przypadkiem obydwie partycje, tzn zarowno Recovery jak i systemowa jako aktywne i z tego jak napisales wynikly klopoty. Dziekuje za pomoc jak rowniez ogolnie za bardzo fajnie, przystepnie napisana instrukcje, ktora sie swietnie sprawdza i mozna ja zastosowac nawet nie majac zbyt duzo pojecia o podstawach. Problem rozwiazany. Pozdrawiam Odnośnik do komentarza
Rekomendowane odpowiedzi