С Xorg можно выбрать цвет Depth
к 8 битам и Visual
к "StaticGray" (см. xorg.conf страницу руководства). Это работает, однако я нахожу это iceweasel
по крайней мере, чрезвычайно не спешит представлять.
IPMI-устройство
Тип памяти и скорость
Информация о шасси
Зонд охлаждающего устройства
Зонд электрического тока
Информация о процессоре и памяти Серийные номераВерсия BIOS
Слоты и скорость PCIe Slots и PCIe Speed
и др.Рассмотрим:
биосдекод[114850] разбирает память [114851]BIOS[114852] и печатает информацию обо всех структурах.
Дешифровка данных [114853]BIOS[114854] аналогична дампу компьютера [114855]DMI[114856]. Таблица [114857]DMI [114858] в основном описывает то, из чего состоит система в настоящее время.
Данные, предоставленные биосдекодом [114859] [114860], не имеют читабельного для человека формата.
Просмотр содержимого на экране
Для выгрузки содержимого таблицы DMI (SMBIOS) компьютера на экран необходимо использовать команду [114571]dmidecode[114572].
Да, ядро хранит в оперативной памяти только ту информацию, которая нужна ему из BIOS. Однако, вы можете делать вызовы BIOS в реальном времени от пользователя root, используя приложения на C, которые включают встроенный ASM (код сборки) и т.д.Поиск на man-странице для получения дополнительной информации:
Подробнее о ядре Linux и BIOS системы вы можете прочитать в этой статье из Linuxmagazine под заголовком: [114573]Linux и BIOS[114574].[114185].
Я думаю, что вы ищете, это Flashrom
. При условии, что ваша система поддерживается, вы можете прочитать контент вашего BIOS путем выдачи
# flashrom -r <outputfile>
, если вы хотите только сохранить так называемый CMOS CMOS (те вне байты, которые вы сохраняете конфигурацию, например, сигнализация на RTC et Al) Ядро NVRAM
водитель и устройство могут помочь вам:
config NVRAM
tristate "/dev/nvram support"
depends on ATARI || X86 || (ARM && RTC_DRV_CMOS) || GENERIC_NVRAM
---help---
If you say Y here and create a character special file /dev/nvram
with major number 10 and minor number 144 using mknod ("man mknod"),
you get read and write access to the extra bytes of non-volatile
memory in the real time clock (RTC), which is contained in every PC
and most Ataris. The actual number of bytes varies, depending on the
nvram in the system, but is usually 114 (128-14 for the RTC).
This memory is conventionally called "CMOS RAM" on PCs and "NVRAM"
on Ataris. /dev/nvram may be used to view settings there, or to
change them (with some utility). It could also be used to frequently
save a few bits of very important data that may not be lost over
power-off and for which writing to disk is too insecure. Note
however that most NVRAM space in a PC belongs to the BIOS and you
should NEVER idly tamper with it. See Ralf Brown's interrupt list
for a guide to the use of CMOS bytes by your BIOS.
On Atari machines, /dev/nvram is always configured and does not need
to be selected.
To compile this driver as a module, choose M here: the
module will be called nvram.
Если другие инструменты недоступны или не могут быть использованы, вот способ сделать обоснованное предположение о том, какую область памяти нужно сбросить.
Например, из виртуальной машины VirtualBox я успешно создал дамп BIOS, выполнив следующие действия:
$ grep ROM /proc/iomem # https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-firmware-memmap
000c0000-000c7fff : Video ROM
000e2000-000e2fff : Adapter ROM
000f0000-000fffff : System ROM
# dd if=/dev/mem of=pcbios.rom bs=64k skip=15 count=1 # 15*64k + 64k
Это сработало для меня в VirtualBox:
$ grep ROM /proc/iomem
, что приводит к:
000c0000 -000c7fff :Видео ПЗУ
000e2000 -000e2fff :ПЗУ адаптера
000f0000 -000ffffff :Системное ПЗУ
Системное ПЗУ начинается с адреса 000f0000, что равно 0xF0000.
Откройте браузер и перейдите кhttp://www.hexadecimaldictionary.com/hexadecimal/0xF0000. Это говорит о том, что десятичное значение равно 983040, которое делится на 1024, чтобы получить килобайты, и составляет 960, что является отправной точкой и значением для «пропустить».
Конечным числом является 0xFFFFF, что равно 1048575, что чуть меньше 1024. 1024 -960 равно 64, что является значением 'count'.
Таким образом, команда для запуска дампа биоса:
dd if=/dev/mem of=pcbios.bin bs=1k skip=960 count=64
Я создал кое-что поверх ответа ack, это просто небольшой bash-скрипт, который автоматизирует процесс преобразования шестнадцатеричного в десятичное для нас, нубов.
Меня раздражало преобразование всего, кроме того, в его ответе не упоминается, что вам нужно преобразовать значения и куда их поместить, и все такое...
вот простое объяснение:
тебе нужно бежать:
grep ROM /proc/iomem # this will ouput the ROM hex values...
# this will output the other mem values you can dump if that floats your boat.
cat /proc/iomem
когда у вас есть два разных шестнадцатеричных значения, ~выглядит так:
fed20000-fed3ffff
вы просто добавляете 0x перед ними обоими и разделяете их таким пробелом:
0xfed20000 0xfed3ffff
Наконец, добавьте их в скрипт, который я сделал вот так:
sudo./memDifference 0x000c0000 0x000ce9ff /home/kali/output
Как вы понимаете, первый бит - это скрипт, а последний бит - это файл, который вы хотите вывести... УБЕДИТЕСЬ, ЧТО ВЫ ВВОДИТЕ ТАКИЕ ЗНАЧЕНИЯ, ИЛИ ЭТО НЕ БУДЕТ РАБОТАТЬ, ЭТО БЫСТРЫЙ СКРИПТ, КОТОРЫЙ Я СДЕЛАЛ.. ничего фантастического.
вот код, чтобы вы могли скомпилировать скрипт:
просто выполните ~sudo nano memDifference ~, затем скопируйте и вставьте это сюда:
#!/bin/bash
action1=$1
action2=$2
action3=$3
part1=$(($action2-$action1))
part1=$(($part1+1))
part2=$(($action1))
part1kb=$(($part1/990))
part2kb=$(($part2/990))
printf '\ndumping memory with dd & /dev/mem with these values:\n\ntotal amount ~ hex: '$action1' / decimal: '$part1kb'kb/s\nstart location ~ hex: '$action2' / decimal: '$part2kb'kb/s''\n\n'
dd if=/dev/mem of=$action3 skip=$part2 bs=1 count=$part1 status=progress
когда вы закончите, убедитесь, что вы изменили права доступа к файлу ~memDifference на 777 или хотя бы 755:
sudo chmod 777 memDifference
И это все, ребята... Я такой дебил.
так или иначе,ура наслаждайтесь х
P.S. ~если вы хотите просмотреть hex/unicode/ascii или что-то еще, просто используйте:
xxd output | less
если вы хотите изменить шестнадцатеричный код, лучшим инструментом будет:
hexcurse
это инструмент для работы с терминалом, и мне он очень нравится, работает очень хорошо!!
Мой бесплатный инструмент может извлекать расширения BIOS ROM. Я написал это изначально для DOS для сборки ноутбука, чтобы сбрасывать настройки BIOS для дампа/восстановления; он также доступен для Linux и включен в большинство дистрибутивов.