Est-il dangereux d'écrire dans / dev / nvram?

19

J'ai trouvé des informations sur le fait que nvram est utilisé pour le flash / la sauvegarde du BIOS et qu'il contient des données liées au bios. Serait cat /dev/random > /dev/nvrambrique en permanence l'ordinateur? Je suis assez tenté de taper cette commande, mais je pense que ça ne se terminera pas bien pour ma machine, donc je suppose que je voudrais savoir à quel point il est dangereux de jouer avec cet appareil.

Lapsio
la source
6
Pourquoi diable seriez-vous tenté d'exécuter cette commande? Ce n'est pas comme s'il y avait quelque chose à y gagner ... Si c'était une décision risque / récompense, je pourrais peut-être comprendre, mais quelle est la récompense?
Andy
6
La connaissance est sa propre récompense
Robert Fraser

Réponses:

21

Je suis curieux de savoir exactement pourquoi vous voudriez exécuter une telle commande si vous pensez qu'elle pourrait endommager votre ordinateur ...

/dev/nvramdonne accès à la mémoire non volatile dans l'horloge en temps réel sur PC et Ataris. Sur les PC, ceci est généralement appelé mémoire CMOS et stocke les options de configuration du BIOS; vous pouvez voir les informations qui y sont stockées en regardant /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

Tout cela est géré par le nvrammodule du noyau, qui prend en charge les sommes de contrôle, etc. La plupart des informations ici ne sont présentes que pour des raisons historiques et reflètent les limites des anciens systèmes d'exploitation: l'ordinateur sur lequel je l'ai exécuté n'a pas quatre lecteurs de disquette , les informations sur le disque dur sont incorrectes, tout comme les informations sur la mémoire et les informations sur la carte graphique.

Je n'ai pas essayé d'écrire des valeurs aléatoires sur l'appareil, mais je pense que cela ne briserait pas votre système: au pire, vous devriez pouvoir récupérer en effaçant le CMOS (il y a généralement un bouton ou un cavalier pour le faire sur votre carte mère) . Mais je ne l'essayerais pas!

Les seules fonctionnalités utiles de la mémoire CMOS de nos jours sont liées au RTC. En particulier, nvram-wakeup peut programmer l'alarme CMOS pour allumer votre ordinateur à un moment précis. (Ce serait donc une raison d'écrire /dev/nvram.)

Stephen Kitt
la source
Donc, on pourrait potentiellement (avec la connaissance de la signification des données dans cet environnement spécifique) créer un "écran BIOS" dans lequel on pourrait sudoaller depuis le confort de son terminal?
wizzwizz4
@ wizzwizz4 oui c'est tout à fait possible. En fait, certains logiciels exclusifs Windows fournis par les fabricants d'ordinateurs portables font exactement cela, et je soupçonne qu'ils utilisent cette même interface.
André Borie
1
@ wizzwizz4 Uniquement pour certains paramètres très spécifiques (et pour la plupart inutiles de nos jours). La plupart des paramètres du BIOS ne sont pas disponibles via cette interface.
duskwuff
1
@ AndréBorie J'ai dit un ordinateur portable avec ledit logiciel, qui ne fonctionne sur aucun OS ouvert que j'ai pu trouver (pas même Debian GNU / Linux avec wine!); j'espère que je serai en mesure de rétroconcevoir le format (et peut-être de le partager, si je le fais assez bien).
wizzwizz4
@duskwuff Faites-vous référence à /proc/driver/nvramou /dev/nvram?
wizzwizz4
15

Cela pourrait probablement mais cela dépend de votre BIOS. Voir ce problème lié à la configuration EFI où un ordinateur portable a été briqué en effaçant les variables EFI. Si certains BIOS ne peuvent pas gérer les variables effacées, il est probable que certains ne gèrent pas mieux les déchets aléatoires dans nvram.

À tout le moins, avant d'essayer, vérifiez s'il existe une procédure de réinitialisation nvram pour votre matériel spécifique. Habituellement, quelque chose comme retirer la batterie de secours de la carte mère pendant un certain temps.

Olivier
la source
11
Si cela avait été demandé il y a un quart de siècle, le conseil réflexif aurait été "Avant d'essayer, allez dans le setupprogramme du firmware et notez tous les paramètres!" Ce n'était pas amusant de perdre le type de disque et les informations de géométrie.
JdeBP
9

Il serait probablement réparable soit parce que le micrologiciel remarquera qu'il échoue la somme de contrôle et le réinitialise (au prochain démarrage), soit en tirant la batterie CMOS et / ou en utilisant un cavalier d'effacement CMOS. Bien sûr, le firmware du buggy peut en décider autrement.

Personnellement, je ne recommanderais pas de l'essayer. Tout comme je ne vous recommanderais pas de tester une prise GFI en y collant une fourchette.

derobert
la source