HOWTO Modify VMWare BIOS with SLIC 2.1

Discussion in 'Virtualization' started by mickrussom, May 17, 2010.

  1. mickrussom

    mickrussom MDL Novice

    May 17, 2010
    17
    9
    0
  2. ar_seven_am

    ar_seven_am MDL Senior Member

    Mar 7, 2010
    398
    129
    10
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. mickrussom

    mickrussom MDL Novice

    May 17, 2010
    17
    9
    0
    Didn't see ESX/ESXi listed in there. This information is highly useful due to distance between "all in one" programs which if they don't work for you you are out of luck to various pieces to put it all together. Judging from all the ancient VMWare ROMS (circa 2006) being handed out all ver the net with SLIC21 hacked in, I'd say there is a community-wide disconnect on how to mode VMWare ESX bioses.
     
  4. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,356
    2,026
    210
    #4 sebus, May 17, 2010
    Last edited: May 24, 2010
    Did not know that phoenixtool133 can actually handle Vmware Phoenix BIOS. Nice to know...

    But with external BIOS in ESX you can not ie vmotion VMs (so it is not a very good solution)
    It is better to inject the BIOS back into executable

    sebus
     
  5. ar_seven_am

    ar_seven_am MDL Senior Member

    Mar 7, 2010
    398
    129
    10
    yes mick, i've seen the thread in other forums but I thought u know it so u can explain to us, but that's ok, thx!
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. smithshn

    smithshn MDL Novice

    May 19, 2010
    4
    0
    0
    Nice stuff. I am appreciated of your way for explanation for modification of VMWare BIOS with SLIC 2.1. I often used VMWare and to start the virtual machine I have suffered from lot of problems. But due to your knowledgeable stuff most of problems are solved.
     
  7. yngdiego

    yngdiego MDL Member

    Feb 14, 2008
    117
    3
    10
  8. simz_xpc

    simz_xpc MDL Novice

    Aug 4, 2009
    25
    5
    0
    yup gr88!! tool fully automated
     
  9. VirtualNobody

    VirtualNobody MDL Novice

    Dec 25, 2010
    10
    1
    0
    #9 VirtualNobody, Dec 28, 2010
    Last edited: Dec 28, 2010
    So I think I did something wrong here....


    I loaded 2008R2 on ESXi 4.1 server.
    I RAN RW Everything, selected the ACPI tab, saved the ACPItbls.rw file
    I used ESXi BIOS tools to extract the BIOS440.ROM file from my ESXi 4.1 server
    I loaded PheonixTool 1.65, Original BIOS: bios440.rom file
    Manufacturer: Other
    SLIC file: Dell[DELL-PE_SC3-DELL]2.1
    RW file: ACPItbls.rw
    Verified the certificate
    method: SSV2

    Clicked GO, and got a BIOS440_SLIC.rom file.

    Put that back into ESXi with BiosTool. Restarted 2008R2 but when I run SlicTool Kit, it says it can not find a SLIC table.

    Where'd I go wrong?

    Edit: **DOH**

    Forgot to reboot the Hypervisor. I did, and SlicToolkit worked great!

    Thanks for the guide OP!
     
  10. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,356
    2,026
    210
    Nice that you answered yourself!

    sebus
     
  11. mranak

    mranak MDL Novice

    Apr 25, 2012
    2
    3
    0
    #11 mranak, Apr 25, 2012
    Last edited: Apr 26, 2015
    I wrote this to get SLIC and activation working back when ESXi 5.0u1 was the latest version and the then-latest version of ESX bios tools hadn't been updated to remotely extract bios440.rom. This guide might work for the latest version of ESXi, 6.0 but you may not need to do all of these steps. I've already found that with the latest version of ESX bios tools (currently 1.1.5.7 xxxx://rghost.net/40377616) the remote extraction of bios440.rom works so I don't have to follow my own guide and do it manually, although the manual method described here still seems to work.

    My goal originally in this post was to use ESXi/vSphere v5.0 update 1 (VMKernel Release Build 623860) and inject the VM BIOS with the Dell SLIC stuff so that Windows will OEM activate. I had a difficult time deciphering all of the available information and I as I found a solution that worked I documented it here. Hopefully it'll help others. It has helped me as I've gone away, forgotten and come back here to find out how I did this like right now as I'm doing this in ESXi 6.0.

    AFAIK, I'm best to use the Phoenix SLIC tool from forums.mydigitallife.net/threads/13194-Tool-to-Insert-Replace-SLIC-in-Phoenix-Insyde-Dell-EFI-BIOSes to actually modify the BIOS. Verified using cert from xxxx://forums.mydigitallife.net/threads/5952-Win-7-amp-Server-08-R2-SLIC-2-1-Bin-Collection/page105?p=514521&viewfull=1#post514521 but I'm not sure if that is needed.

    As for Windows, it seems I can install any official edition (except the N editions which don't seem to work for me) (I used an ISO from MSDN), leave the product key as NULL during install, then run Opatool (latest version right now is 0.8) after the install. It would be nice to have a copy of Windows that already has the product key/cert for Dell but opatool is so easy to run that it probably doesn't make sense for me to bother with all of that. Update: Around the time I originally wrote this I actually made a Windows ISO that is automatically activated after installation but I can't remember how I made it. I think I used some sort of package that did OEM branding+activation certs/keys+eicfg_removal_utility but I'm not sure where I got it from or how I used it. I do remember that I used the OEM branding on my first try and I really disliked it so I took that out.

    Steps I've taken:

    1. Installed vSphere/ESXi v5.0 update 1 (VMware-VIMSetup-all-5.0.0-639890.iso)
    2. The console showed me a URL to download the vSphere client to manage the host. Downloaded, connected. Configuration->Licensed Features to add my license and Configuration->Security Profile->Properties (the one under Services) to enable SSHD.
    3. cd /bootbank
      mkdir /vmfs/volumes/datastore1/tmp
      cp s.v00 /vmfs/volumes/datastore1/tmp/s.v00.gz
      cd /vmfs/volumes/datastore1/tmp
      gunzip s.v00.gz
      vmtar -x s.v00 -o s.v00.tar
      tar xf s.v00.tar
    4. From your windows box, get /vmfs/volumes/datastore1/tmp/bin/vmx using ssh.
    5. Open EsxBiosTools (v1.1.5.7 is the latest right now xxxx://rghost.net/40377616 ). Click 'Extract bios440.rom' (leave 'remote mode' unchecked). Select 'vmx' file. Ensure that bios440.rom is extracted without any error messages.
    6. It appears that I need to bring up a Windows VM under ESXi to simply run RW-Everything and get a report file that PhonixBiosTools needs. I'm surprised there isn't a more direct route; how does VMware Workstation Bios Installer do it? Well, I'll at least post the resulting file online somewhere so that others don't have to do all of this. this is what I'm working on now (below is what I think I need to do):
      -Get a Windows VM running under ESXi
      -Get RW-Everything from xxxx://rweverything.myweb.hinet.net/
      -Open RW-Everything
      -Click ACPI Table
      -save all (ctrl+F2) and save as any given filename (eg acpitbls.rw)
    7. Open Phoenix Bios Tools, give it the info it needs:
      -Original BIOS is bios440.rom extracted manually or with ESX bios tools in remote mode
      -SLIC file: It appears these are included with phoenix SLIC mod but I can't remember for sure what I picked originally
      -RW file: the file obtains from rw-everything
      -it'll spit out BIOS440_SLIC.ROM.
    8. Open EsxBiosTools. Click 'Inject bios440.rom' (leave 'remote mode' unchecked or don't if using remote mode which now seems to work. if using remote mode then no need to do step 9). Select 'vmx' file and the new ROM file. Ensure that bios440.rom is injected without any error messages.
    9. mkdir /vmfs/volumes/datastore1/s.original
      mkdir /vmfs/volumes/datastore1/s.new
      cd /vmfs/volumes/datastore1/tmp
      cp -rp bin/vmx ../s.original/
      #sftp the vmx produced by esxbiostools on top of /vmfs/volumes/datastore1/tmp/bin/vmx
      cd /vmfs/volumes/datastore1/tmp
      mv s.* ../s.original/
      tar cf ../s.new/s.v00.tar *
      cd ../s.new
      vmtar -c s.v00.tar -o s.v00.vtar
      chmod 700 s.v00.vtar
      chown 201.201 s.v00.vtar
      mv /bootbank/s.v00 /vmfs/volumes/datastore1/s.new/s.v00.original
      gzip s.v00.vtar
      mv s.v00.vtar.gz /bootbank/s.v00
    10. Reboot ESXi



    Notes somehow related:



    1. The VMware video driver doesn't automatically install into Windows Server 2008 R2 for some reason...it keeps the default SVGA driver...maybe for stability reasons? The VMware driver can be found at c:\Program Files\Common Files\VMware\Drivers\wddm_video


    References:


    1. Primary source for originally figuring this stuff out in this post: xxxx://neowongch.wordpress.com/2011/06/29/esxi-4-1-0-slic-bios-modify/
    2. Manual method for bios440.mod extraction: forums.mydigitallife.net/threads/12982-ESX-ESXi-Bios-Tools/page19?p=482469&viewfull=1#post482469
     
  12. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,356
    2,026
    210
  13. meister_sd

    meister_sd MDL Novice

    Aug 4, 2012
    41
    7
    0
    I did this today to my ESXi v5.0 (not update 1) on a T110 that has it's own SLIC 2.1 installed and the Dell WinXP SP3 didn't activate after the injection. After running RW again, it showed a SLIC installed so I was a little confused. I figured I'd try a fresh install in the VM and put on Server 2008 R2 x64 (Dell disk) and it showed a Dell self activation fine. So I tried to install another VM using the original Dell WinXP SP3 disk and again, it needed activation. I used the method and same .bin file and procedure as "virtualnobody" on the previous page.

    I'll reload the T110 and try the above method again using my own SLIC 2.1 from my Vostro 430, which lists itself as a "MI09" and that has three different values than the "DELL[MI09]2.1-21D8A2FB.BIN" that is included in the "OEMCERT_AND_SLICS_2012-08-01" file I downloaded.

    I'll post my results after a complete reload and run through of the above method.

    All the people who made this happen are awesome and my hat is off to everyone!
     
  14. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,356
    2,026
    210
    Come on man, SLIC 2.1 is for Vista/7/Server 2008/R2
    SLP is for XP/Server 2003/R2

    So modding with Slic only will NOT give you SLP (that has to be done by hand in addition)

    sebus
     
  15. meister_sd

    meister_sd MDL Novice

    Aug 4, 2012
    41
    7
    0
    Excuse me.

    I was under the impression that these were progressive, kind of "grandfathered" types of checks but I guess I'm wrong.

    Thanks! I'll look for that thread and add it to my box.
     
  16. enjoywithme

    enjoywithme MDL Novice

    Oct 9, 2012
    2
    0
    0
    I tried with my ESXI 5.0.0.474610. First use EsxBiosTools.1.1.5 extract the bios440.rom successfully, then use PhoenixTool 2.11 to add SLIC to the rom file. after that update virtual machine config file with "bios440.filename = romfile".
    But the virtual machine cannot stop. It stuck at the BIOS POST screen.
    I tried DELL and HP SLIC. But the same results. What can be the reason?
    I verified the extracted rom file by using the bios440.filename=unmodified file. It's no problem.
     
  17. meister_sd

    meister_sd MDL Novice

    Aug 4, 2012
    41
    7
    0
    I've done this a few times now and ran into that problem twice. The first was these instructions:

    chmod 700 s.v00.vtar
    chown 201.201 s.v00.vtar

    I forgot one of them. The other was using the file created from:

    vmtar -c s.v00.tar -o s.v00.vtar

    twice into another server thinking it would work because they were both the same. I used a Dell T110 with a SLIC 2.1 BIOS that had 2008 natively installed to get the SLIC info then used the rest of the conversion on a laptop and put back onto a T110 that had ESXi 5.0 on it. After my last post I did the same on 5.0 U1. I'm about to do it on 5.1. What server do you have and where did you get your SLIC and cert?
     
  18. enjoywithme

    enjoywithme MDL Novice

    Oct 9, 2012
    2
    0
    0
    I used SLIC and cert from this package "2012.10.10 slic 2.1 + oem key.rar". i cannot remember where I downloaded it. I tried to post the file here as attachment. But it exceeds the size limitation. My server is "IBM x3650 M4". I used "phoenix bios editor" to compose a BOM manually. It runs on my server without problem now. The selection of SLIC bin is also important. The first time i use "Dell[DELL-QA09-NVDA]2.1.BIN". The virtual machine was still not able to boot. Later I used "[FONT=Tahoma, Microsoft Yahei, Simsun]Dell[DELL-WN09-AMI]2.1.BIN". This time OK. [/FONT]
     
  19. meister_sd

    meister_sd MDL Novice

    Aug 4, 2012
    41
    7
    0
    Anyone get this working under 5.1? I've tried two different Dell servers and I get an error on startup of the VMs.