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.
1. Find the exact token
Section titled “1. Find the exact token”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.
2. Stage the change
Section titled “2. Stage the change”“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.
3. Apply and verify
Section titled “3. Apply and verify”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.
If the reboot fails
Section titled “If the reboot fails”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.