Najszybszy sposób na odtworzenie Blue Screen of Death (BSOD)?

20

W ramach wyzwania dotyczącego wielu systemów operacyjnych (testowanie integralności komputera) muszę znaleźć najszybszy sposób na odtworzenie oryginalnego Blue Screen of Death (BSOD) na komputerze z systemem Windows. Każda wersja XP lub nowsza będzie działać.

Jak to ujął Shinrai :

Więc w zasadzie próbujesz BSOD maszyny tak szybko, jak to tylko możliwe, ale tylko raz i nie możesz dotknąć maszyny przed uruchomieniem zegara?

Tak, właśnie to staram się zrobić.

Zastanawiam się, czy istnieją proste polecenia lub działania, które spowodują, że system Windows oszaleje i wypluje niebieski ekran. Wszelkie wskazówki byłyby bardzo pomocne.

Ograniczenia:

  • Nie można napisać skryptu / programu
  • Nie mogę zadzierać ze sprzętem
  • Musi być w stanie to zrobić W RAMACH systemu Windows
  • Nie może być fałszywy

Muszę mieć możliwość czystego rozruchu systemu Windows, a następnie muszę odtworzyć BSOD w locie. Rozwiązania sprzętowe i wymagane do rozruchu są dobre, ale nie są zgodne z tymi zasadami.


WNIOSKI
Dotarłem do konkursu gotowy do wdrożenia metody BSOD Shinrai. Okazuje się, że nie było szczegółowych zasad włączania i wyłączania komputera, tyle że nie można zadzierać ze sprzętem. Sprawdziłem klawiaturę - była to pamięć USB, więc wiedziałem, który klawisz edytować. Kazano nam zacząć, a ja szybko znalazłem i zredagowałem klucz i uruchomiłem ponownie. Na szczęście były to komputery z gołą kością i nie trzeba było uruchamiać zbyt wielu usług, co spowodowało dość szybki restart. Rozglądając się, zobaczyłem ludzi, którzy przekręcali rejestr, ale nikt inny nie uruchamiał ponownie komputera. Zrobiłem kombinację klawiatury, a okna BOOM wyrzuciły piękny BSOD (coś, do czego system operacyjny jest naprawdę dobry).

Wygrałem i miałem tylko jedną rzecz do powiedzenia: „Cieszę się, że wracam do domu do mojego systemu Linux”.

Dzięki Shinrai za zwycięskie rozwiązanie!

n0pe
źródło
5
Dodam to jako komentarz, ponieważ jestem pewien, że istnieją lepsze sposoby, ale na każdej maszynie z PowerShellem najszybszym sposobem, jaki znalazłem, jest: Usuń element HKLM: * -recurse -force
EBGreen
1
@EBGreen - W rzeczywistości jest to dość skuteczne w tej konkretnej sytuacji.
Shinrai
@EBGreen - to dokładnie to, czego szukam. Czy XP jest domyślnie wyposażony w PowerShell?
n0pe
1
„Nie można napisać skryptu / programu” Czy to oznacza, że ​​możesz pobrać program z Sysinternals, który to robi? Jeśli tak: dl.dropbox.com/u/16862782/NotMyFault.zip spowoduje awarię natychmiast. AH HAHAHA!
sinni800,
1
@MaxMackie - Co ostatecznie okazało się zwycięskim rozwiązaniem?
Shinrai

Odpowiedzi:

21

W rzeczywistości istnieje narzędzie programistyczne wbudowane w większość wersji systemu Windows do generowania BSOD na polecenie. Oto, w jaki sposób powodujesz to w systemie Windows 7 na klawiaturze USB lub PS / 2 (uważam, że jest tak samo w przypadku XP / Vista na USB, chociaż ten artykuł tego nie mówi, ale mogę się mylić):

Aby klawiatura mogła spowodować awarię systemu, musisz zapewnić następujące trzy ustawienia:

Jeśli chcesz zapisać plik zrzutu awaryjnego, musisz włączyć takie pliki zrzutu, wybierz ścieżkę i nazwę pliku oraz wybierz rozmiar pliku zrzutu. Aby uzyskać więcej informacji, zobacz Włączanie pliku zrzutu trybu jądra.

W przypadku klawiatur PS / 2 należy włączyć awarię inicjowaną przez klawiaturę w rejestrze. W kluczu rejestru HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ i8042prt \ Parametry utwórz wartość o nazwie CrashOnCtrlScroll i ustaw ją na wartość REG_DWORD 0x01.

W przypadku klawiatur USB należy włączyć awarię inicjowaną przez klawiaturę w rejestrze. W kluczu rejestru HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ kbdhid \ Parameters utwórz wartość o nazwie CrashOnCtrlScroll i ustaw ją na wartość REG_DWORD 0x01.

Musisz ponownie uruchomić system, aby te ustawienia zaczęły obowiązywać.

Po zakończeniu tej awarii klawiaturę można zainicjować przy użyciu następującej sekwencji klawiszy skrótu: Przytrzymaj prawy klawisz CTRL i naciśnij klawisz SCROLL LOCK dwa razy.

Następnie system wywołuje KeBugCheck i wystawia kontrolę błędów 0xE2 (MANUALLY_INITIATED_CRASH). O ile zrzuty awaryjne nie zostały wyłączone, w tym momencie zapisywany jest plik zrzutu awaryjnego.

Jeśli debuger jądra jest podłączony do uszkodzonej maszyny, maszyna włamie się do debugera jądra po zapisaniu pliku zrzutu awaryjnego.

Shinrai
źródło
3
Dobra odpowiedź dla wszystkich klawiatur, ale wciąż wymaga długiego restartu.
n0pe
@MaxMackie - Musisz ponownie uruchomić komputer tylko przy pierwszej zmianie ustawienia, nie spodziewałem się, że to będzie problem. Wygląda na to, że będziesz przeprowadzał wiele testów od sposobu sformułowania pytania. :)
Shinrai
tak, to moja wina, że ​​nie sprecyzowałem. Przeredaguję moje pytanie i będę bardziej konkretny.
n0pe
@MaxMackie - Widzę twoją edycję, ale nie rozumiem, dlaczego „długi restart” jest problemem, ale może źle cię czytam. Zmieniasz ustawienia, restartujesz jeden raz, a następnie możesz generować niebieskie ekrany do zadowolenia serc do końca czasu (lub maszyna zawiedzie, w zależności od tego, co nastąpi wcześniej). Oczywiście będziesz musiał zrestartować się po każdym niebieskim ekranie, ale tak jest w
KAŻDYM
1
Może moje pytanie jest zbyt niejasne. Jest to swego rodzaju wyzwanie. Musimy odtworzyć jednorazowy BSOD. Nie ma znaczenia, czy wymaga tylko 1 ponownego uruchomienia, liczy się tylko pierwsze wystąpienie BSOD.
n0pe
5

To stara udokumentowana technika. Powinien działać przynajmniej do Visty:

Znajdź w regedit:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters\

Utwórz klucz DWORD o nazwie CrashOnCtrlScrolli ustaw jego wartość na 1.

...

Aby wygenerować BSOD, przytrzymaj prawy CTRL i naciśnij dwa razy ScrollLock.

Krasnolud
źródło
Działa to tylko z klawiaturami PS / 2. Zobacz też moją odpowiedź na USB.
Shinrai,
Wygląda na to, że to działa, ale musisz go zrestartować, aby zadziałało. Całkiem długo.
n0pe
2
Niezły shinrai. Masz +1
A Dwarf
3

Można włączyć ręcznie inicjowane awarie , wykonując te zmiany rejestru.

Jeśli system BIOS może przełączać adapter dysku twardego systemu między natywnym SATA a starszym trybem ATA (i prawdopodobnie IRRT), przejście do innego trybu, w którym zainstalowano system Windows, zwykle spowoduje błąd BOOT_VOLUME_INACCESSIBLE. Jestem prawie pewien, że wyłączenie ACPI (jeśli to możliwe w BIOS-ie), gdy system Windows został zainstalowany z włączoną funkcją ACPI, spowoduje także wyświetlenie niebieskiego ekranu podczas uruchamiania.

Zabijanie winlogon.exeza pomocą Eksploratora procesów Sysinternal powoduje wyświetlenie niebieskiego ekranu, ale nie jest to tradycyjny ekran „Wykryto problem i system Windows został zamknięty w celu ochrony komputera ...”.

Może Cię to również zainteresować - wygaszacz ekranu BlueScreen firmy Sysinternals.

LawrenceC
źródło
lol na wygaszacz ekranu, kocham to. Prawdopodobnie nie do końca to, czego chce. xD
Shinrai
Po komentarzu Maxa do mojej odpowiedzi, prawdopodobnie zabicie winlogon jest najlepszym rozwiązaniem jego problemu. (Nie mogę wymyślić innej aplikacji, która zrobi to samo, ale jestem pewien, że są jeszcze inne.)
Shinrai
Wygaszacz ekranu jest przezabawny, ale tak, nie szukam tego :)
n0pe
Kliknij prawym przyciskiem myszy na wininit.exe -> „Kill Process Tree” utworzy BSOD z „
CRITICAL_PROCESS_DIED