Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

davidcie

macrumors member
Original poster
Dec 25, 2008
36
10
Poland
Foreword
  1. As far as I am aware this is the first successful attempt at getting Windows 7 to natively run on Air Early 2015.
  2. What I present here really is a case of standing on the shoulders of giants and would not be even remotely possible without several projects and individuals credited at the end of this post. Hats off to them for sharing their knowledge and code with others!
  3. This is not the solution. It is not even a solution but more of a workaround. It is a little hacky, requires some computer literacy to pull off, comes with a few caveats, and could be a lot more elegant. While it worked for me it may not work for you (diferent hardware or firmware) or will not work for the future you (if Apple updates its firmware to shut the door once and for all). Set your expectations accordingly.
  4. Needless to say, this method is not supported by Microsoft or Apple. I will try to help as much as I can but I no longer have the Air or other recent Apple machines to test.
  5. This works on MacBook Air 13" Early 2015 A1466 i5-5250U. I aimed to make it as general as possible so it should work for all configurations in the Early 2015 family and perhaps other models. While we may be able to tweak the binaries to work with other models, I personally have no other machines to test.
  6. TL;DR: you'll be far better off upgrading to Windows Spy Edition 10 :)
Background (or "why am I here")
Apple Intel and recent PC computers use a newer incarnation of BIOS called (U)EFI. When Windows 7 was released in 2009, (U)EFI was still new technology; it can understand most of what is going on with one exception: very early in the boot process it tries to communicate with the graphics card using 1980s calls. Most PCs and earlier Macs have a compatibility layer that accommodate these calls but Apple decided enough is enough and removed this legacy code from its recent machines. Unable to initialize graphics the old way, Windows 7 hangs.

(See a more thorough explanation by @d3vi1 here.)

The Workaround
I wrote a little app that:
  1. Pretends to Windows 7 the initialization stuff it wants to do gets done.
  2. Responds to Windows 7's legacy queries about video mode enabling it to draw stuff on screen.
  3. Displays Windows boot animation.
For a more technical explanation see the GitHub repo.

Requirements
  1. Two pendrives (8GB or more for El Capitan, 6GB or more for Windows).
  2. Access to OS X 10.6 or later (can be the one you want to install Windows on).
  3. Access to Windows where you can get local admin rights.
  4. Windows 7 SP1 x64 install CD or ISO.
  5. VgaShim (download a release from GitHub or build from source).
Steps
By following this guide you should end up with a dual booting OS X + Windows setup where Windows gets assigned the majority of HDD space. If you need a different config, modify accordingly. The guide is pretty detailed to enable as many people as possible to follow; sorry if it's too verbose for your level.

Prepare an OS X install USB

  1. Download El Capitan installer from the Mac App Store and follow any of the many available guides to create a bootable USB installer. (I had luck with method one in this guide. If you have a more recent OS X you should also be able to use DiskMaker X.)
  2. Make sure it boots before proceeding.
Prepare a Windows 7 install USB
  1. Download the required files:
    1. Latest Intel USB 3.0 Windows 7 x64 drivers (v4.0.4.51 at the time of writing).
    2. Hotfix KB2775511 (this makes Windows happy about Apple Bootcamp drivers' digital signature) from Microsoft or web (google the exact filename AMD64-all-windows6.1-kb2775511-v2-x64_ec18cc10e27faf443c17e7a8073c9eba773eb13e.msu).
    3. do_boot.wim.bat.txt and do_install.wim.bat.txt attached to this post; remember to remove the .txt extension.
  2. Prepare folders and files for integrating USB 3.0 drivers and the above hotfix into Windows 7:
    1. Create a C:\inject, C:\inject\drivers and C:\inject\hotfixes folders.
    2. Copy AMD64-all-windows6.1-kb2775511-v2-x64_ec18cc10e27faf443c17e7a8073c9eba773eb13e.msu to C:\inject\hotfixes.
    3. Unzip USB 3.0 drivers somewhere and copy contents of Drivers\HCSwitch\x64 and Drivers\Win7\x64 to C:\inject\drivers.
    4. Copy sources\boot.wim and sources\install.wim from your Windows 7 SP1 x64 CD or ISO to C:\inject.
    5. Copy do_boot.wim.bat and do_install.wim.bat to C:\inject.
    6. Your C:\inject folder structure should now look like in the screenshots.
  3. Perform actual integration:
    1. Make note of the size of your boot.wim and install.wim files.
    2. Right click do_boot.wim.bat and run it as administrator.
    3. Right click do_install.wim.bat and run it as administrator. You will be asked which of the Windows 7 install images (Home, Professional, etc) stored inside install.wim you want to modify. The script will also try to copy bootmgfw.efi to your desktop which you will need later.
    4. Make sure the size of boot.wim increased by about 10MB and that of install.wim by about 250MB.
  4. Prepare an EFI-compatible pendrive:
    1. Connect your pendrive.
    2. Open administrative command prompt.
    3. Run diskpart
    4. list disk
    5. Check what number was assigned to your pendrive by looking at disk sizes.
    6. select disk <number>
    7. clean
    8. convert gpt
    9. create partition primary
    10. format fs=fat32 quick
    11. exit
  5. (Finally!) Copy the right files on your pendrive:
    1. The entire contents of your Windows 7 CD with the exception of sources\boot.wim and sources\install.wim.
    2. C:\inject\boot.wim and C:\inject\install.wim to sources.
    3. Copy bootmgfw.efi from your desktop to efi\microsoft\boot.
    4. Rename VgaShim.efi to bootx64.efi, VgaShim.bmp to bootx64.bmp and copy both files to efi\boot (you will need to create this folder).
    5. Create an empty file or copy a small file of a known name to the root of your pendrive. It is there only so that you can easily recognize your pendrive just by looking at a file listing. (I created a file named HELLO.)
Disable OS X System Integrity Protection
May not be necessary but this is what I did at the very beginning. Follow any of the many guides on the web; I used this one.

Partition Mac Hard Drive
  1. Make sure you've backed up all your data on the target MacBook.
  2. Boot from your OS X install media.
  3. Run Utilities > Disk Utility.
  4. Click Partition.
  5. Configure your drive to have two partitions: one for OS X, formatted as "OS X Extended (Journaled)", and one for Windows also formatted "OS X Extened (Journaled)". This is important because if you format it as FAT32, Disk Utility will create a hybrid MBR and Windows 7 will refuse to install on a non-pure-GPT. (See screenshots.)
Install Windows
  1. Boot from your Windows 7 install media.
  2. It will show a blank screen for the first 30 seconds as it loads the WindowsPE environment but should then display the familiar setup welcome screen.
  3. If your touchpad or keyboard do not work you did not integrate USB 3.0 drivers correctly — both devices are internally sitting on the USB bus.
  4. Do not press any installer buttons but Shift+F10 to bring up a command line window. We will need to tell setup where your install.wim file is located because otherwise it complains about not being able to find it; this is where the empty HELLO file will come in handy.
  5. Run dir c: to list files on this volume. If you do not see your magic file, try dir d:. If that does not work you can run diskpart and then list volume to list all available letters.
  6. Run setup /installfrom:<your letter>:\sources\install.wim
  7. Choose your language, accept license, select Windows version you want to install and then Custom (advanced) to access disk partitioning.
  8. Select the Windows partition you created earlier using Disk Utility.
  9. Click Drive options (advanced) to see all options and then Format the partition.
  10. Click Next and watch Windows copy and unpack files.
  11. When it reboots immediately press left option key so that you do not let Windows finish installation at this point. We have some business to take care of first.
Install OS X
  1. Remove your Windows 7 install media, plug OS X install media and boot from it.
  2. Install OS X on the OS X partition you created earlier using Disk Utility.
  3. When it asks you for password, do specify one — otherwise Terminal will complain when you try to run commands as superuser.
Put VGA Shim In Place
  1. Boot into OS X.
  2. Open Terminal and mount the hidden ESP partition which holds the boot loader:
    1. mkdir /Volumes/esp
    2. sudo mount -t msdos /dev/disk0s1 /Volumes/esp
  3. Plug your Windows 7 install media.
  4. In Finder copy the efi\boot folder from Windows 7 install media to the EFI folder on the ESP volume you just mounted.
  5. In the Terminal window run sudo bless --mount /Volumes/esp --setBoot
Finish Windows 7 Installation
  1. Reboot your computer, this time not holding any option keys. You should see the Windows flag quickly animate (this is VGA Shim doing its business in the background) and then Windows completing the installation, eventually booting into desktop.
  2. Install latest Intel HD 6000 (v15.40.10.4300 at the time of writing) and then all other Bootcamp drivers. You can find a list of what I used below.
Drivers
You can download the entire pack here. Alternatively, Bootcamp 5.1.5769 may be downloaded from Apple website; Bootcamp 6.0.6133 is unfortunately only available via the Boot Camp Assistant OS X app or on torrent sites. Either way, this is what I installed on MacBookAir7,2:
  • Apple Null Driver v5.1.4.0 from Bootcamp 6.0.6133
  • Apple Camera v5.0.22.0 from Bootcamp 5.1.5769
  • Apple Keyboard v5.1.6160.0 from Bootcamp 6.0.6133
  • Apple SD Card Reader v1.0.0.1 from Bootcamp 6.0.6133
  • Apple Trackpad v5.1.5900.0 from Bootcamp 6.0.6133
  • Cirrus Audio CS4208 v6.6001.3.24 from Bootcamp 6.0.6133
  • Broadcom USB Bluetooth v6.0.6100.0 from Bootcamp 6.0.6133 $WinPEDriver$ folder, v12.0.1.700 should also possibly work
  • Broadcom BCM4360 wifi v7.12.39.28 from the web
  • Intel Chipset INF Update v10.1.1.14 from Intel website
  • Intel HD 6000 v15.40.10.4300 from Intel website
  • Intel Management Engine v11.0.0.1202 from Intel website
  • Boot Camp Control Panel (BootCamp.msi) v5.1.5769 from Bootcamp 5.1.5769
Known Problems
  1. As on many other EFI computers, hibernation does not work.
  2. Full screen DOS apps may not work anymore (say bye to Prince of Persia).
  3. You will need to be careful when updating GPU drivers.
  4. Not sure if Microsoft memtest works, did not try.
Additional Info
  • Boot animation. The supplied bootx64.bmp boot animation was pulled from Windows 7's bootres.dll. It can be:
    • Replaced with any other animation. The file is assumed to have floor(long_side / short_side) frames of size short_side × short_side. Frames can be stacked either top-to-bottom or left-to-right. Each frame is displayed for approx. 20ms. File has to be a 24-bpp, uncompressed Windows bitmap.
    • Replaced with a square logo. File has to be a 24-bpp, uncompressed Windows bitmap.
    • Removed, and then a built-in static logo (final frame of the supplied bootx64.bmp) will be displayed.
  • Debug mode. If you keep 'v' (for 'VGA Shim') pressed during boot, you will enter debug mode that will tell you what the program is doing. Can be useful if it does not seem to work correctly or when we try to make it work on machines other than MacBook Air Early 2015.
  • Safe Mode. Works as expected but you need to keep pressing F8 even though you see the boot animation being played. The program will detect the F8 keypress, display a message and switch to text mode to enable Windows Boot Manager to display its prompts.
Credits
  • my wife for her patience over many coding evenings
  • ReactOS for sharing code that helped me understand what Windows is trying to do
  • Tianocore / EDK II / OVMF for making EFI app development possible and source of a similar workaround
  • @d3vi1 for essential initial research
  • @rockinrobstar for his DISM wiki
  • @Pockets69 for accompanying me along the way
  • Microsoft and Apple for for making this enjoyable journey necessary :)
 

Attachments

  • do_boot.wim.bat.txt
    808 bytes · Views: 3,167
  • do_install.wim.bat.txt
    1.3 KB · Views: 2,381
Last edited:

davidcie

macrumors member
Original poster
Dec 25, 2008
36
10
Poland
Screenshots 1.
 

Attachments

  • 01-inject before 1.jpg
    01-inject before 1.jpg
    34.4 KB · Views: 1,911
  • 02-inject before 2.jpg
    02-inject before 2.jpg
    48.4 KB · Views: 1,764
  • 03-inject before 3.jpg
    03-inject before 3.jpg
    24 KB · Views: 1,662
  • 04-inject run.jpg
    04-inject run.jpg
    45.5 KB · Views: 1,767
  • 06-pendrive root.jpg
    06-pendrive root.jpg
    46.1 KB · Views: 1,652
  • 05-inject after.jpg
    05-inject after.jpg
    37.2 KB · Views: 1,843
  • 07-pendrive efi.jpg
    07-pendrive efi.jpg
    23.5 KB · Views: 1,556
  • 08-pendrive efi-boot.jpg
    08-pendrive efi-boot.jpg
    25.4 KB · Views: 1,565
  • 09-pendrive efi-microsoft.jpg
    09-pendrive efi-microsoft.jpg
    22.7 KB · Views: 1,601
  • 10-pendrive efi-microsoft-boot.jpg
    10-pendrive efi-microsoft-boot.jpg
    35.3 KB · Views: 1,725

davidcie

macrumors member
Original poster
Dec 25, 2008
36
10
Poland
Screenshots 2.
 

Attachments

  • 11-run Disk Utility.jpg
    11-run Disk Utility.jpg
    48.5 KB · Views: 1,563
  • 12-partition.jpg
    12-partition.jpg
    61.9 KB · Views: 1,407
  • 14-partition Windows.jpg
    14-partition Windows.jpg
    71 KB · Views: 1,410
  • 13-partition OS X.jpg
    13-partition OS X.jpg
    71.4 KB · Views: 1,639
  • 15-setup.jpg
    15-setup.jpg
    82.2 KB · Views: 1,635
  • 16-setup.jpg
    16-setup.jpg
    54.6 KB · Views: 2,119
  • 17-setup.jpg
    17-setup.jpg
    59.5 KB · Views: 1,373
  • 18-mount ESP.jpg
    18-mount ESP.jpg
    15.7 KB · Views: 1,491
  • 19-EFI-Boot folder on ESP.jpg
    19-EFI-Boot folder on ESP.jpg
    22 KB · Views: 1,640

davidcie

macrumors member
Original poster
Dec 25, 2008
36
10
Poland
Appendix A: What Did Not Work
Thought I'd share my failures too so that others do not waste their time in the future trying to go down the same paths.
  1. At first I assumed it is winload.efi that is causing problems. Tried replacing it with one from Windows 8, 8.1 or 10 to little success. (It later turned out winload.efi is surprisingly fine and does detect modern EFI-style graphics.)
  2. When that failed, I took to the EFI firmware to see if perhaps the boot manager is the one preventing legacy systems from loading. That is, that legacy loader that emulates BIOS with all its legacy calls is still present in the firmware as it has been since MacBook1,1 — just hidden away by Apple. Having dumped EFI firmware using flashrom and unpacked using UEFITool, it unfortunately turned out no legacy loader was included in EFI firmware.
  3. I tried massaging Windows into not doing any legacy stuff. I turned on quietboot in BCDEdit so that bootvid:InbvEnableBootDriver would set InbvDisplayState to INBV_DISPLAY_STATE_DISABLED (preventing some accesses), hex edited bootvid:VidInitialize to always return false (preventing other accesses), hex edited hal:HalpBiosDisplayReset not to do the int10h call, and wrote simple dummy VGA save miniport (vga.sys replacement), miniport (vgapnp.sys replacement) and display (vga.dll replacement) drivers that did nothing at all other than report 'all cool'. Still no joy which probably meant I missed an int10h call somewhere. Decided to look elsewhere as I also felt this solution was not very elegant.
Appendix B: To Do
  • In addition to detecting the need for and shimming legacy VGA ROM calls, also make sure PCI registers are set correctly (bus master, I/O space access, memory space access all set to true).
  • In addition to working with Graphics Output Protocol (GOP) display adapters (such as the HD 6000), also detect and support Universal Graphic Adapter (UGA) chips.
 
Last edited:

tubeexperience

macrumors 68040
Feb 17, 2016
3,192
3,897
There are not many good reason to do this.

Microsoft offers Windows 10 as a free upgrade from Windows 7.

All one needs to do is install Windows 10 and use product key for Windows 7 to activate.
 

Riwam

macrumors 65816
Jan 7, 2014
1,095
244
Basel, Switzerland
There are not many good reason to do this.

Microsoft offers Windows 10 as a free upgrade from Windows 7.

All one needs to do is install Windows 10 and use product key for Windows 7 to activate.

*******
Many people in the whole world still prefer Windows 7 to later Windows.:rolleyes:
That was the reason according to most opinions which made Microsoft offer Windows 10 as a free upgrade not only to users of the previous 8.1 but to users of Windows 7 as well.;)
The thread starter worked very, very hard as one can immediately see.
He also offers for download the tools he made and used as well as useful drivers for any BootCamp installation.
One should think that he enjoyed performing all that work but it still remains hard work made to help other people free of charge. o_O
We should give him therefore all the credits he deserves for his work. :)
It is up to everyone to decide to use it or not.
Ed
 
  • Like
Reactions: Order_66

tubeexperience

macrumors 68040
Feb 17, 2016
3,192
3,897
*******
Many people in the whole world still prefer Windows 7 to later Windows.:rolleyes:
That was the reason according to most opinions which made Microsoft offer Windows 10 as a free upgrade not only to users of the previous 8.1 but to users of Windows 7 as well.;)
The thread starter worked very, very hard as one can immediately see.
He also offers for download the tools he made and used as well as useful drivers for any BootCamp installation.
One should think that he enjoyed performing all that work but it still remains hard work made to help other people free of charge. o_O
We should give him therefore all the credits he deserves for his work. :)
It is up to everyone to decide to use it or not.
Ed
That would be like someone installing Mac OS X Snow Leopard on his/her 2015 MacBook Air.

Sure, it may be possible with a hack, but it's unsupported and probably not a good idea.

Windows 10 is faster and safer than Windows 7.

Possibly the only two good reasons to stay with Windows 7 are incompatible drivers and incompatible programs.

Obviously the former is not an issue in this case.

This is a good proof of concept, but I wouldn't recommend this on a daily computer.
 

Riwam

macrumors 65816
Jan 7, 2014
1,095
244
Basel, Switzerland
That would be like someone installing Mac OS X Snow Leopard on his/her 2015 MacBook Air.

Sure, it may be possible with a hack, but it's unsupported and probably not a good idea.

Windows 10 is faster and safer than Windows 7.

Possibly the only two good reasons to stay with Windows 7 are incompatible drivers and incompatible programs.

Obviously the former is not an issue in this case.

This is a good proof of concept, but I wouldn't recommend this on a daily computer.

I have read in this forum from people who actually prefer to keep using Snow Leopard to newer OSX, so that what you mention as a joke is a fact for some mac users.
My point however is that if the thread starter makes such an effort for people wanting to install and use Windows 7, for instance because they are used to it or prefer its original GUI to an imitation in Windows 10 with Classic Shell, that effort should be honored.
Whoever wants it, gets it thanks to him for free, and nobody else is forced to take this way if he sees no need for it.
Ed
 

davidcie

macrumors member
Original poster
Dec 25, 2008
36
10
Poland
This whole endavour was attempted only because a client wanted Windows 7 and explicitly said she has no interest in Windows 10. Having used W10 myself for the past nine months, I can definitely see where she is coming from — the only thing making me put up with it are virtual desktops.

As @Riwam said, each to their own. If you like W10, by all means go for it. If you'd rather stick with W7 for whatever reason, there is now a way to do that too.
 
  • Like
Reactions: Order_66 and Riwam

marco271093

macrumors newbie
Apr 4, 2016
7
0
Hi Davidcie,
Thanks for your interest in the project.

Unfortunately on my mac 16.1 (late 2015) have failed to install win7.
The first problem is presented during the installation of windows, in fact inserting the USB pendrive (following the guide) appears only the windows logo.
I then decided to try to do the installation via the windows 10 cd, the cd boot is successful, shift + 10 and install Windows 7 via USB pendrive.

The installation is performed without problems - then I install El capitan - and I install vgashim in osx.

On restart run VGA Shim - but also leaving the mac for an hour remains the windows logo and does not boot in windows 7.

Please see attached screenshot Debug Mode VGA Shim

Could you please help me, let me know what you need.

Thanks,
Marco
 

Attachments

  • VGA Shim Debug.JPG
    VGA Shim Debug.JPG
    725.7 KB · Views: 1,054

Riwam

macrumors 65816
Jan 7, 2014
1,095
244
Basel, Switzerland
Hi Davidcie,
Thanks for your interest in the project.

Unfortunately on my mac 16.1 (late 2015) have failed to install win7.
The first problem is presented during the installation of windows, in fact inserting the USB pendrive (following the guide) appears only the windows logo.
I then decided to try to do the installation via the windows 10 cd, the cd boot is successful, shift + 10 and install Windows 7 via USB pendrive.

The installation is performed without problems - then I install El capitan - and I install vgashim in osx.

On restart run VGA Shim - but also leaving the mac for an hour remains the windows logo and does not boot in windows 7.

Please see attached screenshot Debug Mode VGA Shim

Could you please help me, let me know what you need.

Thanks,
Marco

I don't know if this can help you.
There is an interesting video in Youtube how to install Windows without going from the begin through BootCamp but only at the end for the drivers.
See in the "OSX 10 Yosemite" part of the MacRumors Forum,
Thread "Yosemite in unsupported macs (Resolved)".
My post there has #1004 and explains how to find that video in YouTube.
It can not harm watching that procedure.
Ed
 

vista980622

macrumors 6502
Aug 2, 2012
369
177
Thank you so much, OP!

I sincerely appreciate your time and effort on writing up this wonderful, detailed, easy-to-follow tutorial. I can't imagine all those sleepless nights and countless effort that went into making this a reality.

On devices with TN displays, Windows 8, Windows 8.1, Windows 10 and OS X Yosemite or El Capitan all have too much white space. Windows 7 actually saved my eyes :)
 

davidcie

macrumors member
Original poster
Dec 25, 2008
36
10
Poland
@vista980622, you're welcome :)

@marco271093, is that an iMac16,1 (there's no such thing as Mac16,1)? Looking it up on EveryMac I can see that it's also got an Intel HD 6000 card and no other, so theoretically VGA Shim should also be able to help. What's suspicious is that you are unable to run pure Windows 7 setup. All I can think of for the time being is PCI registers, so either bus master, I/O space access, memory space access or VGA enable (VGAE) bits are not set. You can establish that running EFI shell and first making sure what your card's bus/device/function numbers are with pci -b (on the Air it was 00/02/00, respectively) and then running pci -i <bus> <device> <function> -b Look carefully at the output and you will have all that information presented.

It's not easy to find EFI 1.0 shell binaries as most are from the EDK2 project and do not run on Apple EFI 1.10 implementation; you can use the one attached, just remove the .txt extension.

(Easiest way to run the EFI shell at this point would be to rename it to bootx64.efi and replace it for VGA Shim in the EFI\Boot folder on the ESP partition.)
 

Attachments

  • shell.efi.txt
    1.9 MB · Views: 668

marco271093

macrumors newbie
Apr 4, 2016
7
0
Hi Davidcie,

Thanks for your quick response.
It seems that everything is ok, please see attached image.

Thanks,
Marco
 

Attachments

  • IMG_0129.JPG
    IMG_0129.JPG
    623.8 KB · Views: 921
  • IMG_0130.JPG
    IMG_0130.JPG
    759.3 KB · Views: 979
  • IMG_0131.JPG
    IMG_0131.JPG
    643.1 KB · Views: 1,230
  • IMG_0132.JPG
    IMG_0132.JPG
    581 KB · Views: 993

davidcie

macrumors member
Original poster
Dec 25, 2008
36
10
Poland
@marco271093 congrats on making it this far and general computer skills :)

If nothing is drawn on screen despite PCI registers being set correctly then perhaps it is the framebuffer/resolution info that is incorrectly detected and/or not liked by Windows (it is these calculations that enable Windows to draw on screen in addition to "not hang"). Will try to implement printing additional info that would help us see what is going on later today.
 

Pockets69

macrumors newbie
Jan 7, 2016
25
2
*slow claps*

Very well... very well indeed...

Well yeah I actually wrote a small draft for the thread i wanted to create over here at macrumors with my method, but to be honest I started having 2nd thoughts, In the end not many people would need this since windows 8 and 10 do work fine, I still planned on releasing it, but stuff got in the way and never did, I also thought you wouldn't since i thought you disappeared.

Either way i may as well do a post as well, which i probably will in the next few days, people that can't get your solution to work can try mine, but sure as hell it is not as elegant as yours.

Finally congrats on the awesome EFI tool, I am going to have a look at your source to see if i can modify it for my macbook and finally have a full efi boot working lets hope so.
 

davidcie

macrumors member
Original poster
Dec 25, 2008
36
10
Poland
@Pockets69, by all means do let everyone know about your way. As far as I know mine and yours solve different problems and are complimentary so I'm sure it will come in handy for some!

Just to update everyone else, me and @marco271093 are still trying to make this thing run on his iMac16,1. He really is a patient and persistent fellow so hope fight this to a successful end and have an update one day :)
 

Pockets69

macrumors newbie
Jan 7, 2016
25
2
Ok news everyone.

@davidcie gave a go at your vgashim on my 2010 macbook with nvidia gpu, but not under the exact ideal conditions as mentioned in your guide, as my whole setup is already done.
And it works more or less, but needs to be modified, I actually boot windows 7 installer, firstly I booted it and errord out saying it couldn't find bootmgfw.efi (fair enough the windows 7 installer doesn't have it) so I grabbed it and put it in /efi/microsoft/boot/bootmgfw.efi on the pen drive, tried it again and it black screened like previously whenever I tried to install through efi.
So I thought hell this is not setting the pci registers correctly, it can't be, I mean if it does it's doing for the macbook air 2015 not my macbook, so I went into the efi shell set the pci registers for my macbook, booted through vgashim and lo and behold... after a few seconds i get a screen with windows installer, which confirms one thing that always thought to be right the PCI registers were correctly set all along.
There is a slight problem though, the screen is completely distorted with horizontal lines across it and huge vertical border on the left side of the screen, now this is probably a resolution problem I don't know what the windows installer does with resolutions or what is the supposed resolution the installer runs, but over here its all distorted, I bet i can still go through with the installation but! I can't right now, since my hdd is all setup and everything is installed as I wanted using my method.

Although Ill try to with another hdd set everything up as in your tutorial see if it works, and I get everything working, right now it looks promising.

@ everyone else, I will finish everything regarding the way I did things with my method and will release it in the next few weeks (1 or 2) details on how everything works will be on the appropriate thread.

Again nice work David

EDIT: just remembered your verbos/debug boot doesn't work, i think you know about the issue though.


EDIT 2: ok so i went through the process.

As I said above, the same scrambled screen happens, i was able to install windows 7 and install bootcamp drivers without being able to see 2/3 of the screen.
And while everything went accordingly apart from the screen issues, when i installed the bootcamp drivers, the nvidia driver screwed everything up, just like it does in windows 8 and windows 10 when you boot in efi.

So unfortunately for me this didn't work as expected, although i was able to install windows 7 and boot it, as soon as the gpu driver is installed it goes to ****, just like windows 8 and 10.

none the less good work man seriously, if you need something please say so (logs pics whatever), and if i can ill send them your way.
 
Last edited:

davidcie

macrumors member
Original poster
Dec 25, 2008
36
10
Poland
gave a go at your vgashim on my 2010 macbook with nvidia gpu, but not under the exact ideal conditions as mentioned in your guide, as my whole setup is already done.
[...] So I thought hell this is not setting the pci registers correctly, it can't be, I mean if it does it's doing for the macbook air 2015 not my macbook, so I went into the efi shell set the pci registers for my macbook, booted through vgashim and lo and behold... after a few seconds i get a screen with windows installer, which confirms one thing that always thought to be right the PCI registers were correctly set all along.
Yeah, that's why I said our methods are complimentary as VgaShim is only intended for machines that have the BIOS compatibility layer removed (2015+) and hence need the shim for Windows to boot at all. Your machine does have a VGA BIOS and a 10h interrupt handler so — once you make sure PCI registers are set correcly on some/all of your video cards — it should boot no problem.

It is possible to modify the shim to do that work too (teach it to set registers and skip shim insertion once it detects a working int10h handler = your case) but having no such machine to test it's unlikely for me to add it in — too many variables and edge conditions. Feel free to clone the repo and send a pull request thou :)
 

Pockets69

macrumors newbie
Jan 7, 2016
25
2
well no it shouldn't otherwise it would have boot in the first place, I am telling you this something between windows and the gpu, this 320m is complete ****, you see as i told you before i tried the values and they wouldn't boot although same values worked on ubuntu, you already know the whole story, but now with your vgashim, while it doesn't work without the values set, it does work (although not very well) with the correctly set values so vgashim fixes stuff on my side.
The problem with my machine goes beyond the pci register values, i just don't know what it is, and at this point i don't really care, i just wanted to give a try as the tool seems great, a shame it came a few years too late :(

On my side i am in the process of re-writing my tutorial should be about done by the end of the weekend
 

marco271093

macrumors newbie
Apr 4, 2016
7
0
Hi Dawid - Pockets69,

I am available to do some testing on my mac 16,1.
I'm still making attempts, but still can not make the windows 7 boot.

Let me know.
Thanks,
Marco
 

stiucu2terra

macrumors newbie
May 2, 2016
1
0
Baia Mare
Hello to all,

Finaly i found a good thread on how to install (try to install) windows 7 on mac late 2015.

After i read all your posts i'm in the same situation as marco271093 described :(

Is there something i can try? Any solution?

Any help will be welcome!

Thx and a big hug to all

Daniel
 

user97908

macrumors newbie
May 1, 2016
25
0
Washington
Hello @davidcie,
Thanks for sharing and "formatting" the method who worked for you.
I red also the other post, so thanks also @Pockets69 for all the work.

I have an early 2015 too, but Macbook pro. Hopefully apple does unify his changes in firmware & co,
and the method could be adapted for my machine.

First, is there a way to do this without a pc with windows ? the step :

Perform actual integration:

So, maybe this integration could be done before and files can be sended by participating people ? I do not know what this step exactly does, It would be helpful to have pre-"integrated" files available somewhere.
 

davidworthley

macrumors newbie
May 7, 2016
4
0
@davidcie, you honestly saved me! What amazing work.
I spent days searching for a workaround/solution until I came across your post.

Installed on early Retina Macbook Pro 2015, I'll update after I install drivers and use it. Installed without issue :) so far.

Update** I didn't have to disable OSx SIP

Update2, so I'm having problems installing keyboard/mouse driver. It tell's me it's not signed and then when I reboot they don't work. I can't install mouse driver so I can't right click and I can't install keyboard driver so I can't use function keys. I have the bootcamp V6 drivers.

Update3, can't get wireless or Bluetooth drivers to work.

Update4, so I manually signed keyboard driver and was able to make that work with the function buttons now :) but no joy for mouse or wireless. It installs the wireless driver but then can't start ERROR 10. I don't care so much about bluetooth but mouse (for right click) and wireless are needed.

So close, and I really want this to work or I have to get rid of this new MBP. !!

Any ideas or help?
 
Last edited:

acid96

macrumors newbie
May 21, 2016
1
0
Hello there,

Recently I found about this workaround for booting Windows 7 together with GOP. But there's one problem, I really don't have Mac Air 2015 or any other Mac product, I have Acer E5-573G, but most important part is that I have dual graphics, one Intel HD 5500 and other Nvidia 940M.

Since there is no other place where to write an input, I didn't have any other choice than to post here (sorry again that I don't have Mac :p )

I tried this vgaShim but I've ran into trouble with it, I'll preview my issue in the debug pciture:
qE2mVed.jpg



I've checked in AIDA 64 and I can confirm that VBIOS (but it's NVIDIA's one since Legacy Boot switches to that one) should be present in C0000...
Even tried to change the address in the source and compile, still same issue.

Any solutions if possible, I can use Legacy Boot but I'm really fed up from formatting my drive from GPT to MBR and vice versa, if not I'll just continue using Windows 10.

EDIT: Additional info (picture) attached, hope it helps.
 

Attachments

  • Sketch.png
    Sketch.png
    659.9 KB · Views: 841
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.