News, tips, advice, support for Windows, Office, PCs & more
Home icon Home icon Home icon Email icon RSS icon

We're community supported and proud of it!

  • BIOS or UEFI? That is the question

    Home » Forums » AskWoody support » Windows » Windows 7 » Questions: Windows 7 » BIOS or UEFI? That is the question

    Author
    Topic
    #2174492

    My laptop, HP Envy, which I bought in 2015, should have had Win 8 installed when I bought it, but I decided to upgrade to Win 7. I am trying to determine whether it is using BIOS or UEFI. I have searched on-line of course, and it would seem to be simple enough, but…

    The first option was to look for BIOS Mode in System Information > System Summary. I did that, but there is no mention of BIOS Mode. There is a BIOS Version/Date which is Insyde F.67, 06-June-16

    The next option was:
    1″In Windows Explorer, navigate to C:\Windows\Panther, you will see a file named setupact.log.”

    So I looked at Windows\Panther\ and there is no such file. I searched for it: found two of them. One in Windows\ Setupact.log which was all AudMig…… The other in Windows\System32\sysprep\Panther\IE\Setupact.log to which I was “denied access”.

    Does it have to be so difficult?

    David

    Viewing 10 reply threads
    Author
    Replies
    • #2174519

      I can’t say for sure, but if your laptop came with a Windows 8 license, it probably has UEFI.

      If you’ve been working on computers for any length of time, you will be able to tell whether it is BIOS or UEFI simply by going into Setup and looking around. In fact, there will probably be an option on one of the screens to allow you to choose between BIOS and UEFI. If you see that option, you definitely have UEFI.

      I know you didn’t ask this, but with a Windows 8 license, you could install Windows 8.1 and get about three more years of support from Microsoft (till January 2023). If you install Classic Shell in Windows 8.1, you can configure Windows 8.1 to look and feel exactly like Windows 7. That’s how I have both my Windows 8.1 laptop and my Windows 8.1 VM set up.

      Group "L" (Linux Mint)
      with Windows 8.1 running in a VM
    • #2174533

      If I were to venture a guess I would say UEFI. In July of 2015, HP released security related updates for HP PCs with UEFI Firmware. This list includes a bunch of HP Envy models that were impacted.

      HP Security Bulletin

      Usually, you can go into the BIOS to determine this. A UEFI GUI (mouse support) generally looks nothing like an old school BIOS interface. Most older motherboards with UEFI support could also be switched to a BIOS compatibility mode. In fact, the computer I’m using does just that. I don’t know how locked down the firmware is on HP’s though.

      Another clue is that it originally had Windows 8 installed. That’s when OEMs began switching to UEFI en masse.

      Darn – you beat me to it MrJimPhelps.

      • This reply was modified 1 year, 9 months ago by Carl. Reason: Addition
      1 user thanked author for this post.
    • #2174540

      I know with Dell machines when you ordered the downgrade to Win7 they shipped it as mbr not uefi. Best way to check is in BIOS. Hit either DEL, F2 or F12 key on boot.

      • #2174573

        I know with Dell machines when you ordered the downgrade to Win7 they shipped it as mbr not uefi. Best way to check is in BIOS. Hit either DEL, F2 or F12 key on boot.

        Windows 7 can boot UEFI when configured.  No need to use MBR.

        Also, Microsoft required OEM’s to spec their machines for Secure Boot, and that only comes with UEFI.

        Create a fresh drive image before making system changes/Windows updates, in case you need to start over!
        "When you're troubleshooting, start with the simple and proceed to the complex."—M.O. Johns
        "Experience is what you get when you're looking for something else."—Sir Thomas Robert Deware

        • This reply was modified 1 year, 9 months ago by bbearren.
        • #2174584

          Yes, I know win7 works with uefi, I have a bunch. What I said was with Dell machines when you ordered the Win8 or 10 machines with the downgrade to Windows 7 they shipped it as mbr. I have about 30 machines that were shipped that way.

      • #2174590

        Windows 7 supports UEFI (earlier revision), but does not support Secure Boot.

        I’m getting senile so I may be off my rocker. If I recall correctly, the OS partition could not be GPT, but had to be configured as MBR (master boot record). I have one older Win 7 machine with an MBR boot drive and a large separate drive array with spinning rust (GPT?).

        • #2174794

          If UEFI is a “Class 2” version, then yes Win7 will support that one
          But if UEFI is Class 3, then it’s a NO

          https://wiki.osdev.org/UEFI

          • This reply was modified 1 year, 9 months ago by EP.
        • #2177968

          The partition can be GPT, but you have to jump through a couple hoops when installing Windows 7 to use both UEFI and GPT.

    • #2174603

      The question should have been is the BIOS Legacy or UEFI

      David

    • #2174605

      I bought a Dell Latitude E5420 in 2011 with Windows 7 Pro configured for BIOS/MBR.  It also had firmware for UEFI/GPT.  I converted my BIOS/MBR Latitude to UEFI/GPT.

      No Windows OS can boot directly from GPT, but it can boot from a small EFI partition into a Windows installed on GPT.  And yes there was a period when Dell shipped PC’s and laptops with both BIOS and UEFI firmware.  I don’t know that they still do.

      My guess is that any OEM PC/laptop that was Windows 8 capable had firmware to support UEFI/GPT and/or BIOS/MBR.

      Create a fresh drive image before making system changes/Windows updates, in case you need to start over!
      "When you're troubleshooting, start with the simple and proceed to the complex."—M.O. Johns
      "Experience is what you get when you're looking for something else."—Sir Thomas Robert Deware

    • #2174645

      Copy/paste the following one-liner into a PowerShell command window (it doesn’t need to be elevated):

      (Select-String 'Detected boot environment' C:WindowsPanthersetupact.log -AllMatches ).line -replace '.*:s+'

      Example result:

      BIOS-or-UEFI

      Hope this helps…

      • #2174998

        Rick,

        Your one liner returned an error on my machine.

        Panther-Error

        Here’s a PS script that will hopefully return the correct values (I’ve tested it on 3 different machines.

        Get-PCFirmwareStatus.zip: Get-PCFirmwareStatus

        Unzip the file and run the program in powershell, ex:

        [d:path]Get-PCFirmwareStatus.psi

        Results: PCFirmwareDialog
        The program also does some error checking and will provide dialog boxes for that also.

        HTH :cheers:

         

        May the Forces of good computing be with you!

        RG

        PowerShell & VBA Rule!
        Computer Specs

        • #2175046

          Hi RG – It appears that MS are not consistent with the ‘usual’ stored location of the C:\Windows\Panther\setupact.log file hence the error.

          I notice others report the same… so the QAD method I used worked for me on several devices (both Win 10 – see previous post – and Win 7 – see below)… but possibly more through luck than judgement.

          firmware_type_oneliner_win7

          I suspect it may be to do with the difference between a clean OS install and an upgraded install… but I don’t have any upgraded devices at all to test. (I always ‘clean install’.)

          Your method is much, much better – I saw it somewhere but cannot remember where.

          firmware_type_legacy_bios_result

          However, the GetFirmwareType API call only works for Windows 8 and above. This is still be an issue for some, like the OP who wanted to determine the firmware type of a Win 7 laptop.

          I saw a third method on MSDN which just outright failed on a Legacy BIOS… but I ignored that as too clunky (even for me… 🙂 ).

          Hmm… it looks like the MSDN link has fallen foul of MS’ absolute determination to remove any technical info that might help tinkerers – I mean, developers.

    • #2174682

      Gah! The forum software removed the backslashes in the PowerShell one-liner. Here it is again:

      (Select-String 'Detected boot environment' C:\Windows\Panther\setupact.log -AllMatches ).line -replace '.*:\s+'
      1 user thanked author for this post.
      • #2175123

        Rick,

        Those pesky back slashes! That fixed the problem.

        I went in and looked at the file to see what was there and here’s another way:

        PS> (Select-String 'Firmware Type' C:\Windows\Panther\setupact.log ).line.trim() | Select -First 1 
        Firmware type: UEFI
        

        BTW: your original now returns just EFI on my machine.

        HTH 😎

        May the Forces of good computing be with you!

        RG

        PowerShell & VBA Rule!
        Computer Specs

    • #2174745

      Win R, msinfo32

      Under System Summary (first screen) look for “BIOS Mode”.

      cheers, Paul

      • #2174796

        The “BIOS Mode” entry is only shown in the Win8.x & Win10 versions of the MSInfo32.exe tool, Paul T.

        It doesn’t exist with the Win7 & older versions of MSInfo32

        • This reply was modified 1 year, 9 months ago by EP.
        2 users thanked author for this post.
    • #2174813

      You can also check the partition style of your boot drive in Diskpart as Windows only allows BIOS to boot from MBR and UEFI to boot from GPT. So that would be a dead giveaway.

      • #2175009

        You can also check the partition style of your boot drive in Diskpart as Windows only allows BIOS to boot from MBR and UEFI to boot from GPT. So that would be a dead giveaway.

        It’s my understanding that even though some Windows 7 machines shipped with UEFI, they were still typically set up with MBR/legacy boot.  UEFI systems usually have the capability of booting from MBR setups.

        When 8 came out, I believe that MS required PC OEMs to use secure boot, which in turn requires a GPT boot.

        Dell XPS 13/9310, i5-1135G7/16GB, KDE Neon
        Dell G3 15/3579, i7-8750H/16GB, KDE Neon
        Asus P8P67 Deluxe, i5-2500k/16GB, KDE Neon

    • #2175039

      Using BCDEDIT should work.

      1. Open a Command Prompt as admin.
      2. Type: bcdedit

      Look for the the “path” information.
      UEFI = winload.efi
      BIOS = winload.exe

      cheers, Paul

      1 user thanked author for this post.
      • #2175059

        Nice one, @paul-t – The BCDEDIT method works in both Win 10 and Win 7.

        Just need to write a KISS wrapper so the query is run elevated and the relevant result is displayed in a simple MsgBox without the bucketloads of extraneous other info.

    • #2175091

      OMG what a can of worms I’ve opened up. Firstly, thanks for the many responses, I’ve worked my way through them one by one. Finally the BCDEDIT suggested by Paul T brought up:

      “Path : Windows\System32\winload.exe. Thank you Paul. Now I shall go and lie down in a darkened room with a cold beer. Maybe tomorrow I’ll have the energy (foolhardiness?) to dig deeper into this dual boot business.

      David

    Viewing 10 reply threads
    Reply To: BIOS or UEFI? That is the question

    You can use BBCodes to format your content.
    Your account can't use Advanced BBCodes, they will be stripped before saving.