Чи небезпечно писати / dev / nvram?


19

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


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, вставляючи у неї виделку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.