Skocz do zawartości

Lenovo u260 - OneKey Recovery nie działa


saligia

Rekomendowane odpowiedzi

Zrobimy tak do BCD tego co jest na partycji 1 dopiszemy rozruch do pliku wim

 

Podczas uruchamiania kompa jak zobaczysz logo producenta wciskaj klawisz np F9 jak nic sie nie odpali poza windowsem :P

to do niego przypiszesz rozruch dla recovery

 

Mając normalnie uruchomionego kompa

Uruchom wiersz poleceń na prawach administratora

 

dla Ramdisk -u masz już wpis wiec tylko brakuje wpisu dla rozruchu z pliku wim

 

wpisz w wiersz poleceń:

bcdedit /create /d "Recovery OKR" /application OSLOADER

 

Pojawi się identyfikator (GUID) nowopowstałej pozycji. W pozostałej części procedury pozycja ta widoczna będzie jako {GUID}, pamiętaj zamiast GUID wpisujemy cały ciąg znaków!

 

bcdedit /set {GUID} device ramdisk=[\device\harddisk0\partition4]\onekey\pe\lrs.wim,{ramdiskoptions}

 

bcdedit /set {GUID} path \windows\system32\winload.exe

 

bcdedit /set {GUID} osdevice ramdisk=[\device\harddisk0\partition4]\onekey\pe\lrs.wim,{ramdiskoptions}

 

bcdedit /set {GUID} systemroot \windows

 

bcdedit /set {GUID} winpe yes

 

bcdedit /set {GUID} detecthal yes

 

bcdedit /displayorder {GUID} /addlast

 

 

w tym momencie masz cos takiego:

naprawa-r_hxewepe.jpg

 

Teraz przypisanie klawisza F.. dla danej pozycji

w wiersz poleceń wpisz:

 

bcdedit /set {bootmgr} custom:0x0000000054000001 {nr GUID dla Recovery}

końcówka 01 oznacza nr kolejny przypisania rozruchu dla klawiszy F.. w tym przypadku nr 01, jak bys chcial wiecej to 02, 03 itd

 

Następnie przypiszemy konkretny klawisz F.. do rozruchu

F1 = 3b00 , F2 = 3c00 , F3 = 3d00 , F4 = 3e00 , F6 = 4000 , F7 = 4100 , F9 = 4300 , F10 = 4400 , F11 = 8500 , F12 = 8600

 

dla F9

bcdedit /set {bootmgr} customactions 0x0001000043000001 0x0000000054000001

 

Aby usunąć wpis z listy Menadzera rozruchu nie bedzie widać pozycji Recovery ( rozruch z klawiszy F.. bedzie dalej aktywny)

wpisz:

 

bcdedit /displayorder {nr GUID dla Recovery} /remove

 

 

Teraz podczas rozruchu kompa jak masz logo producenta wciskaj pulsacyjnie klawisz F9 ma sie uruchomić Recovery OKR

 

Czyli tak

nic nie wciskasz odpla sie Windows 7

wciskasz F9 uruchamia sie Recovery

Odnośnik do komentarza
Pomoc jest darmowa, ale proszę rozważ przekazanie dotacji na utrzymanie serwisu: klik.

Rafał, skąd ci się pojawiła ta partycja nr.4, z listingów kolegi jasno wynika, że recovery znajduje się na partycji nr.3 (nr.4 będzie miała partycja rozszerzona w tym przypadku).

Tak naprawdę numer partycji należy zawsze zweryfikować bezpośrednio, np w proponowanym już wcześniej przez @picasso "mbrwizd" lub w konsolowy diskpart, kolejność wpisów partycji w mbr nie musi się pokrywać z ich fizycznym rozmieszczeniem na dysku.

I następna rzecz, zanim się odwołamy do ramdysku trzeba się upewnić, że jest dostępny, z listingu podstawowego kontenera rozruchowego wynika, że urządzenie na którym się ram dysk znajduje jest nieokreślone lub nieznane a sam kontener nie zawiera wpisów z niego korzystających.

Proponuję nie tworzyć nowego ramdysku a wyedytować istniejący ustawiając prawidłową ścieżkę dla zmiennej "ramdisksdidevice" w identyfikatorze "{e6570d86-7605-11e1-a1a9-c0f8daf8b2d7}", również zmienną "ramdisksdipath" należy zweryfikować a najlepiej ustawić ją wg wzoru z partycji recowery bo wiadomo, że jest prawidłowa czyli:

"ramdisksdidevice" na partycję trzecią (mała podpowiedź bo skorzystanie ze ścieżki UNC w tych wpisach nie jest intuicyjne: "bcdedit /set {e6570d86-7605-11e1-a1a9-c0f8daf8b2d7} ramdisksdidevice partition=\device\harddisk0\partition2")

"ramdisksdipath" na "\boot\boot.sdi"

 

I następna rzecz, skoro ramdysk posiada własny identyfikator a nie domyślną wartość "{ramdiskoptions}" to w tworzonych wpisach należy używać tego identyfikatora czyli np.:

bcdedit /set {GUID} device ramdisk=[\device\harddisk0\partition3]\onekey\pe\lrs.wim,{e6570d86-7605-11e1-a1a9-c0f8daf8b2d7}

 

Ostatnia sprawa, jeżeli chcemy dopisać pozycję korzystającą z ramdysku do listy wyboru to warto (nie jest to obowiązek ale kwestia estetyczna) usunąć z pozycji ramdysku opis bo inaczej wszystkie wpisy odwołujące się do tego ramdysku przejmą jego nazwę jako nazwę pozycji:

bcdedit /deletevalue {e6570d86-7605-11e1-a1a9-c0f8daf8b2d7} description

 

Całość można oskryptować ale wydaje mi się, że w tym przypadku przyda się ogląd komunikatów generowanych podczas tworzenia wpisów.

 

pzdr

 

 

 

Odnośnik do komentarza

Rafał, skąd ci się pojawiła ta partycja nr.4, z listingów kolegi jasno wynika, że recovery znajduje się na partycji nr.3 (nr.4 będzie miała partycja rozszerzona w tym przypadku).

Tak masz rację coś mi się pomyliło, pewnie mnie ten screen zmylił jak to pisałem. ;/

 

z listingu podstawowego kontenera rozruchowego wynika, że urządzenie na którym się ram dysk znajduje jest nieokreślone lub nieznane a sam kontener nie zawiera wpisów z niego korzystających.

Proponuję nie tworzyć nowego ramdysku a wyedytować istniejący ustawiając prawidłową ścieżkę dla zmiennej "ramdisksdidevice" w identyfikatorze "{e6570d86-7605-11e1-a1a9-c0f8daf8b2d7}",

tez to zauważyłem, że jest ramdisk a reszty brak jakby wpis został usunięty czy co, dlatego pisałem, że ramdisk już ma tylko reszty brak.

 

"ramdisksdidevice" na partycję trzecią (mała podpowiedź bo skorzystanie ze ścieżki UNC w tych wpisach nie jest intuicyjne: "bcdedit /set {e6570d86-7605-11e1-a1a9-c0f8daf8b2d7} ramdisksdidevice partition=\device\harddisk0\partition2")

"ramdisksdipath" na "\boot\boot.sdi"

chyba partition3 a nie 2 :)

 

 

I następna rzecz, skoro ramdysk posiada własny identyfikator a nie domyślną wartość "{ramdiskoptions}" to w tworzonych wpisach należy używać tego identyfikatora czyli np.:

bcdedit /set {GUID} device ramdisk=[\device\harddisk0\partition3]\onekey\pe\lrs.wim,{e6570d86-7605-11e1-a1a9-c0f8daf8b2d7}

tu miałem dylemat właśnie ale podejrzewałem że {ramdiskoptions} = {e6570d86-7605-11e1-a1a9-c0f8daf8b2d7}

tak jak jest w przypadku {current}

 

Można prosić krok po kroku lub ten skrypt?

 

na wstępie edytujemy wg wskazówek maggrega RamDisk

wiersz polecen:

bcdedit /set {e6570d86-7605-11e1-a1a9-c0f8daf8b2d7} ramdisksdidevice partition=\device\harddisk0\partition3

(wg mnie ma być partition3 a nie 2)

bcdedit /set {e6570d86-7605-11e1-a1a9-c0f8daf8b2d7} ramdisksdipath \boot\boot.sdi

bcdedit /deletevalue {e6570d86-7605-11e1-a1a9-c0f8daf8b2d7} description

 

Teraz to Co pisałem wcześniej tylko z 2 zmianami

 

 

bcdedit /create /d "Recovery OKR" /application OSLOADER

zamiast Recovery OKR mozesz wpisac inna nazwe

 

Pojawi się identyfikator (GUID) nowopowstałej pozycji. W pozostałej części procedury pozycja ta widoczna będzie jako {GUID}, pamiętaj zamiast GUID wpisujemy cały ciąg znaków!

 

bcdedit /set {GUID} device ramdisk=[\device\harddisk0\partition3]\onekey\pe\lrs.wim,{e6570d86-7605-11e1-a1a9-c0f8daf8b2d7}

 

bcdedit /set {GUID} path \windows\system32\winload.exe

 

bcdedit /set {GUID} osdevice ramdisk=[\device\harddisk0\partition3]\onekey\pe\lrs.wim,{e6570d86-7605-11e1-a1a9-c0f8daf8b2d7}

 

bcdedit /set {GUID} systemroot \windows

 

bcdedit /set {GUID} winpe yes

 

bcdedit /set {GUID} detecthal yes

 

bcdedit /displayorder {GUID} /addlast

 

 

w tym momencie masz cos takiego:

naprawa-r_hxewepe.jpg

 

Teraz przypisanie klawisza F.. dla danej pozycji

w wiersz poleceń wpisz:

 

bcdedit /set {bootmgr} custom:0x0000000054000001 {nr GUID dla Recovery}

końcówka 01 oznacza nr kolejny przypisania rozruchu dla klawiszy F.. w tym przypadku nr 01, jak bys chcial wiecej to 02, 03 itd

 

Następnie przypiszemy konkretny klawisz F.. do rozruchu

F1 = 3b00 , F2 = 3c00 , F3 = 3d00 , F4 = 3e00 , F6 = 4000 , F7 = 4100 , F9 = 4300 , F10 = 4400 , F11 = 8500 , F12 = 8600

 

dla F9

bcdedit /set {bootmgr} customactions 0x0001000043000001 0x0000000054000001

 

Aby usunąć wpis z listy Menadzera rozruchu nie bedzie widać pozycji Recovery ( rozruch z klawiszy F.. bedzie dalej aktywny)

wpisz:

 

bcdedit /displayorder {nr GUID dla Recovery} /remove

Odnośnik do komentarza

@set F1=active.wim

bcdedit /set {e6570d86-7605-11e1-a1a9-c0f8daf8b2d7} ramdisksdidevice partition=\device\harddisk0\partition3

(wg mnie ma być partition3 a nie 2)

 

Masz rację Rafale, umknęło mi przy wklejaniu.

 

cls
@setlocal
@echo off

@set nazwa=Recovery OKR
@set guidram={e6570d86-7605-11e1-a1a9-c0f8daf8b2d7}
@set partnr=\device\harddisk0\partition3

@bcdedit.exe  /set %guidram% ramdisksdidevice partition=%partnr%
@bcdedit.exe  /set %guidram% ramdisksdipath \boot\boot.sdi
@bcdedit.exe  /deletevalue %guidram% description

@for /f "tokens=3" %%a in ('bcdedit.exe /create /d "%nazwa%" /application osloader') do set guida=%%a
@bcdedit.exe /set %guida% systemroot \Windows
@bcdedit.exe /set %guida% path \windows\system32\boot\winload.exe
@bcdedit.exe /set %guida% locale pl-PL
@bcdedit.exe /set %guida% detecthal Yes
@bcdedit.exe /set %guida% winpe Yes
@bcdedit.exe /set %guida% osdevice ramdisk=[%partnr%]\onekey\pe\lrs.wim,%guidram%
@bcdedit.exe /set %guida% device ramdisk=[%partnr%]\onekey\pe\lrs.wim,%guidram%
@bcdedit.exe /displayorder %guida% /addlast 

@bcdedit.exe /set {bootmgr} custom:0x0000000054000001 %guida%
@bcdedit.exe /set {bootmgr} customactions 0x0001000043000001 0x0000000054000001

@endlocal

 

Fragment "@bcdedit.exe /displayorder %guida% /addlast " opcjonalny, zastosować tylko jeżeli OKR ma się pojawiać jako opcja startowa.

Skrypt zapisać jako .bat lub .cmd i wykonać w trybie administratora.

W zależności od wersji językowej bcdedit (nie zawsze system zawiera odpowiednie MUI) może być wymagana zmiana wpisu "tokens=3" (właściwego dla wersji domyślnej - anglojęzycznej) na np. "tokens=2" (właściwego dla wersji spolszczonej), z listingów które wklejałeś wynika, że masz wersję zlokalizowaną.

 

pzdr

Odnośnik do komentarza

Wykonaj:

 

@bcdedit.exe /displayorder {cc0cc7be-841f-11e1-bfdf-c0f8daf8b2d7} /remove

@bcdedit.exe /delete {e6570d85-7605-11e1-a1a9-c0f8daf8b2d7} /f

 

 

Czy da się przywrócić fabryczną strukturę OKR? Dobre pytanie, już raz wałkowaliśmy ten temat na forum ale z jakim ostatecznie skutkiem? nie wiem - forumowiczka w pewnym momencie zniknęła ale nie wiadomo czy straciła zainteresowanie czy też temat się rozwiązał. Tak naprawdę należałoby męczyć support Lenovo tym tematem, samo recovery w wersji proponowanej przez Lenovo jest wg mnie mało przejrzyste, ciekawe zresztą na ile Lenovo ma wpływ na jego budowę (OKR jest dziełem firmy CybeLink odpowiedzialnej za znany pakiet PowerDVD). My doszliśmy do konkluzji, że OKR działa tyko pod warunkiem pozostawienia nienaruszonej konfiguracji dysku (i to zarówno układ i wielkość partycji jak i pewnie numery seryjne wolumenów). To wszystko są oczywiście spekulacje a ja nie mam pewności, że firumowiczka wykonywała wszystkie zalecone jej czynności więc z braku dostępu do takiego sprzętu muszę stopniować wiarygodność wniosków wynikających z tamtej dyskusji.

 

Z listingu sekwencji startowej wynika, że klawisz OKR powinien zrobić dwie rzeczy, wymusić start z tej partycji (wirtualnie ustawić ją jako aktywną) i następnie wysłać kod jednego bądź kilku klawiszy F2 do F4 (bo na takie reaguje konfiguracja rozruchowa) ale w jaki sposób rozpoznaje kiedy ma zadziałać to już zagadka.

Z resztą oprócz tego co zaproponowaliśmy tutaj również chainloading do partycji recovery powinien być możliwy, coś na kształt:

@bcdedit.exe /create {ntldr} /d "Recovery"
@bcdedit.exe /set {ntldr} device partition=\device\harddisk0\partition3
@bcdedit.exe /set {ntldr} path \bootmgr
@bcdedit.exe /displayorder {ntldr} /addlast 

@bcdedit.exe /set {bootmgr} custom:0x0000000054000001 {ntldr}
@bcdedit.exe /set {bootmgr} customactions 0x0001000043000001 0x0000000054000001

Sam tego nie sprawdzałem (jakoś się nie złożyło) ale w teorii powinno odpalić konfigurację rozruchową z partycji wpisanej w zmiennej device.

 

pzdr

Odnośnik do komentarza

Swoją drogą OKR dalej nie dziala, ale taka opcja jaką zaproponowaliście jest jak najbardziej w porządku.

 

Te operacje co teraz zrobiłeś nie mają wpływu na oprogramowanie zainstalowane w Windowsie.

Pisałeś, że OKR z pod windowsa Ci nie działa ale po zabootowaniu partycji recovery OKR śmiga i da rade przeinstalować system.

 

Ta operacja miała na celu tylko to abyś nie musiał za każdym razem jak chcesz przeinstalować system ustawiać partycji Recovery na aktywną

 

I takie pytanie. To za każdym razem trzeba będzie tak robić? Mam na myśli tutaj o powrocie do stanu fabrycznego. Jest możliwy backup?

 

Jeśli pytasz czy za każdym razem będziesz musiał po przeinstalowaniu systemu z recovery robić to co w postach wyżej to odpiedz brzmi NIE

Jeśli chcesz zrobić sobie backup którejś partycji nic nie stoi na przeszkodzie.

Odnośnik do komentarza

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...