Installing Windows 7 on the pure UEFI systems without CSM

Discussion in 'Windows 7' started by PrimeExpert Software, Jan 2, 2020.

  1. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    4,003
    2,923
    150
    Use Cllove/Duet, Use a Samsung 950 Pro or mod the bios.

    Unless I'm missing something that you discovered, is what I wrote earlier.


    Is better if they do, as in most recent machines (especially notebooks) NVME is the only internal storage you can use.

    Wouldn't be very useful to have a machine that can use only NVME disks, but cant boot from them :D
     
  2. Alexandros C. Couloumbis

    May 19, 2018
    127
    35
    10
    you stand correct.

    I just additionally shared those links as I am also familiarizing my self with those tools
     
  3. VapeHeadz420

    VapeHeadz420 MDL Novice

    May 6, 2022
    3
    2
    0
    You're right. It doesn't work and @PrimeExpert Software refuses to respond to inquiries.
     
  4. D2Joy

    D2Joy MDL Novice

    Oct 3, 2023
    2
    6
    0
    #384 D2Joy, Oct 8, 2023
    Last edited: Oct 8, 2023
    Successfully installed and boot win7 on intel 10th Lenovo laptop without CSM!

    Inject nvme and usb driver in the image before install. Steps for modifying EFI partition are as simple as below:
    1. use uefiseven latest for sure, but only for the efi\microsoft\boot directory.
    2. in efi\boot\, use this bootx64.efi drive.google.com/file/d/1DFuobt-jx2hs0JH7Gj-UE0ral8wUMlNx/view?usp=drive_link
    3. in efi\microsoft\boot, include this bootmgfw.original.efi (seem to be a win8 version) drive.google.com/file/d/1HREiLIRqKHEJShxlVdARhzEq9W8RLngw/view?usp=drive_link

    That's all. No need to mess with other files.

    Note, this EFI only boots win7 maybe win 8 as well, but cannot boot win10. Interestingly, it seems that the first-time installation of win7 and booting in an already installed win7 have different requirement of bootmgfw.original.efi. As I listed above, you must use the win8 bootmgfw.original.efi to install win7. However, once win7 is already installed, you can use a win10 bootmgfw.efi as bootmgfw.original.efi, and then you can boot into both win10 and an installed win7...
     
  5. ibay770

    ibay770 MDL Member

    Oct 9, 2015
    170
    45
    10
    had the same issue. Granted they can't be expected to fix everything but since that is the case, if someone wants to mess around with this project and needs the flashboot files, pm me.
     
  6. canonkong

    canonkong MDL Novice

    Jun 26, 2020
    49
    110
    0
  7. PrimeExpert Software

    Dec 3, 2019
    28
    56
    0
    #388 PrimeExpert Software, Oct 14, 2023
    Last edited: Oct 14, 2023
    (OP)
    We usually debug ACPI_BIOS_ERROR (BSoD 0xA5) under VMware Workstation running Checked Build of Windows 7, with FlashBoot-patched UEFI loader, using sideloaded ACPI tables from the user environment, and using WinDbg kernel debugger running on the host PC. AMLI kernel debugger extensions and Check Build debugging features of Windows 7 had proven to be very useful for this purpose.

    Actually, there are many classes of problems leading to this BSoD. This is a catch-all BSoD for all problems related to ACPI table parsing and execution in ACPI.SYS driver. For example:
    1) Some ACPI table declares a duplicate of previously declared ACPI device (it looks like duplicate "Device" instruction in ACPI machine language, AML). Windows 8+ tolerates that, Windows 7 errors out in these conditions. Usually duplicate declaration is safe to remove without any functionality loss.
    2) Some ACPI table declares an extension of previously undeclared ACPI device (in AML, it looks like "Scope" instruction without preceding "Device" instruction). Windows 8+ tolerates that, Windows 7 errors out in these conditions. Usually subsequent "Scope" declaration is safe to remove without any functionality loss. For example, some BIOS vendors include in SSDTs some unnecessary code from mobile platforms, which used to extend some functionality which was originally declared in DSDT, then removed when porting to desktop, but SSDT extension cruft was left over and now causes Windows 7 to fail at boot time. Ultimately this is because after Windows 7 reached its end-of-life, many BIOS/UEFI vendors stopped caring about this OS and no longer properly test their code, including AML.
    3) Zero-length byte array declaration in AML. Perfectly fine for Windows 8+, but severe error for Windows 7. I've encountered such thing only once, replaced with single byte array ({0}), without any functionality loss.
    4) AML refers to some kind of feature which didn't exist in the ACPI specification back then in 2009, when Windows 7 was released. Usual offenders: I2C resources, I2C interrupts, Embedded Controllers. These ones need to be carefully removed (filled with AML NOPs), and such removal usually causes some feature degradation: battery charge meter no longer works, detachable keyboard of Surface 4 and older generations is no longer functional (newer generation of Surface tables have detachable keyboards which rely on USB, so they aren't affected), or some temperature sensor or similar low-bandwidth device may no longer be detected by the OS.

    There are other cases of ACPI incompatibility, of course, I've just noted the most popular ones. We resolve this problem on case-by-case basis, so far there's no generalized solution (algorithm or software or otherwise) which would work for everybody. Patching ACPI.SYS probably can help with cases (1)-(3), or some subset of them, but definitely not going to help with case (4) which unfortunately has become more popular lately.

    Regarding chances of success, large desktops are better than laptops, and laptops are better than tablets in this regard. Portable computers are more likely to use new ACPI features (e.g., human input devices, battery charge meters, peripherials on the I2C bus, etc) which are not compatible with old ACPI.SYS of Windows 7. Even for hardest cases (i.e. tablets), ACPI tables can be patched and sideloaded, but they won't add missing features to Windows 7: e.g. battery charge indicator, if it's located on I2C bus on this hardware, still won't work in Windows 7, but Windows 7 will at least boot without a BSoD.
     
  8. UsefulAGKHelper

    UsefulAGKHelper MDL Senior Member

    Aug 28, 2021
    384
    237
    10
    #389 UsefulAGKHelper, Oct 14, 2023
    Last edited: Oct 14, 2023
    Can custom bootvid graphics be implemented in flashboot bootmgfw.efi for OS like XP x64 that can boot through UEFI with 16497 winload.efi and FlashBoot bootmgfw.efi?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. canonkong

    canonkong MDL Novice

    Jun 26, 2020
    49
    110
    0
    #390 canonkong, Oct 15, 2023
    Last edited: Oct 15, 2023
    For intel platfrom, I2C and GPIO driver seems can not port to work on win7.
    I only made AMD platforms I2C and gpio can drive on win7(edit the apci.sys OSI to load the i2c and gpio bus), when gpio and i2c bus devices drvive correct, the thouchpad device will appearr in hardware manager, but the touchpad still code 12 error, even have a correct i2c touchpad driver.
    We tried to port the msgpioclx.sys from win8 and beta win8, bu still code 12 error.
     
  10. casio4ever

    casio4ever MDL Member

    Mar 27, 2015
    130
    21
    10
    #391 casio4ever, Oct 20, 2023
    Last edited: Oct 31, 2023
    Not To Mention That My Problem was Reproduced So Many Times On (CPU + MOBO) Which Were Released On 2018 (before ending support for windows 7) !!!!!!!!!!!!!!!!!!!!
    The Problem Was Reported To The Devs Behind Flashboot, As Soon As it Happened on my end. the final response was a complete silence !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
  11. casio4ever

    casio4ever MDL Member

    Mar 27, 2015
    130
    21
    10
    :wallhead::wallhead::wallhead::wallhead:
     
  12. Mouri_Naruto

    Mouri_Naruto MDL Developer

    Jul 10, 2014
    555
    1,901
    30
    I think the latest VMware Workstation, it still has some legacy parts in their UEFI Class 3 only mode.

    For example, at least the VGA I/O port exists.

    Even the KVM/QEMU, still have that. So, they provide the fake int10 handler to make Windows 7 boot properly. And someone based on that and make something like UefiSeven.

    I think we only cannot say we solve the Windows 7 on UEFI Class 3 issue unless we can make Windows 7 boot properly in something progressive UEFI Class 3 environments like Hyper-V Gen 2 VM.

    Kenji Mouri
     
  13. casio4ever

    casio4ever MDL Member

    Mar 27, 2015
    130
    21
    10
  14. Oldwindowsarebestá

    Oldwindowsarebestá MDL Novice

    May 16, 2023
    20
    6
    0
    i t
    i tried windows 8 build 8102 it gets me a bsod while booting up
     
  15. Oldwindowsarebestá

    Oldwindowsarebestá MDL Novice

    May 16, 2023
    20
    6
    0
    could you specify the release year of your laptop , i have a class 3 machine i am trying to try this method and will update if it works on amd machines or not .
     
  16. ibay770

    ibay770 MDL Member

    Oct 9, 2015
    170
    45
    10
    Fair. I have a surface pro 3, if you need someone to debug on actual hardware I'm down. I did get a bunch of acpi errors probably for the reasons stated above. With AI being a thing now, isn't it possible to have it look thru the code and remove all instances of AML?
     
  17. ibay770

    ibay770 MDL Member

    Oct 9, 2015
    170
    45
    10
    What's the earliest version that loads successfully?
     
  18. ibay770

    ibay770 MDL Member

    Oct 9, 2015
    170
    45
    10
    In all fairness, it's kind of expensive to get every piece of hardware and test it on that. Microsoft had such a thing at one point, back in the 98/2k days but they decided to skip it at some point in favor of virtual testing which isn't as good.
     
  19. ibay770

    ibay770 MDL Member

    Oct 9, 2015
    170
    45
    10