Dear All,

Is it possible to change BIOS using a C/C++ programm? For example I must
activate Hyperthreading in BIOS for all machine. It would be nice to have a
script or program, which will do it automatically.

Thanks
les

Re: Change BIOS using C/C++? by Victor

Victor
Wed Oct 01 11:49:00 CDT 2008

leslie eldrige wrote:
> Is it possible to change BIOS using a C/C++ programm? For example I must
> activate Hyperthreading in BIOS for all machine. It would be nice to have a
> script or program, which will do it automatically.

Activation of hyperthreading setting in BIOS from a user-run program is
most likely pointless since if it's off, the operating system most
likely doesn't support it (it's a single CPU OS). In order to change
that, you'd need to reinstall the OS, which is unlikely to be achievable
from the same program... Just a thought.

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask

Re: Change BIOS using C/C++? by leslieeldrige

leslieeldrige
Thu Oct 02 00:59:00 CDT 2008

Hi Victor,

Literal mistake. It should be of course DEACTIVATE :) and it's only an
example.

I would like to change any BIOS setting, but is it in the fact possible to
do it from windows (and running program)?

Thanks



"Victor Bazarov" wrote:
> leslie eldrige wrote:
> > Is it possible to change BIOS using a C/C++ programm? For example I must
> > activate Hyperthreading in BIOS for all machine. It would be nice to have a
> > script or program, which will do it automatically.
>
> Activation of hyperthreading setting in BIOS from a user-run program is
> most likely pointless since if it's off, the operating system most
> likely doesn't support it (it's a single CPU OS). In order to change
> that, you'd need to reinstall the OS, which is unlikely to be achievable
> from the same program... Just a thought.
>
> V
> --
> Please remove capital 'A's when replying by e-mail
> I do not respond to top-posted replies, please don't ask
>

Re: Change BIOS using C/C++? by Tim

Tim
Thu Oct 02 01:31:09 CDT 2008

leslie eldrige <leslieeldrige@discussions.microsoft.com> wrote:
>
>Is it possible to change BIOS using a C/C++ programm? For example I must
>activate Hyperthreading in BIOS for all machine. It would be nice to have a
>script or program, which will do it automatically.

What do you mean by "for all machine"? If you release an application that
tries to turn on hyperthreading on MY machine, I'll uninstall the
application and sue your company. It's not YOUR job to reconfigure MY
computer.
--
Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.

Re: Change BIOS using C/C++? by leslieeldrige

leslieeldrige
Thu Oct 02 03:40:01 CDT 2008

Hi Tim,

If our company get new computers, then we must change some settings. For
example disable Hyperthreading in BIOS, or e.g. enable infrared for mobile
etc.

So the first possibility is to run a script or program on the new machine,
which will set all necessary options in BIOS or Windows Registry.

The second possibilitiy is to distibute first all computers to employee and
then to use a script or program remotely (e.g. WMI + C#) to set BIOS or Win
Registry.

To set a windows registry is no problem, I already created some programs,
which use WMI and it works, but my question is CAN I CHANGE BIOS ON RUNNING
WINDOWS MACHINE? If YES, which technology should I use?

Thanks for sugesstions

les

"Tim Roberts" wrote:

> leslie eldrige <leslieeldrige@discussions.microsoft.com> wrote:
> >
> >Is it possible to change BIOS using a C/C++ programm? For example I must
> >activate Hyperthreading in BIOS for all machine. It would be nice to have a
> >script or program, which will do it automatically.
>
> What do you mean by "for all machine"? If you release an application that
> tries to turn on hyperthreading on MY machine, I'll uninstall the
> application and sue your company. It's not YOUR job to reconfigure MY
> computer.
> --
> Tim Roberts, timr@probo.com
> Providenza & Boekelheide, Inc.
>

Re: Change BIOS using C/C++? by Carl

Carl
Thu Oct 02 08:30:32 CDT 2008

leslie eldrige wrote:
> Dear All,
>
> Is it possible to change BIOS using a C/C++ programm? For example I
> must activate Hyperthreading in BIOS for all machine. It would be
> nice to have a script or program, which will do it automatically.

For all practical purposes, the answer to your question is no, there's no
way to do that.

With sufficient work (which would probably entail reverse-engineering parts
of the BIOS), I'm sure it could be done, but the solution would almost
certainly be hardware and BIOS specific. There's simply no standard for how
BIOS settings are stored or manipulated.

-cd



Re: Change BIOS using C/C++? by Alexander

Alexander
Thu Oct 02 08:35:29 CDT 2008

Change boot.ini in your standard image.

"leslie eldrige" <leslieeldrige@discussions.microsoft.com> wrote in message
news:70FC8C6B-77E6-4A60-B70F-C9852AF1C28C@microsoft.com...
> Hi Tim,
>
> If our company get new computers, then we must change some settings. For
> example disable Hyperthreading in BIOS, or e.g. enable infrared for mobile
> etc.
>
> So the first possibility is to run a script or program on the new machine,
> which will set all necessary options in BIOS or Windows Registry.
>
> The second possibilitiy is to distibute first all computers to employee
> and
> then to use a script or program remotely (e.g. WMI + C#) to set BIOS or
> Win
> Registry.
>
> To set a windows registry is no problem, I already created some programs,
> which use WMI and it works, but my question is CAN I CHANGE BIOS ON
> RUNNING
> WINDOWS MACHINE? If YES, which technology should I use?
>
> Thanks for sugesstions
>
> les
>
> "Tim Roberts" wrote:
>
>> leslie eldrige <leslieeldrige@discussions.microsoft.com> wrote:
>> >
>> >Is it possible to change BIOS using a C/C++ programm? For example I must
>> >activate Hyperthreading in BIOS for all machine. It would be nice to
>> >have a
>> >script or program, which will do it automatically.
>>
>> What do you mean by "for all machine"? If you release an application
>> that
>> tries to turn on hyperthreading on MY machine, I'll uninstall the
>> application and sue your company. It's not YOUR job to reconfigure MY
>> computer.
>> --
>> Tim Roberts, timr@probo.com
>> Providenza & Boekelheide, Inc.
>>



Re: Change BIOS using C/C++? by Norbert

Norbert
Fri Oct 03 00:53:49 CDT 2008


leslie eldrige schrieb:

> If our company get new computers, then we must change some settings. For
> example disable Hyperthreading in BIOS, or e.g. enable infrared for mobile
> etc.

I also do not know any portable way to change BIOS settings. But I assume that
some of the bigger vendors (IBM, DELL etc) have created interfaces/BIOS API for
their own computer systems, so you might want to ask your vendor.

But out of curiosity: Why do you want to disable Hyperthreading? I was quite
happy to find out how to enable it because it keeps the PC running even if one
app is ill-behaved.

Norbert

Re: Change BIOS using C/C++? by Daniel

Daniel
Fri Oct 03 16:20:00 CDT 2008

you do not need to reinstall anything when you play with bios (single / smp
kernels)
there have been several posts in the past (in msdn and outside) telling
people how to deploy smp kernels without reinstalling everything!

daniel

"Victor Bazarov" wrote:

> leslie eldrige wrote:
> > Is it possible to change BIOS using a C/C++ programm? For example I must
> > activate Hyperthreading in BIOS for all machine. It would be nice to have a
> > script or program, which will do it automatically.
>
> Activation of hyperthreading setting in BIOS from a user-run program is
> most likely pointless since if it's off, the operating system most
> likely doesn't support it (it's a single CPU OS). In order to change
> that, you'd need to reinstall the OS, which is unlikely to be achievable
> from the same program... Just a thought.
>
> V
> --
> Please remove capital 'A's when replying by e-mail
> I do not respond to top-posted replies, please don't ask
>

Re: Change BIOS using C/C++? by Daniel

Daniel
Fri Oct 03 16:24:01 CDT 2008

really?!?

what about windows instrumentation?
what about apic/acpi standard interfaces?
what about user-land/mode driver modules?

ps
suggesting somebody to reverse the bios is one of the boldest things i've
heard in the last 15 years (you should copyright it and publish it! it really
made my day here! :-)

daniel


"Carl Daniel [VC++ MVP]" wrote:

> leslie eldrige wrote:
> > Dear All,
> >
> > Is it possible to change BIOS using a C/C++ programm? For example I
> > must activate Hyperthreading in BIOS for all machine. It would be
> > nice to have a script or program, which will do it automatically.
>
> For all practical purposes, the answer to your question is no, there's no
> way to do that.
>
> With sufficient work (which would probably entail reverse-engineering parts
> of the BIOS), I'm sure it could be done, but the solution would almost
> certainly be hardware and BIOS specific. There's simply no standard for how
> BIOS settings are stored or manipulated.
>
> -cd
>
>
>

Re: Change BIOS using C/C++? by Ben

Ben
Thu Oct 09 09:15:13 CDT 2008

Daniel wrote:
> really?!?
>
> what about windows instrumentation?
> what about apic/acpi standard interfaces?
> what about user-land/mode driver modules?

None of these methods (which are standardized) permit setting BIOS options.
They are mostly read-only, or edit the Plug-and-Play database.

>
> ps
> suggesting somebody to reverse the bios is one of the boldest things
> i've heard in the last 15 years (you should copyright it and publish
> it! it really made my day here! :-)
>
> daniel
>
>
> "Carl Daniel [VC++ MVP]" wrote:
>
>> leslie eldrige wrote:
>>> Dear All,
>>>
>>> Is it possible to change BIOS using a C/C++ programm? For example I
>>> must activate Hyperthreading in BIOS for all machine. It would be
>>> nice to have a script or program, which will do it automatically.
>>
>> For all practical purposes, the answer to your question is no,
>> there's no way to do that.
>>
>> With sufficient work (which would probably entail
>> reverse-engineering parts of the BIOS), I'm sure it could be done,
>> but the solution would almost certainly be hardware and BIOS
>> specific. There's simply no standard for how BIOS settings are
>> stored or manipulated.
>>
>> -cd



Re: Change BIOS using C/C++? by Ben

Ben
Thu Oct 09 09:18:12 CDT 2008

Norbert Unterberg wrote:
> leslie eldrige schrieb:
>
>> If our company get new computers, then we must change some
>> settings. For example disable Hyperthreading in BIOS, or e.g. enable
>> infrared for mobile etc.
>
> I also do not know any portable way to change BIOS settings. But I
> assume that some of the bigger vendors (IBM, DELL etc) have created
> interfaces/BIOS API for their own computer systems, so you might want
> to ask your vendor.
> But out of curiosity: Why do you want to disable Hyperthreading? I
> was quite happy to find out how to enable it because it keeps the PC
> running even if one app is ill-behaved.

oodles and oodles of third-party drivers that fail in a multi-processor /
hardware threads environment

Hyper-threading, and SMP in general, may make the computer more responsive
when running multiple CPU-bound apps, but I promise it does nothing to
prevent ill-behaved apps from bringing your computer to a halt (just hog
memory and force the OS to start paging, you'll have almost 0% CPU used but
everything stops, regardless of number of cores).

>
> Norbert