Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];

Вниз

Bios   Найти похожие ветки 

 
Ig   (2003-09-13 14:17) [0]

Как в Windows можно поменять значение в Bios"е, например поставить загрузка с CD.


 
Ig   (2003-09-13 21:19) [1]

Я точно знаю, что это можно сделать, не ужеле ни кто не знает как это можно реализовать?????????


 
NightAngel   (2003-09-14 01:15) [2]

И зачем бы это надо!?

> Как в Windows можно поменять значение
> Я точно знаю, что это можно сделать

Я тоже это точно знаю. Войти в Setup при загрузке компьютера (на моей машине - это, например, клавиша Del), и установить загрузку с CD. ;)

В BIOS"е не хранится информация о загрузке с какого-либо устройства. Подобного рода значения пишутся в CMOS. Ну так вот, под WinME, это можно сделать лЁгко, а под WinXP, для этого, Вам придётся писАть драйвер. Стандартов нет, поэтому, не факт, что будет работать на всех компьютерах. Так что, выводы делайте сами, надо Вам это, или нет.

Итак, чтение (WinME):

mov al, addr // addr in [00h..3Fh]
out 70h, al // пишем в порт адрес
jmp $+2 // не думайте, что это просто так
in al, 71h // читаем значение в al


И запись:

mov al, addr // addr in [00h..3Fh]
out 70h, al // адрес - в порт
jmp $+2 // это здесь тоже нужно
out 71h, val // пишем val в CMOS.


Под WinXP:
Читать: HalGetBusData/HalGetBusDataByOffset
Писать: HalSetBusData/HalSetBusDataByOffset
В конечном счёте всё сводится к вызову неэкспортируемых HalpGetCmosData/HalpSetCmosData. Или побайтно читать/писать порты (также, как и под WinME). Всё это только из драйвера.

По адресам 10h - 20h вычисляется контрольная сумма. Так что их изменение требует корректировки контрольной суммы. Ну а теперь некоторые адреса из CMOS. Синим подсвечены адреса, по которым вычисляется CheckSum. Таблица не новая, но это несущественно. Какие ещё есть значения легко догадаться, порывшись в Setup"e.

00h Seconds
01h Second Alarm
02h Minutes
03h Minute Alarm
04h Hours
05h Hour Alarm
06h Day of the Week
07h Day of the Month
08h Month
09h Year
0Ah Status Register A
0Bh Status Register B
0Ch Status Register C
0Dh Status Register D
0Eh Diagnostic Status Byte
0Fh Shutdown Status Byte

10h Disk Drive Type for Drives A: and B:

The drive-type bytes use bits 0:3 for the first drive and 4:7 for the other disk drive types:
00h no drive present
01h double sided 360k
02h high capacity (1.2 meg)
03h-0Fh reserved

11h (AT):Reserved (PS/2):drive type for hard disk C:
12h (PS/2):drive type for hard disk D:

(AT, XT/286):hard disk type for drives C: and D:
Format of drive-type entry for AT, XT/286:
0 number of cyls in drive (0-1023)
2 number of heads per drive (0-15)
3 starting reduced write compensation (not used on AT)
5 starting cylinder for write compensation
7 max. ECC data burst length, XT only
8 control byte
Bits:
7 disable disk-access retries
6 disable ECC retries
5-4 reserved, set to zero
3 more than 8 heads
2-0 drive option on XT (not used by AT)
9 timeout value for XT (not used by AT)
12 landing zone cylinder number
14 number of sectors per track (default 17, 0-17 allowed)

13h Reserved
14h Equipment Byte (corresponds to sw. 1 on PC and XT)
15h-16h Base Memory Size (low,high)
17h-18h Expansion Memory Size (low,high)
19h-20h Reserved

(PS/2) POS information
Model 50 (60 and 80 use a 2k CMOS RAM that is not accessible through software)
21h-2Dh Reserved

2Eh-2Fh Checksum of Bytes 10h-20h (low,high)

30h-31h Exp. Memory Size as Det. by POST (low,high)
32h Date Century Byte
33h Information Flags (set during power-on)
34h-3Fh Reserved - Put Your Name Here. ;)

CMOS Table is compiled from different sources from NightAngel. :)

Успехов. ;)



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
4-66149
Wild Sam
2003-09-26 15:29
2003.11.20
как найти handle окна, потерявшего фокус


3-65709
kad007
2003-11-01 11:09
2003.11.20
InterBase


6-66049
silver
2003-09-25 18:00
2003.11.20
Как сделать подмену своего IP


3-65759
Raduga
2003-10-31 09:11
2003.11.20
Тормоза при выборке из базы MSSql Server


3-65780
Nikolai_S
2003-11-03 10:14
2003.11.20
Сжатие запароленной базы данных MS Access





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский