¿Es peligroso escribir en / dev / nvram?

19

Encontré información de que nvram se usa para la actualización / copia de seguridad del BIOS y que contiene algunos datos relacionados con la BIOS. ¿Haría cat /dev/random > /dev/nvramuna computadora de ladrillo de forma permanente? Estoy bastante tentado a escribir este comando, pero de alguna manera siento que no va a terminar bien para mi máquina, así que creo que me gustaría saber qué tan peligroso es jugar con este dispositivo.

Lapsio
fuente
66
¿Por qué demonios estarías tentado a ejecutar ese comando? No es que se pueda obtener algo de él ... Si fue una decisión de riesgo versus recompensa, entonces tal vez podría entender, pero ¿cuál es la recompensa?
Andy
66
El conocimiento es su propia recompensa
Robert Fraser

Respuestas:

21

Tengo curiosidad por saber exactamente por qué querrías ejecutar ese comando si crees que podría dañar tu computadora ...

/dev/nvramproporciona acceso a la memoria no volátil en el reloj en tiempo real en PC y Ataris. En las PC, esto generalmente se conoce como memoria CMOS y almacena las opciones de configuración del BIOS; Puede ver la información almacenada allí mirando /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

Todo esto lo maneja el nvrammódulo del núcleo, que se ocupa de las sumas de verificación, etc. La mayor parte de la información aquí solo está presente por razones históricas y refleja las limitaciones de los sistemas operativos antiguos: la computadora en la que ejecuté esto no tiene cuatro unidades de disquete , la información del disco duro es incorrecta, al igual que la información de la memoria y la información del adaptador de pantalla.

No he intentado escribir valores aleatorios en el dispositivo, pero sospecho que no bloquearía su sistema: en el peor de los casos, debería poder recuperarse borrando el CMOS (generalmente hay un botón o un puente para hacerlo en su placa base) . ¡Pero no lo intentaría!

Las únicas características útiles en la memoria CMOS hoy en día están relacionadas con RTC. En particular, nvram-wakeup puede programar la alarma CMOS para encender su computadora a una hora específica. (Entonces esa sería una razón para escribir /dev/nvram).

Stephen Kitt
fuente
Entonces, ¿uno podría potencialmente (con el conocimiento de los significados de los datos en este entorno específico) crear una "pantalla de BIOS" en la que podría sudoacceder desde la comodidad de su terminal?
wizzwizz4
@ wizzwizz4 sí, eso es bastante posible. De hecho, algunos softwares exclusivos de Windows proporcionados por fabricantes de computadoras portátiles hacen exactamente eso, y sospecho que usan esta misma interfaz.
André Borie
1
@ wizzwizz4 Solo para ciertas configuraciones muy específicas (y en su mayoría inútiles, hoy en día). La mayoría de las configuraciones de BIOS no están disponibles a través de esta interfaz.
duskwuff
1
@ AndréBorie He dicho portátil con dicho software, que no se ejecuta en ningún sistema operativo abierto que pude encontrar (¡ni siquiera con Debian GNU / Linux wine!); espero poder realizar ingeniería inversa del formato (y quizás compartirlo, si lo hago lo suficientemente bien).
wizzwizz4
@duskwuff ¿Te refieres a /proc/driver/nvramo /dev/nvram?
wizzwizz4
15

Probablemente podría, pero depende de su BIOS. Vea este problema relacionado con la configuración de EFI en el que una computadora portátil se bloqueó borrando las variables de EFI. Si algunos BIOS no pueden manejar variables borradas, es probable que algunos no manejen mejor la basura aleatoria en nvram.

Por lo menos, antes de intentar esto, vea si hay un procedimiento de reinicio de nvram para su hardware específico. Por lo general, algo como quitar la batería de respaldo de la placa base por un tiempo.

Olivier
fuente
11
Si esto se hubiera preguntado hace un cuarto de siglo, el consejo reflexivo habría sido "Antes de intentar esto, ¡ingrese al setupprograma de firmware y escriba todas las configuraciones!" No fue divertido perder el tipo de disco y la información de geometría.
JdeBP
9

Sería probablemente sea corregible ya sea porque el firmware se dará cuenta de que no suma de comprobación y restablecerla (en el siguiente arranque), o alternativamente tirando de la batería CMOS y / o el uso de un puente de borrado de CMOS. Por supuesto, el firmware defectuoso puede decidir lo contrario.

Yo personalmente no recomendaría probarlo. Del mismo modo que no te recomendaría que pruebes un tomacorriente GFI al meter un tenedor en él.

derobert
fuente