Опасно ли писать / dev / nvram?

19

Я нашел информацию, что nvram используется для прошивки / резервного копирования BIOS и что он содержит некоторые данные, связанные с BIOS. Будет ли cat /dev/random > /dev/nvramпостоянно кирпич компьютера? Мне очень хочется набрать эту команду, но почему-то я чувствую, что она не подходит для моей машины, поэтому я думаю, что хотел бы знать, насколько опасно играть с этим устройством.

Lapsio
источник
6
С какой стати вы захотите выполнить эту команду? Не то, чтобы от этого можно было что-то получить ... Если бы это было решение «риск против награды», тогда я мог бы понять, но какая награда?
Энди
6
Знание - это своя награда
Роберт Фрейзер

Ответы:

21

Мне интересно, почему вы хотите запустить такую ​​команду, если считаете, что она может повредить ваш компьютер ...

/dev/nvramобеспечивает доступ к энергонезависимой памяти в часах реального времени на ПК и Ataris. На ПК это обычно называется памятью CMOS и хранит параметры конфигурации BIOS; Вы можете увидеть информацию, хранящуюся там, посмотрев на /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

Все это обрабатывается nvramмодулем ядра, который заботится о контрольных суммах и т. Д. Большая часть информации здесь представлена ​​только по историческим причинам и отражает ограничения старых операционных систем: на компьютере, на котором я работал, нет четырех дисковода гибких дисков. информация о жестком диске неверна, как и информация о памяти и информация об адаптере дисплея.

Я не пробовал записывать случайные значения на устройство, но подозреваю, что это не приведет к повреждению вашей системы: в худшем случае вы сможете восстановить систему, очистив CMOS (обычно на вашей материнской плате для этого есть кнопка или перемычка). , Но я бы не стал это пробовать!

Единственные полезные функции в памяти CMOS в настоящее время связаны с RTC. В частности, nvram-wakeup может запрограммировать сигнал CMOS для включения вашего компьютера в определенное время. (Так что это будет одна из причин, чтобы написать /dev/nvram.)

Стивен Китт
источник
Итак, кто-то может (со знанием значения данных в этой конкретной среде) создать «экран BIOS», в который можно было бы sudoвойти, не выходя из своего терминала?
wizzwizz4
@ wizzwizz4 да, это вполне возможно. Фактически, некоторые проприетарные программы для Windows, предоставляемые производителями ноутбуков, делают именно это, и я подозреваю, что они используют тот же интерфейс.
Андре Бори
1
@ wizzwizz4 Только для определенных очень специфических (и в основном бесполезных, в настоящее время) настроек. Большинство настроек BIOS недоступны через этот интерфейс.
Сумерки
1
@ AndréBorie Я сказал, что ноутбук с указанным программным обеспечением, который не работает ни на одной открытой ОС, которую я могу найти (даже на Debian GNU / Linux с wine!); надеюсь, я смогу перепроектировать формат (и, возможно, поделиться им, если я сделаю это достаточно хорошо).
wizzwizz4
@duskwuff Вы имеете в виду /proc/driver/nvramили /dev/nvram?
wizzwizz4
15

Вероятно, может, но это зависит от вашего BIOS. Посмотрите на эту связанную проблему с конфигурацией EFI, когда ноутбук был заблокирован путем очистки переменных EFI. Если некоторые BIOS не могут обрабатывать очищенные переменные, вероятно, некоторые могут не справиться со случайным мусором в nvram лучше.

По крайней мере, прежде чем вы попробуете это, посмотрите, есть ли процедура сброса nvram для вашего конкретного оборудования. Обычно что-то вроде снятия резервного аккумулятора с материнской платы на некоторое время.

Оливье
источник
11
Если бы об этом спрашивали четверть века назад, рефлексивным советом было бы: «Прежде чем попробовать это, зайдите в программу прошивки setupи запишите все настройки!» Потерять информацию о типе диска и геометрии было не весело.
JdeBP
9

Вероятно, это можно исправить либо потому, что микропрограмма заметит, что она проваливает контрольную сумму и сбросит ее (при следующей загрузке), либо, альтернативно, потянув батарею CMOS и / или используя перемычку CMOS. Конечно, глючная прошивка может решить иначе.

Я лично не рекомендовал бы попробовать это. Так же, как я бы не рекомендовал вам проверять розетку GFI, вставив в нее вилку.

derobert
источник