Skip to content

Change BIOS settings

Dell BIOS changes are a three-act play: stage, reboot, verify. mcidrac handles the mechanics; this guide shows the flow and the one trap.

BIOS attribute names and enum values are case-sensitive, so always copy them from the box rather than guessing:

“Show me BIOS attributes matching ‘LogicalProc’ on r740-lab.”

idrac_bios_get returns current (running values) and pending (staged but not yet applied). Non-empty pending means a config job is already queued — check idrac_jobs before piling on more changes.

“Set LogicalProc to Disabled on r740-lab, don’t reboot yet.”

idrac_bios_set PATCHes the settings with ApplyTime: OnReset and returns a job ID (JID_...). Nothing has changed on the host yet.

Reboot when convenient (reboot=true on the set call, or a graceful restart later). During POST the config job runs — the boot takes a few minutes longer than usual. Then:

“Wait for job JID_881783808368 on r740-lab and confirm LogicalProc is now Disabled.”

That’s idrac_jobs job_id=... wait=true followed by idrac_bios_get.

The trap: validation happens at apply time

Section titled “The trap: validation happens at apply time”

A successful idrac_bios_set does not mean the value was valid. Dell validates when the job runs during POST — a typo’d enum value comes back as a failed job with the real error in its message, not as a rejected API call. This is why step 3 is not optional. mcidrac’s tool output and docstrings push the job-polling habit for exactly this reason; the background is in Jobs & tasks.

idrac_bios_set reboot=true on a host that’s powered off can stage the change but fail the restart. The tool still returns the job ID with an explicit warning — the job remains queued and will run at the next boot, whenever that is. Delete the job via the iDRAC UI or apply it deliberately; don’t let it ambush a future maintenance window.