Server · Startup diagnostics

Server won't start: POST, beeps and boot failures, worked through in order

pillar guide≈ 25 min readBeginner → Advanced series (40 tutorials)

A server that won't start can be failing at any of half a dozen different points — before power reaches the board, during firmware initialization, in memory training, at a protection trip, or on the boot path after POST completes. From the chair, several of those states look identical: fans that spin and stop, a panel LED that stays dark, a logo that never clears. The difference between them is the difference between checking an outlet and replacing a motherboard, which is why this guide works in one fixed order.

The method throughout is evidence first: record what you observe before you change anything, map the observation to the startup stage it belongs to, and run the cheapest test that can discriminate between the remaining suspects. A beep code, a diagnostic LED, or a management-controller event tells you where to look — none of them by itself proves which component failed, and vendor meanings differ enough that your exact model's documentation is the authority, not folklore.

This pillar walks the complete sequence end to end. Below it, the full 40-tutorial series index expands each stage into its own guide — power states, POST codes, memory and CPU initialization, protection trips, storage and RAID boot paths, firmware recovery, and vendor-specific diagnostics (Dell, HPE, Lenovo, Supermicro).

The diagnostic sequence in 14 steps

  1. Establish the symptom and preserve the available evidence
  2. Determine whether the system has no power, standby power, or normal power
  3. Record status LEDs, beep patterns, error messages and management-controller logs
  4. Identify the last confirmed startup stage
  5. Determine whether POST starts, completes, or stops at a specific stage
  6. Check memory and CPU initialization using platform-specific evidence
  7. Investigate power, cooling, motherboard and component protection faults
  8. Check storage-controller initialization only when evidence points there
  9. Distinguish POST completion from firmware boot selection and OS startup
  10. Evaluate recent changes: firmware updates, hardware, resets, power events
  11. Select the next test based on evidence — not by replacing parts at random
  12. Apply one corrective action against a plausible cause
  13. Repeat the original test and confirm the expected behavior
  14. Document the result, unresolved uncertainty and any remaining faults
A server motherboard with its diagnostic LED cluster lit during a failed POST attempt, a hand pointing at the memory slots
A server board mid-fault: debug LEDs lit, memory slots in frame — images/hero-server-post-failure.jpg

The map you are diagnosing against

What actually happens when a server powers on

A "server won't start" is not one failure — it is any of several failures, each at a different point in a fixed sequence. The sequence starts before you press anything: as soon as the power supply has AC on its input, a low-voltage standby rail (5VSB) is live, and on most modern servers that rail powers the management controller (BMC — Dell iDRAC, HPE iLO, Lenovo XClarity, Supermicro BMC). The controller can be fully awake and network-reachable while the server is "off," which is why a dead-looking box sometimes still answers a ping on its management IP. That distinction — standby power versus running power — is the first fork in every diagnosis that follows.

Pressing the power button asks firmware to enable the main rails (12V, 5V, 3.3V and the CPU core voltages). The board's firmware (UEFI or legacy BIOS) then initializes the chipset, loads CPU microcode, and begins POST: the processor starts executing, memory is detected and trained — negotiated for speed, timing and rank, which is why a server can pause for seconds or even minutes at this stage — and devices come up: PCIe cards, storage controllers, network. Only when that initialization passes does firmware hand off to its boot manager, which selects a device from the boot order; the operating system's loader then takes over from there. Everything a technician sees — beeps, LEDs, POST codes, a stuck logo, a "no boot device" message — is a shadow of this sequence stopping at one particular point.

The table below is the reference map for the whole guide. Every later section asks one question: which row did your server get to, and which row did it never reach?

The server power-on sequence by stage: what happens at each stage, what you can observe, and what a failure at that stage looks like
StageWhat is happeningObservable signsIf it fails here…
Standby power5VSB rail live from AC; management controller may boot and run independently of the serverStandby LED on; BMC reachable over its network port even when the server is "off"No LEDs at all, no BMC — start at the power source (section 03)
Power-on signalButton (or BMC command) triggers firmware to enable the main railsFans begin to spin; board activity startsStandby on but button does nothing — sections 03 and 08
Firmware initUEFI/BIOS loads from flash, initializes chipset and base platformPOST display may appear; vendor-specific first beep or codeFans spin, then silence — no display, no beeps (sections 05–06)
CPU bring-upMicrocode loaded, processor begins executing firmwareBoard CPU debug LED on where fitted; a pause is normalVendor CPU error code or beep — section 07
Memory trainingDIMMs detected and trained for speed, timing and rank; the longest POST phaseA pause from seconds to minutes; longer after config changesHang or loop in this phase — section 07
Device initPCIe devices, storage controllers and NICs initializeController prompts may appear (RAID BIOS, HBA screens)Hang at a controller prompt — section 09
POST complete / handoffFirmware hands off to the boot manager; logo usually clears or changesBoot menu, UEFI shell, or OS loader appears"No boot device," wrong device selected — section 10
OS loadBoot loader reads disk; kernel and OS startOS splash screen, login promptOS-side errors — a different discipline (section 10)
Server startup checkpoints: power supplies, motherboard, CPU, memory, storage and front panel A circuit-style illustration of a server power-on sequence. Power from two redundant PSUs flows into the motherboard; pulses travel in order to the management controller, the CPU, the memory modules, the storage backplane and finally the front panel. One memory module is flagged amber to show where a fault would stop the sequence. PSU 1 PSU 2 AC IN · 1+1 REDUNDANT MOTHERBOARD BMC PWR CPU MEM BOOT ! DIMM A · B · C · D CPU DRIVE 1 DRIVE 2 STORAGE / RAID CONTROLLER POWER STANDBY power rails → BMC → CPU bring-up → memory training → storage init → handoff · a fault stops the sequence at one checkpoint — find which one

A server can be "on" in three different ways. Standby-only (BMC alive, main rails off), running (POST/OS active), or BMC-only after a fault where the management side survives but the platform does not. Before any test, say which one you are actually looking at — most misdiagnoses start from treating "the BMC answers" as "the server is fine."

Step 1 — before anything else

Establish the symptom and preserve the evidence

The single highest-yield habit in server startup diagnosis is boring: write down what you observe before you change anything. A failed start leaves evidence in several places at once — the state of the panel LEDs, the beep pattern (if there is one), the firmware's own record of where initialization stopped, and the management controller's event log, which timestamps each power cycle. The moment you reseat a module, clear settings, or flash firmware, some of that evidence is gone or overwritten. Ten minutes of recording now saves an hour of "I think it beeps twice" later.

There is also a practical reason to record first: the same server can present differently on each attempt. A marginal connection may fail once and pass three times; a latched protection fault will fail identically every time until cleared; an intermittent memory fault may need several cycles to show. If you do not note what happened on each attempt — not just the first — you lose the pattern, and the pattern is usually the diagnosis.

  1. Note the exact behavior. Press the power button once and watch: what changes, how long it takes, what stops. Record whether anything happens at all — a standby LED, a fan spin-up that dies, a beep you can count. "It won't start" is not an observation; "fans spin for about eight seconds, then stop, no display" is one.
    Server front panel showing the power button and status LEDs during a failed start attempt
    Front panel power button and status LEDs during a failed start — images/front-panel-power-leds.jpg
  2. Check whether the management controller is reachable, and pull its last log entries. If the BMC (iDRAC, iLO, XClarity, Supermicro BMC) answers on its network port, it has probably been recording power events, sensor faults and POST results with timestamps — including from attempts you did not watch. Export or screenshot the hardware event log now; do this before any reboot, because some entries are cleared or re-sequenced by a full power cycle.
    Rear I/O of a server with the dedicated out-of-band management network port highlighted
    Rear I/O with the dedicated management (BMC) network port — images/bmc-management-port.jpg
  3. Record recent changes and power events. A firmware update, a moved or replaced component, a CMOS reset, a rack relocation, or an outage in the last few days changes which suspects are live. Note what changed, when, and whether the failure started immediately after or on the next power cycle.
    Rack unit with its asset label and service tag visible for a symptom record
    Asset label and service tag — identify the exact model and revision before looking up any code table — images/asset-label-service-tag.jpg
  4. Photograph and label the current configuration. Before touching a single component, photograph the front and rear, and if you will open the chassis, label or sketch which DIMMs sit in which slots. When a test later changes the configuration, this is what lets you restore it — and what makes your records mean something to anyone else.
    Open server chassis with numbered labels on each populated memory slot
    Populated DIMM slots labeled before any test — images/labeled-dimm-slots.jpg
Symptom record template
SERVER STARTUP — SYMPTOM RECORD
Server ID / asset tag:
Model, service tag and firmware version:
Date/time observed (and on which attempt):
Power state:            [ no power | standby only | power-on ]
Button press result (what changes, how long):
Standby LED:            BMC reachable (yes/no, IP):
Beep pattern (count + gaps, verbatim):
POST code / debug LEDs (verbatim, in order):
BMC log entries (timestamp + text):
Recent changes (power event, move, upgrade, firmware, reset):
Environment (room temp, rack position, PSUs in use):

Fill this in once at the start and again after every test. The record is what turns a sequence of attempts into evidence.

Example BMC event log (fictional)
# Fictional sample. Real formats differ per vendor (IPMI SEL, iLO events, XClarity).
12 | 06/14/2026 | 09:41:07 | Memory DIMM_A1        | Correctable ECC        | Asserted
13 | 06/14/2026 | 09:41:07 | Memory DIMM_A1        | Uncorrectable ECC      | Asserted
14 | 06/14/2026 | 09:58:32 | System Event          | POST failed: memory init timeout | Asserted
15 | 06/14/2026 | 10:02:11 | Power Unit PSU_1      | AC power restored      | Asserted

Read entries oldest to newest and match timestamps against your own attempts. A memory error followed by a POST timeout in the same window is a much stronger lead than either entry alone — but it still points at an area, not a proven part.

Do not burn cycles while you are still observing.

Repeated rapid power cycling can latch some faults into a harder state and overwrites the "first failure after event X" information that timestamps provide. If you need to re-test, do it deliberately: one attempt, observe, record, then decide. The exception is when a single clean cycle is itself part of the test (section 13).

Steps 2 — the first fork

No power, standby power, or power-on?

Every later test depends on knowing which of three states you are in, and the three have completely different suspect lists. No power at all — no standby LED, no BMC, nothing when the button is pressed — means the problem is upstream of the board: the outlet, the PDU, the cables, or the power supplies themselves. Standby power without startup — a standby LED on (or a reachable BMC) but the button producing nothing — narrows things to the power-on path: the button circuit, a latched fault, or a board that will not enable its rails. Power-on with failed POST — fans and activity, then silence, beeps or a hang — puts memory, CPU, firmware and board on the list and takes the power source largely off it.

The test is cheap and should always come first, because "it has power" is an assumption people make constantly. A server behind an unlabeled PDU outlet, a cable that looks seated but is not, or one of two redundant PSUs carrying everything while its partner is dead — all of these read as "the server is fine electrically" from the front panel.

  1. Verify the power source end to end. Confirm the PDU outlet or breaker is live (test with a known-good load if you have one), and that every cable in a redundant system is actually plugged into a live feed. A 1+1 server with both cables on the same failed PDU bank has no redundancy at all.
    PDU outlets with two server power cables plugged in, one per feed
    PDU outlets with both server power cables seated — one per feed where the room provides them — images/pdu-outlet-cables.jpg
  2. Read the rear PSU status indicators. Each supply shows its own state — input present, output good, fault. On a redundant pair, check both: one may be failed while the other silently carries the load, which is invisible from the front panel until the good one also fails.
    Rear of a server showing two power supply units with their status indicator LEDs
    Rear PSU status indicators on a redundant pair — read both, not just the one feeding the box — images/psu-status-rear.jpg
  3. Check cable seating and any rear power switches. Some supplies have a physical input switch; some cables latch. Reseat both cables firmly and confirm the switch position. This is the cheapest fix in the entire guide, which is why it comes before anything that requires opening the chassis.
    AC power cable fully latched into a server power supply inlet
    AC cable fully latched into the PSU inlet and input switch in the on position — images/psu-cable-seating.jpg
  4. If the source is good, test the power-on path. With standby confirmed, try the button once and observe. If nothing happens and the BMC is reachable, issue a remote power-on from it — if that works while the physical button does not, the button circuit or its wiring is implicated; if neither works, the board's power-on path or a latched fault is the suspect (section 08).
    BMC control panel with a remote power action selected (fictional layout)
    Remote power-on from the BMC control panel — a clean test of the button circuit — images/bmc-power-control.jpg
The three power states: how each is confirmed, what it rules out, and where the diagnosis goes next
StateConfirmed byRules outNext
No power at allNo standby LED, no BMC response, no fan on button pressBoard, POST, memory and storage causes entirely — nothing is energizedPower-source sequence above (section 03 steps)
Standby only, no startupStandby LED on or BMC reachable; button produces nothing (or a brief spin-down)AC-side problems; points at the power-on path or a latched faultStep 4 above, then section 08 if the PSU is healthy
Power-on, POST failsFans and board activity begin, then silence, beeps, a code or a hangThe power stage; points at firmware, CPU, memory or boardSections 04–07

Power supplies are not user-serviceable.

Never open a PSU, probe its internal circuits, or bypass its safety interlocks — the input stage holds hazardous voltage even when unplugged. With redundant supplies, one rail can remain live while you work on the other: treat "one PSU removed" as "the system is still energized." All PSU checks in this guide are external: status LEDs, seating, and swapping a known-good unit where the vendor documents it as user-serviceable.

Step 3 — four signal channels

Reading startup signals: beeps, LEDs, POST codes and BMC logs

A failing server rarely stays silent about where it is stuck — but it reports through four different channels, each with its own strengths and blind spots. The beep speaker gives a coarse, vendor-defined pattern (many servers have no speaker at all, so its absence proves nothing). Front-panel LEDs show power state and latched faults, but their meaning varies by model. Board debug LEDs or a POST code display — two-digit hex on a small panel, colored LEDs near the socket, or codes on video/serial — are the most specific signal, naming the initialization stage that failed. And the management controller log is the only channel that survives reboots and records what happened before you were standing there watching.

The rule for all four: a code names an area to investigate, it does not prove a part is dead. A "memory" POST code means memory initialization failed — the cause may be a DIMM, a slot, the CPU's memory controller, or a configuration the firmware rejects. And because meanings are vendor-specific and revision-specific, the one lookup that pays for itself is the service manual or POST-code table for your exact model — not a generic "beep code" list from search results, which mixes at least three vendors' tables together.

The four startup signal channels: their source, what each can tell you, and the limits of each
SignalSourceWhat it can tell youLimit
Beep patternFirmware driving an onboard speaker (some servers have none)Coarse stage or category per the vendor's table — count and gaps matterMeanings differ by vendor and revision; no speaker = no signal at all
Front-panel LEDsBMC / firmwarePower state, service-attention latches, PSU fault mirrorsModel-specific; a lit "fault" LED still needs the log to say why
Debug LEDs / POST code displayFirmware — hex code or staged color LEDs (PWR/CPU/MEM/BOOT)The specific initialization stage that failed, in orderNames an area, not a proven component; read the sequence, not just the final state
BMC / management logManagement controller event log (SEL on IPMI-based systems, vendor equivalents)Timestamped faults across attempts — survives reboots, records unattended failuresFormat differs per vendor; entries describe events, not always causes
  1. Find the right document for your exact model and firmware revision. The service manual or hardware guide carries the beep-code table, the LED state definitions and the POST code list. Note the firmware revision it covers — code tables do change between revisions. If you cannot verify a code against your vendor's documentation, say so in your record instead of assuming a meaning.
    A vendor service manual page showing a POST code table for a specific server model
    The vendor's own POST-code table for the exact model — the only authority on what your codes mean — images/vendor-post-code-table.jpg
  2. Record the signal verbatim. Count beeps including the gaps between them ("one long, two short" is not a count — write it as heard). For LED clusters, note the order in which states appeared and where it stopped, with the BMC log timestamp if available. A staged LED sequence that reaches MEM and stops is more informative than a final state read once.
    Diagnostic LED cluster on a server motherboard near the CPU socket, one LED lit
    Board debug LED cluster — record the sequence it walked through, not just where it ended — images/debug-led-cluster.jpg
  3. Cross-check against the management controller log. The same failure usually appears in two channels at once: the code or LED you see, and a logged event with a timestamp. When they agree, your reading of the stage is solid. When they disagree — a "memory" code but the log says a power event — trust the timestamped log for when, and treat the code as the area to test.
    BMC hardware event log entry showing a memory error with timestamp (fictional layout)
    BMC event-log entry for the same failure you observed at the panel — agreement between channels is what makes a stage reading reliable — images/bmc-sel-entry.jpg

Step 4 — pin the location

Identify the last confirmed startup stage

With the observations from sections 02–04 in hand, the diagnostic question becomes precise: what is the furthest point in the section-01 sequence that you can confirm actually happened? Work backwards from what you know worked. If the BMC answered before the failure, standby power and the management side are confirmed. If fans spun up, the power-on signal and main rails are confirmed. If a memory-training pause was visible (or logged), CPU bring-up is confirmed and memory is where things stopped. Each confirmed stage removes a class of suspects; each unconfirmed one keeps them alive.

This is also where the five failure states get named, because they are different problems with different first moves — and conflating them is how people end up replacing motherboards that only needed a cable reseat:

The five server startup failure states: what confirms each, what it does not yet rule out, and where the diagnosis continues
Failure stateConfirmed byNot yet ruled outContinue at
No powerNothing — no standby LED, no BMC, no fanEverything downstream of AC; the suspect list is outlet, PDU, cables, PSUsSection 03 power sequence
Standby power without startupStandby LED or live BMC; button (and remote power-on) produce no main-rail activityButton circuit, latched faults, board power-on path — and still the PSUs' output sideSection 03 step 4, then section 08
Power-on with failed POSTMain rails active (fans, LEDs) but initialization never completes — silence, beeps, code or hangFirmware, CPU path, memory path, board — the big list; power source largely clearedSections 06–08
POST complete, firmware/boot-device failurePOST finished (logo clears, completion beep per vendor, or "no boot device" message)Storage controller, drives, cables, firmware boot order and mode — but not CPU/memory as the cause of the start failureSections 09–10
Operating-system boot failureBoot manager or OS loader runs; failure happens inside the OS stageOS files, drivers, recent OS changes — all pre-POST hardware is cleared as the cause of "won't start"Section 10 and the related guides

A worked example: a server whose fans spin for about ten seconds and then stop, with the BMC showing "POST failed: memory init timeout" at the matching timestamp. Confirmed stages: standby power, power-on signal, main rails, firmware init, CPU bring-up (the log got past it). Unconfirmed: memory training — that is where the sequence stopped. The diagnosis now has a location, and everything in sections 07 onward applies to that location specifically. Without the BMC entry, the same ten seconds of fans would have been an unlocated "no POST" and the suspect list would have been three times as long.

Step 5 — three sub-cases

Did POST start, complete, or stop at a specific stage?

Once power is confirmed, "failed POST" splits into three behaviors with different first moves. POST never visibly begins: fans spin and then silence with no display, beeps or code — the failure sits in the earliest initialization (firmware flash integrity, chipset, CPU path) or the board simply will not get going. POST stops at a stage: a beep pattern, a POST code, or a debug-LED sequence that reaches one point and halts — the location is given to you, your job is verification. POST completes but handoff fails: initialization passes, then the boot manager cannot find or start a device — which is no longer a POST problem at all (section 10).

Two nuances matter here. First, a stuck manufacturer logo is not proof of where you are. On some platforms the logo appears before memory training finishes; on others it appears only after POST completes. Whether your server's logo sits early or late in the sequence is a vendor-specific fact — check the platform documentation rather than assuming "logo = POST done." Second, headless servers (no monitor attached) still report: the POST code may be visible on the BMC's virtual console or serial output, and the event log records completion or failure either way. A server with no display attached is not a server you cannot diagnose.

POST failure behaviors: what each suggests, the first evidence to collect, and the action to avoid
BehaviorSuggestsFirst evidence to collectAvoid
Fans spin, then silence — no display or beeps at allEarly POST failure: firmware, chipset or CPU pathBMC SEL at that moment; debug LEDs if fitted; whether it is identical every attemptRapid repeated power cycles while still observing (section 02)
Beep pattern or POST code displayedA specific initialization area per the vendor tableThe exact pattern/code verbatim, plus the vendor table for this model and revisionTreating the named area as a proven dead component before testing it
Long pause, then restart loopMemory training timeout or a protection trip cycling the boardPause duration; whether it changes with DIMM count; PSU status and BMC power eventsClearing firmware settings before recording the current state
Logo hangs indefinitelyStage depends on platform — could be memory, could be storage initDoes the BMC say POST completed? Any drive activity or controller prompt?Swapping drives before checking controller status (section 09)
POST completes, then "no boot device" or drop to shellBoot path — controller, drive, cable, or firmware boot entryFirmware boot list; controller status screen; exact message textInitializing or recreating any array as a "fix" (section 09)

Step 6 — the longest phase, the most failures

Memory and CPU initialization: platform-specific evidence

Memory training is where most "no POST" servers actually die, for a simple reason: it is the longest phase and the one with the most variables. The firmware must detect every populated DIMM, verify it against the platform's supported configurations (generation, rank, population pattern per socket), and train the memory controller to its speed and timings — which takes seconds on a small box and minutes on a dense two-socket server, longer still after any configuration change. A hang here looks like "nothing is happening" even though the system is working; a loop here usually means training keeps failing and the firmware is retrying.

CPU bring-up failures are less common but look almost identical from the chair — because on many platforms the CPU's memory controller is what performs training, a dead or poorly seated processor produces "memory" symptoms. That is why this section treats the two paths together and why the evidence has to be platform-specific: the supported population table for your exact model (which slots, how many per socket, which channel pattern), the firmware's own memory error log, and — only if those point there — the physical checks of power connectors and cooling contact. The desktop-oriented RAM guide covers the isolation logic in general; server memory has its own rules, covered in the server CPU, ECC RAM and redundancy guide.

  1. Check the population against the platform's supported configuration. Server boards publish a memory population table: which slots must be filled for single- or dual-socket operation, how many DIMMs per channel, and which combinations are unsupported at all. A population the firmware does not support will fail initialization every time — no component is defective. Compare what is installed against the table before touching anything.
    Memory population diagram for a dual-socket server board showing supported slot patterns
    The platform's supported memory population pattern — the document that decides whether your configuration can work at all — images/memory-population-diagram.jpg
  2. Run one-DIMM isolation in the recommended test slot. If the population checks out and POST still fails in the memory phase, reduce to a single known-good DIMM in the slot the manual designates for single-module operation. A server that now passes training has localized the fault to the removed modules, their slots, or the combination — and you have not yet replaced anything. Record which module sits where before and after; on multi-socket boards, test per socket so a fault cannot hide in the other half.
    A single DIMM installed in the manual's recommended testing slot on a server board
    Single-DIMM isolation: one known-good module in the manual's designated test slot — everything else removed and labeled — images/single-dimm-test-slot.jpg
  3. Read the firmware's memory error records before replacing a module. Server firmware logs ECC events — correctable counts per DIMM, and fatal errors with a slot identifier. A DIMM showing thousands of correctable errors trending toward fatal is a much stronger case than "the system won't POST," and it tells you which slot to test first. These records live in the BMC log or the firmware's own diagnostic section; pull them before any hardware moves.
    Firmware memory diagnostics screen listing ECC error counts per DIMM (fictional layout)
    Firmware memory-error records with per-DIMM counts — the evidence that decides whether a module is actually the fault — images/firmware-memory-log.jpg
  4. If the CPU path is implicated, check its three physical dependencies. The processor power connectors (separate from the main board rails on most servers — a loose one disables the memory controller and looks exactly like a memory fault), seating per the vendor's service procedure, and cooling contact — an improperly seated heatsink can keep a server from starting or shut it down within seconds of rail enable. These checks follow the manufacturer's socket procedure; if you are not comfortable at the socket, this is the point to stop and escalate (section 13).
    CPU power connectors and heatsink on a server motherboard before a seating check
    CPU power connectors fully seated and heatsink contact verified — the two physical checks behind most "memory" symptoms that are not memory — images/cpu-power-connector.jpg

A failed POST is not a motherboard verdict. The memory path includes the modules, the slots and their traces, the CPU's memory controller, and the power delivery to all of it. Replacing the board because "POST failed" skips every one of those — and it is the most expensive wrong turn in this guide. Isolation (population → single DIMM → slot matrix → firmware records) is what converts a POST failure into a component-level diagnosis.

Step 7 — the server refusing to start itself

Power, cooling and motherboard protection faults

Servers are built to protect themselves: overcurrent on a rail, a voltage out of range, a thermal threshold crossed, or a fan detected as missing or stalled will make the platform refuse to start — or shut itself down within seconds of starting. From outside, a protection trip can look exactly like a component fault: dead panel, no POST, maybe a single latched LED. The difference is that a protection trip has a reason recorded somewhere (PSU status, BMC sensor event, fan-fault message), and it usually clears when the triggering condition is removed — while a failed component keeps failing identically.

The practical consequence: before any board-level conclusion, rule out the protection layer. It is cheap to check (status LEDs, fan presence, thermal readings from the BMC) and it explains a large share of "it worked yesterday" cases — a clogged intake after a filter change, a fan that survived its mount but not a vibration, a PSU that faulted on a brownout and latched.

Common server protection mechanisms: what triggers each, the observable sign, and the safe check to run
ProtectionTypical triggerObservable signSafe check
Overcurrent / shortFault on a rail or an added component drawing beyond specImmediate shutdown, may latch; PSU fault LED; identical failure every attemptReturn to the last known-good configuration, removing added components one at a time (section 13)
ThermalA sensor above threshold at or before startupBMC thermal event logged; shutdown shortly after spin-up; hot air at the intakeVerify fans spinning and airflow unobstructed; read BMC temperatures — section 08 step 3
Fan faultA fan missing, stalled or reading out of rangeRefusal to start or rapid shutdown; fan-fault LED or message at POSTConfirm every fan is present and spinning; check for obstructions and failed mounts before touching settings
Over/under-voltageRail outside limits — brownout, bad feed, failing PSUPSU status LED in fault; BMC power event; may recover after a clean cycleCheck both PSUs' status in a redundant pair; confirm the feed voltage is normal at the PDU
  1. Verify fans and airflow before anything else. Every fan present, spinning at startup, with unobstructed intake and exhaust. A server that will not start on a fan fault is doing its job — the question is whether the fault is real (a dead or obstructed fan) or stale (a sensor reading after a fan was replaced). Watch actual airflow, not just the LED.
    Server fan wall with airflow direction arrows visible on the chassis
    Fan wall and chassis airflow arrows — every module present, spinning, path clear — images/fan-wall-airflow.jpg
  2. Read PSU status on both supplies of a redundant pair. A latched fault on one supply can prevent startup even if the other is healthy, and a supply that "works" while carrying the whole load may be the one about to fail. Record each unit's LED state; swap in a known-good unit only where the vendor documents hot-swap or cold-swap as user-serviceable, and with the system powered down per its manual.
    Two redundant server power supplies with one showing a fault state on its status LED
    Redundant PSU pair with one unit in fault — the healthy partner can carry the load, but the fault still blocks startup until addressed — images/redundant-psu-status.jpg
  3. Pull thermal and power events from the BMC. The management controller keeps sensor history: temperatures per zone, fan speeds, PSU input/output states, and the timestamps of protection actions. A "fan fault asserted" at 09:58 that matches your failed attempt is a diagnosis with a location; without it you are guessing which of the four protections fired.
    BMC thermal and power readings screen showing temperatures, fan speeds and PSU states (fictional layout)
    BMC sensor view: temperatures, fan speeds and PSU states — the record of which protection actually fired — images/bmc-thermal-screen.jpg

Do not disable protection to make the server start.

Bypassing a fan-fault lockout, clearing a latched PSU fault without understanding its cause, or running with cooling disabled trades a downed server for a cooking one. Protection settings exist because the failure they prevent is worse than the downtime. If a protection keeps re-asserting, that is evidence about a real condition — find it, or escalate to qualified service.

Step 8 — only when the evidence points here

The storage-controller and boot-device path

Storage is checked last in a startup diagnosis for a reason: it is the stage with the most data attached to it. A server that fails before POST completes has not yet touched its arrays, so storage work at that point changes variables you do not need to change. But once evidence points here — POST completes with "no boot device," a hang during drive detection, or a controller prompt that never resolves — the path to check is fixed: controller initialization, then the physical chain (cables, backplane, drives), then the firmware's view of what it found. The RAID controllers guide covers how HBA and RAID cards differ; here we only need to know which one you have, because its status screen is where the evidence lives.

  1. Read the controller's own status screen first. Most RAID controllers and HBAs present a setup/status prompt during POST (or via the BMC virtual console): which drives are detected, their state, and whether the array is intact. This screen answers most "no boot device" questions without touching anything — a missing drive, a dropped member, or a controller that sees nothing at all each point somewhere different. Record exactly what it shows, including any warning banners.
    RAID controller status screen listing detected drives and array state (fictional layout)
    The controller's own drive-detection screen — the first source of truth for any storage-side boot failure — images/raid-controller-status.jpg
  2. Isolate the physical chain one link at a time. SAS/SATA cables, backplane connectors and drive seating are the common physical failures — a cable that survived a rack move but not its latch. With the system powered down per the manual, reseat in order: drives, then backplane-to-controller cabling. Change one link per attempt so the result tells you which link mattered.
    SAS cable connections between a server backplane and its storage controller
    Backplane-to-controller cabling — reseat one link per power cycle so the outcome identifies the link — images/sas-cable-backplane.jpg
  3. Verify the boot device appears in the firmware's boot list. After the controller sees its drives, the firmware must list a bootable entry for one of them. If the drive is healthy and the array intact but the firmware shows no boot entry (or lists it as non-bootable), the fault is in the boot configuration — order, mode (UEFI vs legacy), or a missing entry — not in the hardware. That changes the next step from a hardware test to a configuration comparison against a known-good record (section 10).
    Firmware boot menu listing storage devices and their boot entries
    The firmware boot list — where a healthy drive that is not listed becomes a configuration problem, not a hardware one — images/firmware-boot-list.jpg

Never initialize, recreate or delete an array as a troubleshooting step.

Those actions destroy data, and none of them is a diagnostic. If the controller reports a degraded or failed array, the correct moves are: confirm the state in its own screen, check the drives and cabling above, verify backups exist, and then decide — rebuild, restore, or escalate — with the data's fate explicit. A boot failure on a healthy-but-misconfigured array is fixed in firmware settings; a boot failure on a failed array is a recovery decision, not a config tweak.

Step 9 — past POST, three different "won't start"s

POST completion vs firmware boot selection vs OS startup

When POST completes, the phrase "the server won't start" stops being accurate — the platform started; something downstream of it did not. Three distinct failures remain, and they are owned by three different layers. Firmware boot selection: the boot manager runs but finds no usable device — wrong order, a missing entry, or a mode mismatch where the firmware expects UEFI and the disk is legacy (or vice versa). Loader failure: a device is selected, its boot loader runs, and fails — "missing operating system," an MBR/GPT complaint, a corrupted EFI file. OS startup failure: the kernel loads and the OS begins, then dies — a driver fault, a failed update, a damaged volume. Each has different evidence locations and different risk profiles; the first is safe to inspect freely, the last may be the only copy of data that was not backed up.

The separating question is always how far did it get, and what exactly did it say? A drop to an EFI shell with no boot entries is a firmware configuration problem. A vendor-specific "no boot device" before any loader runs is usually the same layer or the controller layer (section 09). An OS error screen — however ugly — means the hardware and firmware did their jobs, and the diagnosis moves into operating-system territory, where the startup and boot recovery guide and the Windows Server installation guide cover the OS-side paths.

The three post-POST failure layers: typical behavior, where the evidence lives, and the first safe check for each
Failure layerTypical behaviorEvidence lives inFirst safe check
Firmware can't find a device"No boot device," drop to EFI shell or UEFI prompt, no loader ever runsFirmware boot list; controller status screen (section 09)Is the drive listed anywhere? Cables and backplane seated? Entry present?
Boot entry missing or mode mismatchDevice present but not bootable; UEFI/legacy mismatch messagesFirmware boot order and boot-mode settings; how the OS was originally installedCompare current settings against a recorded known-good configuration — do not guess edits
Loader fails"Missing operating system," MBR/GPT errors, EFI loader errorsDisk contents; recent changes to the boot volume or firmwareConfirm backups exist before any disk-level work; read the exact message text
OS starts then failsLogin never appears; crash screens; recovery environment; dump filesOS event logs once reachable; update history; driver changesTreat as an OS problem — pre-POST hardware is cleared for this failure

Step 10 — the highest-yield question

Evaluate recent changes: firmware, hardware, resets, power events

A large share of server startup failures have a known cause that happened recently, and finding it is cheaper than any test. The question to answer before deeper work is: what changed between the last time this server started normally and now? The candidates fall into five buckets — firmware updates, hardware additions or replacements, configuration resets (including a dead CMOS battery), power events, and physical moves — and each breaks startup in a characteristic way that points at its own first check.

Two of these deserve extra care. A firmware update that fails to complete can leave the board unable to initialize at all, and the recovery path is vendor-specific (dual-bank firmware, a recovery mode, or service) — which is why you check what recovery your platform supports before attempting anything. And a configuration reset — from a blown CMOS battery or an accidental clear — does not just lose settings: on servers, defaults can change boot mode, disable the RAID controller's boot path, or drop memory to a configuration the workload cannot run, so "it reset itself" is a legitimate startup failure with a configuration-shaped fix.

Recent change types: how each breaks server startup, how reversible it is safely, and what to check first
ChangeHow it breaks startupSafe reversalCheck first
Firmware / BIOS updateNew validation rules reject current hardware; settings lost; a failed flash can block initialization entirelyVendor recovery path (dual-bank where supported) — not a blind re-flashVersion history vs last known good; what recovery this platform supports
DIMM added or movedUnsupported population, poor seating, incompatible module in the setReturn to the previous population exactly as labeledThe platform's supported configuration table (section 07)
CPU, PSU or other component swappedIncompatibility, poor seating, missing power connectorRestore the original component from the asset recordPart numbers against the label/record; connectors seated per manual
CMOS battery low / settings resetFirmware falls back to defaults — boot mode, controller path or memory config change without anyone actingRe-enter the recorded known-good configurationCompare current firmware settings against the record; check clock drift as a battery clue
Power outage or rack moveLoose cables, tripped protection, latched fault state after an unclean shutdownReseat per manual; clear latches only after the cause is understoodPhoto/label evidence first (section 02), then the power sequence (section 03)

Step 11 — the decision discipline

Choose the next test from evidence, not from parts on a shelf

The discipline that separates diagnosis from part-swapping: each observation narrows the suspect list, and the next action is the cheapest test that can discriminate between what remains. A "memory" POST code does not justify buying DIMMs — it justifies a population check and a single-DIMM isolation, which cost an hour and no money. Observations indicate possible causes; only a completed test under controlled conditions converts a suspect into a diagnosis. The table below is the working reference for that step — pick the row that matches your observation and follow its two right-hand columns.

Diagnostic decision table: observed behavior, the likely diagnostic area, the next evidence to collect, and the next action
ObservationLikely diagnostic areaNext evidence to collectNext action
No LEDs, no BMC, nothing on button pressPower source or PSUsOutlet/PDU state, both PSU status LEDs, cable seatingSection 03 power sequence, outlet inward
Standby LED on; button does nothingPower-on path (button circuit, latched fault, board)BMC reachable? SEL entries around the attempt; try remote power-onBMC power command test, then section 08 checks
Fans spin, then silence — no display at allEarly POST: firmware, chipset or CPU pathDebug LEDs/POST code if fitted; BMC SEL at the moment of failureSection 07 isolation, one variable per attempt
Repeated beeps or a specific POST codeThe init area named by the vendor table for this modelExact pattern/code verbatim; vendor table for model + firmware revisionCross-check BMC log, then test the named area (sections 04, 07)
Long pause in the memory phase, sometimes a restart loopMemory training: DIMM, slot, population or controllerPause duration; does it change with DIMM count? Firmware ECC recordsPopulation check, then one-DIMM isolation (section 07)
Starts, then immediate shutdown — identical every timeProtection trip or a component fault on the railsPSU status LEDs; BMC power/thermal/fan events with timestampsSection 08 protection table, one row at a time
POST completes, then "no boot device"Boot path: controller, drive, cable or firmware entryController status screen; firmware boot list; exact messageSection 10 (and 09) — no array configuration changes
Hangs while detecting storage drivesStorage controller, backplane or cablingWhich drives are present; hang duration per configurationIsolate drives and cables one link at a time (section 09)
Failure began right after a firmware updateFirmware validation rules or an incomplete flashVersion history; vendor recovery support for this exact modelVendor recovery path — no blind re-flash (series tutorial 26)
Starts only after a full power cycleIntermittent: latch state, thermal condition or marginal connectionPattern record: cold vs warm start, environment, attempt countCapture evidence on every occurrence (series tutorial 31)

Where are you right now?

Pick the starting condition that matches your server. The result changes with your selection and points at the section (and evidence) that applies to it.

Steps 12–13 — one action, then proof

Apply the corrective action — and verify it with the original test

A corrective action is only justified once a test has identified a plausible cause, and it should be chosen by risk order: reseat or reconfigure first, replace second, flash firmware last. Each class carries different consequences — a reseat is reversible in minutes; a part swap changes the asset record and may need a matching return; a firmware flash can, if interrupted, require vendor recovery. One action per attempt, recorded before and after, so that when the next test passes (or fails) you know exactly what changed.

Verification is where most "fixes" quietly fail: the original failing test must be repeated under the same conditions and pass — same power state, same configuration, same environment. A server that failed cold after an overnight should be tested cold; a server that failed at 26°C ambient in a hot aisle should not be declared fixed from a cool bench. And "it started once" is not verification for an intermittent fault — the pattern from your records (section 02) defines how many cycles, over what period, count as confirmed.

  1. Perform the single corrective action, fully and cleanly. Reseat with both retention clips actually engaged; reconnect a power connector until it locks; restore a configuration value to its recorded setting. A half-done action is a new variable you did not intend — and the most common reason a "fixed" server fails again.
    A hand seating a DIMM into a server slot with both retention clips engaged
    The corrective action done fully: module seated, both retention clips engaged — no partial fixes — images/dimm-reseat-clips.jpg
  2. Record the configuration before and after any setting change. Firmware settings screens photographed (or exported) before the change and after it make the fix auditable — by you next month, or by the technician who inherits the box. For hardware swaps, record part numbers, serials and slot positions in the same record.
    Firmware settings screen captured before and after a configuration change (fictional layout)
    Firmware settings captured before and after — the audit trail that makes a fix repeatable — images/firmware-settings-screen.jpg
  3. Repeat the original test under the same conditions, for as many cycles as the pattern requires. The test that failed is the test that must now pass — cold start if it was a cold-start failure, full power cycle if that is what the server does in service. For intermittent faults, run the number of cycles your records say the fault used to need, and note any attempt that still misbehaves instead of declaring victory early.
    Server completing POST and reaching the operating system login prompt after repair
    The original test now passing: full POST to the OS login, under the conditions that originally failed — images/post-complete-os-login.jpg

Know your stopping condition before you start. Socket-level work, PSU internals, array recovery on un-backed-up data, and firmware recovery on an unfamiliar platform are qualified-service territory for most shops. Reaching that boundary is not failure — it is the diagnosis doing its job: telling you the next step needs different tools or a vendor contract. Escalate with your symptom record attached; it is worth more than any verbal handover.

Step 14 — make the fix durable

Document the result, the uncertainty and what remains

The diagnosis is not finished when the server starts; it is finished when someone else can read your record and reproduce the reasoning. A complete record has five parts: the original symptom (from section 02), the evidence that located the failure, the tests run with their results, the corrective action, and the verification — plus an explicit note of what remains uncertain. "Memory training failed; DIMM in slot C3 removed and system trained cleanly across five cold starts; other slots untested" is a complete record. "Replaced a stick and it works now" is not, because the next failure will start from zero again.

Uncertainty is a legitimate outcome, not a gap to hide. If the fault was intermittent and only appeared once, say so — and note the conditions under which it might return, because that is exactly what the next technician needs. If a second latent fault was found along the way (a degraded array member, a weak PSU partner, a low CMOS battery), list it as a follow-up with its own risk: the server may be fixed for today's failure while still carrying tomorrow's.

Resolution record template
SERVER STARTUP FAILURE — RESOLUTION RECORD
Server ID / asset tag:
Symptom (from initial record, section 02):
Failure state:        [ no power | standby-only | failed POST | boot-device | OS ]
Diagnosis:
Evidence that supports it (logs, codes, test results):
Tests performed and results (in order):
Corrective action taken (one per attempt):
Verification: original test, conditions, cycles run, result:
Unresolved uncertainty:
Remaining faults / follow-ups (with risk noted):

Attach the symptom record from section 02 and any exported BMC logs. The two documents together are the case file.

The full learning path

The series: 40 tutorials, from fundamentals to verified repair

This pillar is tutorial 1 of a 40-part series. Tutorials 2–40 expand each stage above into its own guide — one per diagnostic question, symptom pattern, component or recovery procedure. Search the index below or filter by category and difficulty; every entry lists what it covers so you can pick the one that matches your situation.

Showing 40 of 40 tutorials

Work through it

Server startup troubleshooting checklist

The whole sequence as tickable items — the checks that separate a careful diagnosis from a guess. Ticks are saved in this browser only; nothing about your server is sent anywhere.

ticks are saved in this browser only