ESX / ESXi Bios Tools

Discussion in 'Virtualization' started by pix, Nov 22, 2009.

  1. dfvm7632

    dfvm7632 MDL Novice

    Jun 10, 2010
    2
    0
    0
    When i tried the v3.0.0 tool it says "No BIOS440 section found in file".
    Is there another way to do this on 6.7?
     
  2. Mcicool

    Mcicool MDL Novice

    Feb 12, 2014
    15
    2
    0
    #422 Mcicool, Jun 29, 2018
    Last edited: Jul 27, 2018
    Trying on 6.7, getting error:

    Backing up vmx to backups\VMware ESXi 6.7.0 build-8169922\192-168-77-81\180629-164737\vmx
    Compression successful. Checking type of elf to use correct objcopy version and section name
    # objdump --archive-headers "E:/_Windows Activation/_ESX/EsxBiosTools.v3.0.0/vmx"
    E:/_Windows Activation/_ESX/EsxBiosTools.v3.0.0/vmx: file format elf64-x86-64
    E:/_Windows Activation/_ESX/EsxBiosTools.v3.0.0/vmx
    Removing old bios440 from file using objcopy
    # objcopy "E:/_Windows Activation/_ESX/EsxBiosTools.v3.0.0/vmx" --remove-section bios440
    Error removing bios440 section from vmware-vmx
    Operation failed and took 8,35 secs
    Any ideas? :)

    P.S. On 6.5 works just fine.
     
  3. blaloc

    blaloc MDL Novice

    Mar 22, 2016
    8
    15
    0
    #423 blaloc, Aug 8, 2018
    Last edited: Aug 8, 2018
    they changed the something structure of the /bootbank -directory

    the vmx is no longer in s.v00, it is in vmx.v00

    will test, if modding is the same with the new file

    -Update:
    "No bios440 section found in file" ;):confused::mad:
    where's the bios gone?
    i found some interesting files in "/vmfs/volumes/datastore1/tmp/vmvisor-sys/usr/lib/vmware/roms" from the unpacked vmx.v00

    -Update2:

    look good, i changed the commands from EsxBiosTools.3.0.0 for 6.7
    voila: Windows is activated!

    Code:
    copy this and paste it in putty:
    
    rm -R "/vmfs/volumes/datastore1/vmvisor-sys/"
    rm -R "/vmfs/volumes/datastore1/tmp/"
    mkdir "/vmfs/volumes/datastore1/vmvisor-sys/"
    mkdir "/vmfs/volumes/datastore1/tmp/"
    mkdir "/vmfs/volumes/datastore1/tmp/vmvisor-sys/"
    cp "/bootbank/vmx.v00" "/vmfs/volumes/datastore1/vmvisor-sys/vmx.gz"
    pigz -d "/vmfs/volumes/datastore1/vmvisor-sys/vmx.gz"
    sigfilesize=$(wc -c < "/usr/share/weasel/s.sigblob"); \
    sysfilesize=$(wc -c < "/vmfs/volumes/datastore1/vmvisor-sys/vmx"); \
    head -c $((sysfilesize-sigfilesize)) "/vmfs/volumes/datastore1/vmvisor-sys/vmx" > "/vmfs/volumes/datastore1/vmvisor-sys/vmx-nosig.xz"
    xz -d "/vmfs/volumes/datastore1/vmvisor-sys/vmx-nosig.xz"
    vmtar -x "/vmfs/volumes/datastore1/vmvisor-sys/vmx-nosig" -o "/vmfs/volumes/datastore1/vmvisor-sys/vmx.tar"
    tar xf "/vmfs/volumes/datastore1/vmvisor-sys/vmx.tar" -C "/vmfs/volumes/datastore1/tmp/vmvisor-sys/"
    
    ## Get bios.440.rom from "/vmfs/volumes/datastore1/tmp/vmvisor-sys/usr/lib/vmware/roms"
    ## Mod bios.440.rom
    ## Put modded bios.440.rom to "/vmfs/volumes/datastore1/tmp/vmvisor-sys/usr/lib/vmware/roms"
    
    #chmod 755 /vmfs/volumes/datastore1/tmp/vmvisor-sys/usr/lib/vmware/roms/bios.440.rom
    #chmod u+s /vmfs/volumes/datastore1/tmp/vmvisor-sys/usr/lib/vmware/roms/bios.440.rom
    #chown 201:201 /vmfs/volumes/datastore1/tmp/vmvisor-sys/usr/lib/vmware/roms/bios.440.rom
    rm -R "/vmfs/volumes/datastore1/vmvisor-sys/"
    mkdir "/vmfs/volumes/datastore1/vmvisor-sys/"
    cd "/vmfs/volumes/datastore1/tmp/vmvisor-sys/"; \
    tar cf "/vmfs/volumes/datastore1/vmvisor-sys/vmx.tar" *
    vmtar -c "/vmfs/volumes/datastore1/vmvisor-sys/vmx.tar" -o "/vmfs/volumes/datastore1/vmvisor-sys/vmx-nosig"
    xz --compress --stdout --lzma2=dict=2048KiB --check=crc32 --threads=8 "/vmfs/volumes/datastore1/vmvisor-sys/vmx-nosig" > "/vmfs/volumes/datastore1/vmvisor-sys/vmx"
    cat "/usr/share/weasel/s.sigblob" >> "/vmfs/volumes/datastore1/vmvisor-sys/vmx"
    pigz -9 -p 60 -n -T "/vmfs/volumes/datastore1/vmvisor-sys/vmx"
    mv "/vmfs/volumes/datastore1/vmvisor-sys/vmx.gz" "/bootbank/vmx.v00"
    rm -R "/vmfs/volumes/datastore1/vmvisor-sys/"
    rm -R "/vmfs/volumes/datastore1/tmp/vmvisor-sys/"
    
     
  4. dfvm7632

    dfvm7632 MDL Novice

    Jun 10, 2010
    2
    0
    0
    Thanks it works on 6.7
     
  5. 00Madz

    00Madz MDL Novice

    Jun 9, 2011
    2
    0
    0
    Worked perfectly thanks @blaloc for sharing your good detective work!! I had no datastore1 mount, so just replaced with my main ESXi install datastore name
     
  6. fbifido1

    fbifido1 MDL Novice

    Mar 6, 2018
    21
    2
    0
  7. pix

    pix MDL Member

    Nov 3, 2008
    141
    99
    10
  8. captaintofuburger

    captaintofuburger MDL Novice

    Mar 3, 2014
    4
    0
    0
    I'm just getting "Error removing bios440 section from vmware-vmx"

    Fresh install of 6.7 Dell/EMC with the 6.7 json used.
     
  9. polishz3

    polishz3 MDL Novice

    Apr 1, 2009
    25
    0
    0
    Code:
    winscp> option batch on
      batch           on       
      winscp> option confirm off
      confirm         off       
      winscp> cd "/bin/"
      /bin
      winscp> get  vmx
      vmx                       |      23182 KiB | 32237.1 KiB/s | binary | 100%
      winscp> close
      Session '[email protected]' closed.
      No session.
      winscp> exit
    Get successful
    Checking type of elf to determine correct objcopy version and section name
    # objdump --archive-headers "C:/Users/les/Downloads/EsxBiosTools.v3.0.1/vmx"
      C:/Users/les/Downloads/EsxBiosTools.v3.0.1/vmx:     file format elf64-x86-64
      C:/Users/les/Downloads/EsxBiosTools.v3.0.1/vmx
    Checking for presence of bios440 section in file
    # objdump --headers "C:/Users/les/Downloads/EsxBiosTools.v3.0.1/vmx"
      C:/Users/les/Downloads/EsxBiosTools.v3.0.1/vmx:     file format elf64-x86-64
      Sections:
      Idx Name          Size      VMA               LMA               File off  Algn
        0 .interp       0000001c  0000000000000270  0000000000000270  00000270  2**0
                        CONTENTS, ALLOC, LOAD, READONLY, DATA
        1 .note.ABI-tag 00000020  000000000000028c  000000000000028c  0000028c  2**2
                        CONTENTS, ALLOC, LOAD, READONLY, DATA
        2 .gnu.hash     00004fa8  00000000000002b0  00000000000002b0  000002b0  2**3
                        CONTENTS, ALLOC, LOAD, READONLY, DATA
        3 .dynsym       000134a0  0000000000005258  0000000000005258  00005258  2**3
                        CONTENTS, ALLOC, LOAD, READONLY, DATA
        4 .dynstr       000107db  00000000000186f8  00000000000186f8  000186f8  2**0
                        CONTENTS, ALLOC, LOAD, READONLY, DATA
        5 .gnu.version  000019b8  0000000000028ed4  0000000000028ed4  00028ed4  2**1
                        CONTENTS, ALLOC, LOAD, READONLY, DATA
        6 .gnu.version_r 000001a0  000000000002a890  000000000002a890  0002a890  2**3
                        CONTENTS, ALLOC, LOAD, READONLY, DATA
        7 .rela.dyn     00194730  000000000002aa30  000000000002aa30  0002aa30  2**3
                        CONTENTS, ALLOC, LOAD, READONLY, DATA
        8 .rela.plt     00004530  00000000001bf160  00000000001bf160  001bf160  2**3
                        CONTENTS, ALLOC, LOAD, READONLY, DATA
        9 .init         00000024  00000000001c3690  00000000001c3690  001c3690  2**2
                        CONTENTS, ALLOC, LOAD, READONLY, CODE
       10 .plt          00002e30  00000000001c36c0  00000000001c36c0  001c36c0  2**4
                        CONTENTS, ALLOC, LOAD, READONLY, CODE
       11 .text         00aa9b18  00000000001c6500  00000000001c6500  001c6500  2**5
                        CONTENTS, ALLOC, LOAD, READONLY, CODE
       12 .fini         0000000e  0000000000c70018  0000000000c70018  00c70018  2**2
                        CONTENTS, ALLOC, LOAD, READONLY, CODE
       13 .rodata       0031d498  0000000000c70040  0000000000c70040  00c70040  2**5
                        CONTENTS, ALLOC, LOAD, READONLY, DATA
       14 .eh_frame_hdr 0004ac7c  0000000000f8d4d8  0000000000f8d4d8  00f8d4d8  2**2
                        CONTENTS, ALLOC, LOAD, READONLY, DATA
       15 .eh_frame     00190eec  0000000000fd8158  0000000000fd8158  00fd8158  2**3
                        CONTENTS, ALLOC, LOAD, READONLY, DATA
       16 .tbss         00000190  000000000116bd78  000000000116bd78  01169d78  2**3
                        ALLOC, THREAD_LOCAL
       17 .ctors        00000038  000000000116bd78  000000000116bd78  01169d78  2**3
                        CONTENTS, ALLOC, LOAD, DATA
       18 .dtors        00000018  000000000116bdb0  000000000116bdb0  01169db0  2**3
                        CONTENTS, ALLOC, LOAD, DATA
       19 .jcr          00000008  000000000116bdc8  000000000116bdc8  01169dc8  2**3
                        CONTENTS, ALLOC, LOAD, DATA
       20 .data.rel.ro  000b1be0  000000000116bde0  000000000116bde0  01169de0  2**5
                        CONTENTS, ALLOC, LOAD, DATA
       21 .dynamic      00000240  000000000121d9c0  000000000121d9c0  0121b9c0  2**3
                        CONTENTS, ALLOC, LOAD, DATA
       22 .got          000053d8  000000000121dc00  000000000121dc00  0121bc00  2**3
                        CONTENTS, ALLOC, LOAD, DATA
       23 .got.plt      00001728  0000000001222fe8  0000000001222fe8  01220fe8  2**3
                        CONTENTS, ALLOC, LOAD, DATA
       24 .data         000b1540  0000000001224780  0000000001224780  01222780  2**7
                        CONTENTS, ALLOC, LOAD, DATA
       25 .bss          002ae408  00000000012d5cc0  00000000012d5cc0  012d3cc0  2**5
                        ALLOC
       26 .comment      000001ff  0000000000000000  0000000000000000  012d3cc0  2**0
                        CONTENTS, READONLY
       27 nvram         00000324  0000000000000000  0000000000000000  012d3ebf  2**0
                        CONTENTS, READONLY
       28 vmmblob       003bdd10  0000000000000000  0000000000000000  012d5000  2**12
                        CONTENTS, READONLY
       29 vmmovhds      00010350  0000000000000000  0000000000000000  01692d10  2**0
                        CONTENTS, READONLY
       30 .gnu_debuglink 00000010  0000000000000000  0000000000000000  016a3060  2**0
                        CONTENTS, READONLY
    No bios440 section found in file
    ESXI 6.7.0-8169922
    EsxBiosTools.v3.0.1/ 6.7 json used

    No bios440 section found in file
     
  10. mysy

    mysy MDL Novice

    Nov 14, 2010
    5
    2
    0
    Anyone have sucess case for Exsi 6.7 VM win7 slic mod?
     
  11. kuripon

    kuripon MDL Novice

    Mar 2, 2010
    3
    0
    0
    Having a problem mod the bios440 from ESX6.5U2 10719125 DELL Customized.
    i tried phonenixtool both 2.66 and 2.73 the rom is modded by when power on it stuck at bootscreen.
    kind of crash bios...
    did anyone have experience like this?
     
  12. mysy

    mysy MDL Novice

    Nov 14, 2010
    5
    2
    0
    same problem for me. but I could use other user share efi or bios
     
  13. pantagruel

    pantagruel MDL Addicted

    Aug 30, 2007
    551
    2,075
    30
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  14. pantagruel

    pantagruel MDL Addicted

    Aug 30, 2007
    551
    2,075
    30
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. pantagruel

    pantagruel MDL Addicted

    Aug 30, 2007
    551
    2,075
    30
    #437 pantagruel, Feb 7, 2019
    Last edited: Feb 10, 2019
    It may be worth mentioning again that it is possible to override the stock BIOS/EFI with a modded version.
    1. Upload the modded BIOS/EFI to your datastore:
      1.png
    2. Download the [vmname].vmx from the datastore and add the line(s):
      • in the case of BIOS
        bios440.filename = "MODDED_BIOS_NAME.ROM"
      • in the case of EFI
        firmware = "efi" #- - - if not already present - - -
        efi64.filename = "MODDED_EFI_NAME.ROM"
      • Save and upload back to the datastore.
      2.png 3.png
    3. Start the Win7 vm and install the certificate and key:
      save the cert to C:\
      slmgr.vbs /ilc C:\HP-7E1BE628.XRM-MS
      slmgr.vbs /ipk *****-*****-*****-*****-*****
    4. Check activation status.
      4.png 5.png
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. kuripon

    kuripon MDL Novice

    Mar 2, 2010
    3
    0
    0
    Thanks for the share, but can anyone have clues why it fail? is mod tool problem or some changes in esxi?
     
  17. pantagruel

    pantagruel MDL Addicted

    Aug 30, 2007
    551
    2,075
    30
    @kuripon
    I don't know why your mod would fail. The ESXi6.5U2 (Dell) bios was reported modded successfully with PhoenixTool a few posts up (prodium). I've had no problem modding the ESXi6.7/ESXi6.7U1 bioses with PhoenixTool 2.7.3, so I don't think it's a problem with the tool.

    Does Windows 7 boot up with the unmodded bios440? Does the bios you modded hang even if you use it as described above (datastore/.vmx - not injected)? Are you modding the bios which came with your ESXi version? Use PhoenixTool, a version matching bios440, manufacturer Dell/other, SSV2, no advanced options. To keep it really simple you can even skip the RW report (it doesn't seem to be necessary with VMware bioses) by creating an empty PhoenixTool.ini file in the PhoenixTool directory.

    If that doesn't work, try an EFI64 mod.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. nfo

    nfo MDL Junior Member

    May 3, 2009
    91
    14
    0
    #440 nfo, Feb 12, 2019
    Last edited: Feb 13, 2019