Dell BIOS Failed Upgrade – Computer Won’t Load – Bricked Machine

In the case the BIOS fails an upgrade process, here is how you perform a low-level restore/repair.

The Steps

00 – Download the previous BIOS version or known working BIOS version.

01 – Use a USB flash drive (Sandisk 4GB flash worked) and format it with FAT default.

02 – Copy a single E430026.hdr file to the USB flash drive. Extracted and renamed from Dell E4300A26.exe (the bios update) by Start->Run->CMD, type e4300a26.exe /writehdrfile

03 – Remove the battery pack and plug in the USB flash.

04 – Hold the END key while you plug in the AC adapter.

05 – The battery LED will show orange.

06 – Release the END key immediately upon seeing orange color.

07 – After a couple of seconds, PC will start reading flash.

08 – You will see the battery LED flashes orange and blue (never RED), for about a minute or two, then the machine will reboot.

You’re done!

 

Misc Info

Tools for BIOS

phoenixtool.exe

http://www.box.net/shared/9yif6rf96u – BIOS sections and extract modules & unpack modules

https://app.box.com/shared/0orjdypm0l – Uncompressor

https://app.box.com/shared/q9v0gt3c34  – recompressed to exact size of marker 2.0

 

Uncompression algorithm code samples

Code:
Code from d610_a06.hdr
; ds = in seg, si = 0
; es = out seg, di = 0
; dx = compressed size
000045C3: 6603D6                        6add         edx,esi
000045C6: 6633C9                        Dxor         ecx,ecx
000045C9: 663BF2                         cmp         esi,edx
000045CC: 736F                           jnc         00000463D --↓9
000045CE: 67AC                           lodsb
000045D0: A80F                           test        al,00F
000045D2: 752B                           jnz         0000045FF --↓A
000045D4: 3CE0                           cmp         al,0E0 ;'р'
000045D6: 7418                           jz          0000045F0 --↓B
000045D8: 3CF0                           cmp         al,0F0 ;'Ё'
000045DA: 740B                           jz          0000045E7 --↓C
000045DC: C0E804                         shr         al,4
000045DF: 8AC8                           mov         cl,al
000045E1: 41                             inc         cx
000045E2: F367A4                        Erep movsb
000045E5: EBDF                           jmps        0000045C6 --↑D
000045E7: 67AC                          Clodsb
000045E9: 8AC8                           mov         cl,al
000045EB: 83C10F                         add         cx,00F
000045EE: EBF2                           jmps        0000045E2 --↑E
000045F0: 67AC                          Blodsb
000045F2: 8AC8                           mov         cl,al
000045F4: 41                             inc         cx
000045F5: 26678A47FF                     mov         al,es:[edi][-1]
000045FA: F367AA                         rep stosb
000045FD: EBC7                           jmps        0000045C6 --↑D
000045FF: 8AC8                          Amov         cl,al
00004601: 80E10F                         and         cl,00F
00004604: 80F90F                         cmp         cl,00F
00004607: 7421                           jz          00000462A --↓7
00004609: FEC1                           inc         cl
0000460B: 2AE4                           sub         ah,ah
0000460D: C1E004                         shl         ax,4
00004610: 67AC                           lodsb
00004612: 668BDE                        Fmov         ebx,esi
00004615: 668BF7                         mov         esi,edi
00004618: 660FB7C0                       movzx       eax,ax
0000461C: 662BF0                         sub         esi,eax
0000461F: 664E                           dec         esi
00004621: F32667A4                       rep movsb
00004625: 668BF3                         mov         esi,ebx
00004628: EB9C                           jmps        0000045C6 --↑D
0000462A: 8AC8                          7mov         cl,al
0000462C: 67AD                           lodsw
0000462E: 8AEC                          8mov         ch,ah
00004630: C1E904                         shr         cx,4
00004633: 83E13F                         and         cx,03F ;'?'
00004636: 41                             inc         cx
00004637: 41                             inc         cx
00004638: C0EC02                         shr         ah,2
0000463B: EBD5                           jmps        000004612 --↑F
0000463D: C3                            9retn
Code:
And one more from D4600A12.hdr (quite older version)
; ds:si -> start of chain type A
; es:si -> where to store uncompressed module
; bl = module type to find and uncompress
0006C712: FC                             cld
0006C713: 8BC6                          5mov         ax,si
0006C715: C1E804                         shr         ax,4
0006C718: 8CDA                           mov         dx,ds
0006C71A: 03D0                           add         dx,ax
0006C71C: 8EDA                           mov         ds,dx
0006C71E: 83E60F                         and         si,00F
0006C721: AD                             lodsw
0006C722: 8BD0                           mov         dx,ax
0006C724: AC                             lodsb
0006C725: 3AC3                           cmp         al,bl
0006C727: 7404                           jz          00006C72D --↓4
0006C729: 03F2                           add         si,dx
0006C72B: EBE6                           jmps        00006C713 --↑5
0006C72D: 03D6                          4add         dx,si
0006C72F: 2AED                           sub         ch,ch
0006C731: 3BF2                          9cmp         si,dx
0006C733: 7356                           jnc         00006C78B --↓6
0006C735: AC                             lodsb
0006C736: A80F                           test        al,00F
0006C738: 7521                           jnz         00006C75B --↓7
0006C73A: 3CE0                           cmp         al,0E0 ;'р'
0006C73C: 730A                           jnc         00006C748 --↓8
0006C73E: C0E804                         shr         al,4
0006C741: 8AC8                           mov         cl,al
0006C743: 41                             inc         cx
0006C744: F3A4                          Brep movsb
0006C746: EBE9                           jmps        00006C731 --↑9
0006C748: AC                            8lodsb
0006C749: 8AC8                           mov         cl,al
0006C74B: 7405                           jz          00006C752 --↓A
0006C74D: 83C10F                         add         cx,00F
0006C750: EBF2                           jmps        00006C744 --↑B
0006C752: 41                            Ainc         cx
0006C753: 268A45FF                       mov         al

email me


Created by Eddie Jackson | 1994-2024