Jump to content
LaptopVideo2Go Forums

Macbook Pro Mid 2010 17in nVidia GeForce GT330M Windows 10 mod Driver


Dat Verse

Recommended Posts

maybe your loader is not located on fs0?

Link to comment
Share on other sites

  • 1 month later...

Hi, @kambala_decapitator your method works ok only one time.

If you enter to OS X system and then reboot and select the "new Windows 10 system", perfect.

If you power off, poweron and select "new Windows 10 system" , Windows freezes on Windows logo.

What can I do?

Link to comment
Share on other sites

1 minute ago, adgellida said:

Hi, @kambala_decapitator your method works ok only one time.

If you enter to OS X system and then reboot and select the "new Windows 10 system", perfect.

If you power off, poweron and select "new Windows 10 system" , Windows freezes on Windows logo.

What can I do?

no idea, try original method with GRUB

Link to comment
Share on other sites

Hello, can you link me to the exact message where the method is explained? Is a Macbook 2010 year model with EFI. Thanks

Link to comment
Share on other sites

1 minute ago, adgellida said:

Hello, can you link me to the exact message where the method is explained? Is a Macbook 2010 year model with EFI. Thanks

it's quoted in my instructions. The thread isn't big, you could simply scroll through older posts.

Link to comment
Share on other sites

  • 1 month later...
On 4/2/2020 at 3:05 PM, nick4jc said:

 

Thank you for the solution. However when I choose Windows 10 in rEFInd boot menu the shell terminal booted but does not boot windows. The script in step 5 was not executed and have to be done manually. Only by your method of manually key in the mm command in shell console then boot windows with command the windows is booted with Intel VGA disable. Any idea? 

 

Nick

 

Note that in the versions after 11.4 of rEFInd, the passing of parameter functionality to shell.efi has broken and you need to install version 11.4. Do not install the latest version.

Link to comment
Share on other sites

  • 3 months later...
  • 1 month later...
On 3/15/2019 at 5:13 PM, kambala_decapitator said:

Just wanted to say thanks to the guy above, you're a genius! This helped me fix Nvidia issues in win10 as well on MacBookPro6,2!

But I went one step further and got rid of GRUB by translating the GRUB's setpci calls into EFI's mm calls, which are executed directly from rEFInd. Steps to do this:

  1. Download EFI 1.1 shell
  2. Install rEFInd https://sourceforge.net/projects/refind/
  3. Copy EFI shell file downloaded in 1) to /Volumes/EFI/EFI/tools/shell.efi (destination filename must be exactly shell.efi). If you're doing this not immediately after installing rEFInd in Recovery mode, you'll probably need to mount the EFI volume from Terminal first:
    
    
    sudo diskutil mount disk0s1
  4. Open /Volumes/EFI/EFI/refind/refind.conf with your favourite text editor and add a new menu entry in the bottom: 
    
    
    menuentry "Windows 10" {
        icon \EFI\refind\icons\os_win.png
        loader \EFI\tools\shell.efi
        options "fs0:\EFI\tools\launch_windows_disable_iGPU.nsh"
    }

     

  5. Use your favourite text editor again and create file /Volumes/EFI/EFI/tools/launch_windows_disable_iGPU.nsh with the following contents:
    
    
    mm 000001003e 1 ;PCI :8
    mm 0001000004 1 ;PCI :7
    mm 0000000050 2 ;PCI :2
    mm 0000000054 1 ;PCI :3
    
    fs0:\EFI\Microsoft\Boot\bootmgfw.efi
  6. You're done! Reboot now and select new menu entry "Windows 10" in rEFInd to boot Windows with the working Nvidia adapter.

 

Some details:

  • on step 4 you're telling rEFInd that you'd like to execute EFI shell script which you pass in the options parameter instead of direct booting to OS
  • launch_windows_disable_iGPU.nsh script contains the converted setpci calls from step 1.3 of the original guide, as well as starting Windows boot process
  • your main EFI volume is mapped to fs0: in EFI shell (in my setup I launch windows from USB HDD, hence my MS boot loader is located at its own EFI volume on the external disk, and I use fs8: in the script - you can find these mappings by launching EFI shell from rEFInd menu and entering `map -b fs*`)
  • for w/e reason, mm's command syntax is different when executing in the shell manually, which I add for the sake of completeness:
    
    
    mm 000001003e 8 -pci
    mm 0001000004 7 -pci
    mm 0000000050 2 -w 2 -pci
    mm 0000000054 3 -pci

     

Hello. I downloaded Shell.Full and replaced name shell.efi. I installed Refind 11.4. And I did other steps. 
 

After reboot and click Windows logo: 

fs0:\EFI\tools\launch_windows_disable_iGPU.nsh is not recognized as an internal or external command, operable program, or batch file

Press ESC in 5 seconds to skip startup.nsh, any other key to continue.

Shell>

I could not this step 😕

Edit: There is not bootmgfw.efi in my usb.  (Windows 10 files in Usb: Efi>Microsoft>boot>

I see these files: 

bcd, cdboot_noprompt.efi, cdboot.efi, efisys_nopromt.bin, efisys.bin, fonts, memtest.efi, resources, winsipolicy.p7b
 

Edited by smpro
Link to comment
Share on other sites

1 hour ago, smpro said:

After reboot and click Windows logo: 

fs0:\EFI\tools\launch_windows_disable_iGPU.nsh is not recognized as an internal or external command, operable program, or batch file

Press ESC in 5 seconds to skip startup.nsh, any other key to continue.

sounds like the script is placed on another volume, maybe this helps:

On 3/15/2019 at 5:13 PM, kambala_decapitator said:

your main EFI volume is mapped to fs0: in EFI shell (in my setup I launch windows from USB HDD, hence my MS boot loader is located at its own EFI volume on the external disk, and I use fs8: in the script - you can find these mappings by launching EFI shell from rEFInd menu and entering `map -b fs*`)

your Windows loader might be in another folder or named differently, you have to find it yourself.

Link to comment
Share on other sites

16 hours ago, kambala_decapitator said:

sounds like the script is placed on another volume, maybe this helps:

your Windows loader might be in another folder or named differently, you have to find it yourself.

My usb loader fs6: and I manually write these commands: fs6: > dir > cd efi > dir > cd boot > dir > bootx64 in shell.

and Windows install started. But I didn’t install. Because launch windows disable file is not recognized as an internal or external command, operable program, or batch file... 

I dont understand why...

fs0: my internal hdd and refind files in here, fs6: my external usb windows bootable disk.

Edit: Efi \ microsoft \ boot \ bootmgfw.efi Should this file be in the Volumes Efi we mount?  Or should it be on the usb disk? If it must be in Volumes Efi,  Maybe I should set up a new refind.  Because there is no Microsoft folder in my Efi file.  There is an Apple folder.

 

 

Edited by smpro
Link to comment
Share on other sites

1 hour ago, smpro said:

My usb loader fs6: and I manually write these commands: fs6: > dir > cd efi > dir > cd boot > dir > bootx64 in shell.

and Windows install started. But I didn’t install. Because launch windows disable file is not recognized as an internal or external command, operable program, or batch file... 

I dont understand why...

fs0: my internal hdd and refind files in here, fs6: my external usb windows bootable disk.

Edit: Efi \ microsoft \ boot \ bootmgfw.efi Should this file be in the Volumes Efi we mount?  Or should it be on the usb disk? If it must be in Volumes Efi,  Maybe I should set up a new refind.  Because there is no Microsoft folder in my Efi file.  There is an Apple folder.

do I understand correctly that you don't have Windows installed yet, only USB stick with windows installer?

if yes, then you must install it first (you can boot the installer manually from the EFI shell just like you wrote) and only afterwards there'll be the Windows loader on some EFI volume (probably on fs0).

My instructions apply to an already installed Windows to boot it properly.

Link to comment
Share on other sites

22 hours ago, kambala_decapitator said:

do I understand correctly that you don't have Windows installed yet, only USB stick with windows installer?

if yes, then you must install it first (you can boot the installer manually from the EFI shell just like you wrote) and only afterwards there'll be the Windows loader on some EFI volume (probably on fs0).

My instructions apply to an already installed Windows to boot it properly.

Ah...

Windows 10 is not installed.  I used the commands you said on mac os.  Well, I won't do anything after installing Windows.  I'll move on to the Mac Os section and use your commands there.  Did I get right?

Edit: I installed Windows 10. I installed refind 11.4... And I used your commands on macOS. I am seeing efi/microsoft/boot/bootmgfw.efi.

I did all steps and restart. But still the same error: fs0:\EFI\tools\launch_windows_disable_iGPU.nsh is not recognized as an internal or external command, operable program, or batch file

I found my mistake. I created launch... file in Textedit. But file’s is name ...nsh.rtf... I fixed it.

Now, I have new problems...

23D8980B-DE98-4332-A4E1-EA49F88C962C.thumb.jpeg.161c53afc91cf3ef6f048d544d135781.jpeg

I fixed all problems. Thank you for everything. Windows10 is working perfectly. 
 

Fixed: I copied and pasted codes to textedit and saved launch...* file. But is not working. Because font... How did I solve? I copied and pasted shell.efi to dashboard. I erased all text in shell.efi and manually writed mm codes. 

Edited by smpro
Link to comment
Share on other sites

  • 1 year later...
On 3/15/2019 at 4:13 PM, kambala_decapitator said:

Just wanted to say thanks to the guy above, you're a genius! This helped me fix Nvidia issues in win10 as well on MacBookPro6,2!

But I went one step further and got rid of GRUB by translating the GRUB's setpci calls into EFI's mm calls, which are executed directly from rEFInd. Steps to do this:

  1. Download EFI 1.1 shell
  2. Install rEFInd https://sourceforge.net/projects/refind/
  3. Copy EFI shell file downloaded in 1) to /Volumes/EFI/EFI/tools/shell.efi (destination filename must be exactly shell.efi). If you're doing this not immediately after installing rEFInd in Recovery mode, you'll probably need to mount the EFI volume from Terminal first:
    sudo diskutil mount disk0s1
  4. Open /Volumes/EFI/EFI/refind/refind.conf with your favourite text editor and add a new menu entry in the bottom: 
    menuentry "Windows 10" {
        icon \EFI\refind\icons\os_win.png
        loader \EFI\tools\shell.efi
        options "fs0:\EFI\tools\launch_windows_disable_iGPU.nsh"
    }

     

  5. Use your favourite text editor again and create file /Volumes/EFI/EFI/tools/launch_windows_disable_iGPU.nsh with the following contents:
    mm 000001003e 1 ;PCI :8
    mm 0001000004 1 ;PCI :7
    mm 0000000050 2 ;PCI :2
    mm 0000000054 1 ;PCI :3
    
    fs0:\EFI\Microsoft\Boot\bootmgfw.efi
  6. You're done! Reboot now and select new menu entry "Windows 10" in rEFInd to boot Windows with the working Nvidia adapter.

 

Some details:

  • on step 4 you're telling rEFInd that you'd like to execute EFI shell script which you pass in the options parameter instead of direct booting to OS
  • launch_windows_disable_iGPU.nsh script contains the converted setpci calls from step 1.3 of the original guide, as well as starting Windows boot process
  • your main EFI volume is mapped to fs0: in EFI shell (in my setup I launch windows from USB HDD, hence my MS boot loader is located at its own EFI volume on the external disk, and I use fs8: in the script - you can find these mappings by launching EFI shell from rEFInd menu and entering `map -b fs*`)
  • for w/e reason, mm's command syntax is different when executing in the shell manually, which I add for the sake of completeness:
    mm 000001003e 8 -pci
    mm 0001000004 7 -pci
    mm 0000000050 2 -w 2 -pci
    mm 0000000054 3 -pci

     

Thanks to your directions, I have managed to fix most of the Nvidia issues in windows 8.1 except the brightness control which is not functional for me as well.

 

The thread is pretty old, but if someone has found a valid solution for the brightness issue, will it be possible to share the solution?

Link to comment
Share on other sites

  • 3 months later...
On 3/15/2019 at 5:13 PM, kambala_decapitator said:

UPDATE: reading through the CPU datasheet I found out that one of the commands uses incorrect register: it must be 52, not 50, and it's sufficient to modify only a single byte of the register. Instructions below are updated to reflect that. Note that if your CPU is different from those, register 50 might actually be correct - the only right way to find it out is to read your CPU datasheet (or just check in EFI shell if 50 and 51 have all zeros - if yes, then 52 is the right one).

...

I've updated my post with a fix and more detailed info on the commands

Link to comment
Share on other sites

  • 3 weeks later...

Regarding brightness control, currently I know 2 ways, although they're not quite convenient. Both write to gmux controller's brightness I/O port directly.

  1. using RW-Everything program. In the program go to Access menu - IO Space (or just press 5th icon in the toolbar, the one with space word), enter 770 as IO Base. First 4 bytes (00-03) represent the maximum possible brightness, next 4 bytes (04-07) are current brightness. Press dword 32 bit button, double-click the second item in the first row (i.e. current brightness) and set it a value in range from 0 to maximum possible brightness, then press Done. Brightness changes immediately.
  2. using Chipsec utility. It requires installing Python 3, runs on any OS. Commands must be executed in elevated terminal / command prompt (or with sudo if using on non-Windows). See examples below.

Read max brightness value:

python3 chipsec_util.py io read 0x770 4

Set new brightness:

python3 chipsec_util.py io write 0x774 4 <hexadecimal number>

where <hexadecimal number> must be replaced with actual value: for instance, 0x00014187 (this is max brightness on my machine).

Link to comment
Share on other sites

  • 2 months later...
On 3/15/2019 at 7:13 AM, kambala_decapitator said:

Just wanted to say thanks to the guy above, you're a genius! This helped me fix Nvidia issues in win10 as well on MacBookPro6,2!

UPDATE: reading through the CPU datasheet I found out that one of the commands uses incorrect register: it must be 52, not 50, and it's sufficient to modify only a single byte of the register. Instructions below are updated to reflect that. Note that if your CPU is different from those, register 50 might actually be correct - the only right way to find it out is to read your CPU datasheet (or just check in EFI shell if 50 and 51 have all zeros - if yes, then 52 is the right one).

But I went one step further and got rid of GRUB by translating the GRUB's setpci calls into EFI's mm calls, which are executed directly from rEFInd. Steps to do this:

  1. Download EFI 1.1 shell
  2. Install rEFInd https://sourceforge.net/projects/refind/
  3. Copy EFI shell file downloaded in 1) to /Volumes/EFI/EFI/tools/shell.efi (destination filename must be exactly shell.efi). If you're doing this not immediately after installing rEFInd in Recovery mode, you'll probably need to mount the EFI volume from Terminal first:
    sudo diskutil mount disk0s1
  4. Open /Volumes/EFI/EFI/refind/refind.conf with your favourite text editor and add a new menu entry in the bottom: 
    menuentry "Windows 10" {
        icon \EFI\refind\icons\os_win.png
        loader \EFI\tools\shell.efi
        options "fs0:\EFI\tools\launch_windows_disable_iGPU.nsh"
    }

     

  5. Use your favourite text editor again and create file /Volumes/EFI/EFI/tools/launch_windows_disable_iGPU.nsh with the following contents:
    mm 000001003e 1 ;PCI :8
    mm 0001000004 1 ;PCI :7
    mm 0000000052 1 ;PCI :2
    mm 0000000054 1 ;PCI :3
    
    fs0:\EFI\Microsoft\Boot\bootmgfw.efi

     

  6. You're done! Reboot now and select new menu entry "Windows 10" in rEFInd to boot Windows with the working Nvidia adapter.

 

Some details:

  • if you want to actually understand what these commands do, read the CPU datasheet linked above or check my description at https://forums.macrumors.com/threads/running-windows-with-fully-disabled-dgpu-on-an-old-mbp.2368512/post-31779359
  • on step 4 you're telling rEFInd that you'd like to execute EFI shell script which you pass in the options parameter instead of direct booting to OS
  • launch_windows_disable_iGPU.nsh script contains the converted setpci calls from step 1.3 of the original guide, as well as starting Windows boot process
  • your main EFI volume is mapped to fs0: in EFI shell (in my setup I launch windows from USB HDD, hence my MS boot loader is located at its own EFI volume on the external disk, and I use fs8: in the script - you can find these mappings by launching EFI shell from rEFInd menu and entering `map -b fs*`)
  • for w/e reason, mm's command syntax is different when executing in the shell manually, which I add for the sake of completeness (btw leading zeros can be omitted) :
    mm 000001003e 8 -pci
    mm 0001000004 7 -pci
    mm 0000000052 2 -pci
    mm 0000000054 3 -pci

     

Props to you for posting all this - i am encountering a slight issue, though, perhaps you could point me in the right direction. When the refind boot loader loads up, this new option for windows 10 shows up with broken icon, and goes directly to the EFI shell, nothing more.  The only variation my installation has, is that i was having trouble getting the refind boot loader to show up in the first place, so i renamed the 'refind' folder 'Boot', and 'refind_x64.efi' to 'bootx64.efi' - then the refind bootloader loads when booting up the EFI Boot option in the startup volume manager. My only thought now is to maybe reinstall refind? Not sure what else to do to get this functioning...

Link to comment
Share on other sites

6 hours ago, Berntron said:

Props to you for posting all this - i am encountering a slight issue, though, perhaps you could point me in the right direction. When the refind boot loader loads up, this new option for windows 10 shows up with broken icon, and goes directly to the EFI shell, nothing more.  The only variation my installation has, is that i was having trouble getting the refind boot loader to show up in the first place, so i renamed the 'refind' folder 'Boot', and 'refind_x64.efi' to 'bootx64.efi' - then the refind bootloader loads when booting up the EFI Boot option in the startup volume manager. My only thought now is to maybe reinstall refind? Not sure what else to do to get this functioning...

seems your rEFInd loader file wasn't "blessed" after install. You can try renaming the file and folder back and executing

bless --mount /Volumes/ESP --setBoot --file /Volumes/ESP/efi/refind/refind_x64.efi --shortform

there's a whole section on macOS issues: https://rodsbooks.com/refind/installing.html#sluggish

 

but actually I don't think it is related to the windows loading issue. Could you try the following?

  • boot windows from the EFI shell: fsX:\EFI\Microsoft\Boot\bootmgfw.efi where X in fsX must be replaced with the correct number where your windows boot loader is located, e.g. fs0 (you need to find it out)
  • if you're trying to load Windows with a script from the quoted post, could you post the script contents?
  • also, how did you install Windows? normal install / dism / winclone / etc.
Link to comment
Share on other sites

  • 3 months later...

Hello, rEFInd in my case only showed the shell, so I changed a line of the 4º step and now it works:

menuentry "Windows 10" {
    icon \EFI\refind\icons\os_win.png
    loader \EFI\tools\shell.efi
    options "load fs0:\EFI\tools\launch_windows_disable_iGPU.nsh"
}
Edited by fco2312
I only had this problem with rEFInd, GRUB works without problems. Now I have triple boot with Windows, Kubuntu and the last version of macOS with OpenCore Legacy Patcher.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...