Czy pisanie w / dev / nvram jest niebezpieczne?


19

Znalazłem informację, że nvram jest używany do flashowania / tworzenia kopii zapasowej BIOS i że zawiera pewne dane związane z bios. Czy cat /dev/random > /dev/nvramkomputer z cegłą na stałe? Kusi mnie, aby wpisać to polecenie, ale jakoś wydaje mi się, że to nie skończy się dobrze dla mojej maszyny, więc chyba chciałbym wiedzieć, jak niebezpieczna jest gra z tym urządzeniem.


6
Dlaczego, u licha, miałbyś ochotę wykonać to polecenie? To nie tak, że można z niego coś zyskać ... Gdyby była to decyzja o ryzyku kontra nagroda, to mógłbym zrozumieć, ale jaka jest nagroda?
Andy,

6
Wiedza jest własną nagrodą
Robert Fraser,

Odpowiedzi:


21

Jestem ciekawy, dlaczego dokładnie chcesz uruchomić takie polecenie, jeśli uważasz, że może to uszkodzić komputer ...

/dev/nvramzapewnia dostęp do nieulotnej pamięci zegara czasu rzeczywistego na PC i Ataris. Na PC jest to zwykle znane jako pamięć CMOS i przechowuje opcje konfiguracji BIOS; możesz zobaczyć informacje tam przechowywane, patrząc na /proc/driver/nvram:

Checksum status: valid
# floppies     : 4
Floppy 0 type  : none
Floppy 1 type  : none
HD 0 type      : ff
HD 1 type      : ff
HD type 48 data: 65471/255/255 C/H/S, precomp 65535, lz 65279
HD type 49 data: 3198/255/0 C/H/S, precomp 0, lz 0
DOS base memory: 630 kB
Extended memory: 65535 kB (configured), 65535 kB (tested)
Gfx adapter    : monochrome
FPU            : installed

Wszystko to jest obsługiwane przez nvrammoduł jądra, który dba o sumy kontrolne itp. Większość informacji tutaj jest tylko ze względów historycznych i odzwierciedla ograniczenia starych systemów operacyjnych: komputer, na którym działałem, nie ma czterech stacji dyskietek , informacje o dysku twardym są niepoprawne, podobnie jak informacje o pamięci i karcie graficznej.

Nie próbowałem zapisywać losowych wartości na urządzeniu, ale podejrzewam, że nie spowodowałoby to awarii systemu: w najgorszym przypadku powinieneś być w stanie odzyskać poprzez wyczyszczenie pamięci CMOS (zwykle jest to przycisk lub zworka na płycie głównej) . Ale nie spróbowałbym tego!

Jedyne przydatne funkcje pamięci CMOS w dzisiejszych czasach są związane z RTC. W szczególności nvram-wakeup może zaprogramować alarm CMOS, aby włączyć komputer w określonym czasie. (Więc to byłby jeden powód do pisania /dev/nvram.)


Więc można potencjalnie (ze znajomością znaczeń danych w tym konkretnym środowisku) stworzyć „ekran BIOS”, sudodo którego można wejść w zaciszu własnego terminalu?
wizzwizz4,

@ wizzwizz4 tak, to całkiem możliwe. W rzeczywistości niektóre zastrzeżone oprogramowanie tylko dla systemu Windows dostarczane przez producentów laptopów właśnie to robi i podejrzewam, że używają tego samego interfejsu.
André Borie,

1
@ wizzwizz4 Tylko dla niektórych bardzo specyficznych (i najczęściej bezużytecznych, w dzisiejszych czasach) ustawień. Większość ustawień BIOS nie jest dostępna przez ten interfejs.
duskwuff,

1
@ AndréBorie Powiedziałem laptopa ze wspomnianym oprogramowaniem, które nie działa na żadnym otwartym systemie operacyjnym, który mógłbym znaleźć (nawet z Debianem GNU / Linux wine!); mam nadzieję, że będę w stanie przeformułować ten format (i być może udostępnić go, jeśli zrobię to wystarczająco dobrze).
wizzwizz4,

@duskwuff Czy masz na myśli /proc/driver/nvramczy /dev/nvram?
wizzwizz4,

15

Prawdopodobnie może, ale zależy to od systemu BIOS. Zobacz ten problem związany z konfiguracją EFI gdzie laptop zamurowano czyszcząc zmienne EFI. Jeśli jakiś BIOS nie może obsłużyć wyczyszczonych zmiennych, prawdopodobne jest, że niektóre nie będą lepiej obsługiwać losowych śmieci w nvram.

Przynajmniej zanim spróbujesz tego, sprawdź, czy istnieje procedura resetowania nvram dla twojego konkretnego sprzętu. Zwykle coś takiego jak na chwilę wyjęcie zapasowej baterii z płyty głównej.


11
Gdyby o to zapytano ćwierć wieku temu, refleksyjna rada brzmiałaby: „Zanim spróbujesz, wejdź do oprogramowania układowego setupi zapisz wszystkie ustawienia!” Nie było fajnie tracić informacje o typie dysku i geometrii.
JdeBP

9

To prawdopodobnie będzie naprawić albo dlatego firmware zauważy, że nie kontrolną i zresetować go (na następnym rozruchu) lub alternatywnie poprzez pociągnięcie baterii CMOS i / lub za pomocą zworki CMOS. Oczywiście błędne oprogramowanie układowe może zadecydować inaczej.

Osobiście nie poleciłbym wypróbowania tego. Tak jak nie polecam testowania gniazdka GFI przez włożenie w niego widelca.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.