kambala_decapitator Posted April 5, 2020 Report Share Posted April 5, 2020 maybe your loader is not located on fs0? Quote Link to comment Share on other sites More sharing options...
adgellida Posted May 6, 2020 Report Share Posted May 6, 2020 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? Quote Link to comment Share on other sites More sharing options...
kambala_decapitator Posted May 6, 2020 Report Share Posted May 6, 2020 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 Quote Link to comment Share on other sites More sharing options...
adgellida Posted May 6, 2020 Report Share Posted May 6, 2020 Hello, can you link me to the exact message where the method is explained? Is a Macbook 2010 year model with EFI. Thanks Quote Link to comment Share on other sites More sharing options...
kambala_decapitator Posted May 6, 2020 Report Share Posted May 6, 2020 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. Quote Link to comment Share on other sites More sharing options...
adgellida Posted May 6, 2020 Report Share Posted May 6, 2020 Ok thanks, I'll search your answer. Quote Link to comment Share on other sites More sharing options...
maziar Posted July 4, 2020 Report Share Posted July 4, 2020 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. Quote Link to comment Share on other sites More sharing options...
maximumg Posted October 30, 2020 Report Share Posted October 30, 2020 hello any solution to our problem yet? Quote Link to comment Share on other sites More sharing options...
smpro Posted December 29, 2020 Report Share Posted December 29, 2020 (edited) 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: Download EFI 1.1 shell Install rEFInd https://sourceforge.net/projects/refind/ 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 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" } 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 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 December 29, 2020 by smpro Quote Link to comment Share on other sites More sharing options...
kambala_decapitator Posted December 29, 2020 Report Share Posted December 29, 2020 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. Quote Link to comment Share on other sites More sharing options...
smpro Posted December 30, 2020 Report Share Posted December 30, 2020 (edited) 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 December 30, 2020 by smpro Quote Link to comment Share on other sites More sharing options...
kambala_decapitator Posted December 30, 2020 Report Share Posted December 30, 2020 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. Quote Link to comment Share on other sites More sharing options...
smpro Posted December 30, 2020 Report Share Posted December 30, 2020 (edited) 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... 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 December 31, 2020 by smpro Quote Link to comment Share on other sites More sharing options...
kikoveza Posted August 15, 2022 Report Share Posted August 15, 2022 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: Download EFI 1.1 shell Install rEFInd https://sourceforge.net/projects/refind/ 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 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" } 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 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? Quote Link to comment Share on other sites More sharing options...
kambala_decapitator Posted December 4, 2022 Report Share Posted December 4, 2022 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). ... 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 I've updated my post with a fix and more detailed info on the commands Quote Link to comment Share on other sites More sharing options...
kambala_decapitator Posted December 21, 2022 Report Share Posted December 21, 2022 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. 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. 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). Quote Link to comment Share on other sites More sharing options...
Berntron Posted March 2, 2023 Report Share Posted March 2, 2023 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: Download EFI 1.1 shell Install rEFInd https://sourceforge.net/projects/refind/ 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 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" } 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 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... Quote Link to comment Share on other sites More sharing options...
kambala_decapitator Posted March 2, 2023 Report Share Posted March 2, 2023 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. Quote Link to comment Share on other sites More sharing options...
fco2312 Posted June 23, 2023 Report Share Posted June 23, 2023 (edited) 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 June 23, 2023 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.