显卡在 Mac 上的 Windows 8.1 上无法工作

显卡在 Mac 上的 Windows 8.1 上无法工作

在我的 MacBook5,2(Nvidia 9400m 显卡)上,如果在 Windows 中安装了驱动程序,Windows 无法启动。如果这很重要,Windows 是以 EFI 模式安装的。

答案1

startup.nsh我在EFI Shell 文件中输入了以下内容:

mm 0010003E 1 ;PCI :8
mm 02000004 1 ;PCI :7
fs0:\EFI\Microsoft\Boot\bootmgfw.efi

现在,如果只有一种方法可以在 EFI 变量中设置这些寄存器......

技术信息:虽然 Windows 8 不再要求 EFI 系统具有兼容 VGA 的视频,但 Nvidia 驱动程序显然仍具有兼容 VGA 的视频,如果未检测到,就会崩溃。上述命令应该在显卡中启用 VGA 支持。

答案2

首先,@kinokijuf 工作得很好,但我很难理解其背后到底发生了什么。

首先,这个解决方案在我使用 Windows 10 和 Macbook 5,2(白色/2009)的电脑上有效

如果你是不是关于什么是 EFI,我将尝试解释一下:这是一种启动系统的新方法,磁盘上有一个分区,里面有一堆小型 EFI 程序。此分区通常存在于 Mac/Windows 上(如果使用 EFI 选项安装),除非您安装它,否则您看不到它。

对于在 Mac 上安装:

diskutil list
sudo mkdir /Volumes/efi
sudo mount -t msdos /dev/disk0s1 /Volumes/efi
  • 其中 /dev/disk0s1 是第一个命令中列出的 EFI 分区。

来源:http://themacadmin.com/mounting-the-efi-boot-partition-on-mac-os-x/

要在 Windows 上安装,请以管理员权限打开提示符并:

mountvol S: /S

好的,那我为什么需要知道这个呢?

你需要启动你的 Windows,但在此之前你需要运行这个该死的命令,所以我的建议是首先安装更好的引导程序。我推荐 rEFInd,它对我帮助很大,我一直在使用它。

网站:http://www.rodsbooks.com/refind/ 下载页面:http://www.rodsbooks.com/refind/getting.html 在 Windows 或 Mac 页面上安装:http://www.rodsbooks.com/refind/installing.html#windows

你做过那件事吗?

如果是,您目前知道存在 EFI 分区,并且您已将所有 refind 文件复制到该位置。您可以启动,您将看到 refind 正在执行启动加载过程。

您也知道在此过程中您复制了一个名为 refind.conf 的文件,对吗?

在此文件上,您可以配置“特殊手动 Windows 条目”,我的是这样的:

menuentry "Windows via shell script" {
    icon \EFI\refind\icons\os_win.png
    loader \EFI\tools\Shell_Full.efi
    options "fs0:\EFI\tools\startup.nsh"
}

如果你检查的话,你会发现实际上在conf文件中有一个与此非常相似的。

此条目将显示,但为了使其起作用,您还需要另一个步骤! 我在 EFI 分区(EFI 文件夹内)创建了一个名为 tools 的文件夹,在里面我复制我从英特尔下载的一个 EFI 程序,通常称为 EFI Shell 2,文件名是 Shell_Fu​​ll.efi。

来源如下:https://svn.code.sf.net/p/edk2/code/trunk/edk2/EdkShellBinPkg/FullShell/X64/Shell_Fu​​ll.efi

我不会撒谎,我不知道这到底是干什么的,但它是一个程序,你把它放在工具文件夹中,然后您将传递一个 Shell 脚本作为该程序的参数运行

因此,正如您在我的 refind.conf 条目的这一部分看到的,这里是参数:

options "fs0:\EFI\tools\startup.nsh"

你应该创造这个文件也作为参数传递,你将把解决你生活的命令放在那里。我的(startup.nsh)如下:

mm 0010003E 1 ;PCI :8
mm 02000004 1 ;PCI :7
fs0:\EFI\Microsoft\Boot\bootmgfw.efi

就是这样了,我现在在 Windows 10 上用这个该死的 Nvidia 驱动程序 341.74 写作,我花了整整两天时间重新启动、修复、重新安装、更新,直到我最终找到完整的解决方案。

因此,如果您在 EFI 上安装 Windows 10 时遇到此修复/重启/循环,则可以使用此方法。我希望将来能找到一种使用较少中间程序来启动我的 MacBook 的方法。

答案3

对于那些在旧 Mac 上遇到问题的用户,请尝试更改启动.nsh值:

mm 0010003E 1 ;PCI :8
mm 03000004 1 ;PCI :7
fs0:\EFI\Microsoft\Boot\bootmgfw.efi

答案4

在我的MacBook 2009 年末(Macbook6,1 或 a1342)efi 外壳命令“ pci -b”显示:

   Seg  Bus  Dev  Func
   ---  ---  ---  ----
    00   00   00    00 ==> Bridge Device - Host/PCI bridge
             Vendor 10DE Device 0A82 Prog Interface 0
    00   00   00    01 ==> Memory Controller - RAM memory controller
             Vendor 10DE Device 0A88 Prog Interface 0
    00   00   03    00 ==> Bridge Device - PCI/ISA bridge
             Vendor 10DE Device 0AAE Prog Interface 0
    00   00   03    01 ==> Memory Controller - RAM memory controller
             Vendor 10DE Device 0AA4 Prog Interface 0
    00   00   03    02 ==> Serial Bus Controllers - System Management Bus
             Vendor 10DE Device 0AA2 Prog Interface 0
    00   00   03    03 ==> Memory Controller - RAM memory controller
             Vendor 10DE Device 0A89 Prog Interface 0
    00   00   03    04 ==> Memory Controller - RAM memory controller
             Vendor 10DE Device 0A98 Prog Interface 0
    00   00   03    05 ==> Processors - Co-processor
             Vendor 10DE Device 0AA3 Prog Interface 0
    00   00   04    00 ==> Serial Bus Controllers - USB
             Vendor 10DE Device 0AA5 Prog Interface 10
    00   00   04    01 ==> Serial Bus Controllers - USB
             Vendor 10DE Device 0AA6 Prog Interface 20
    00   00   06    00 ==> Serial Bus Controllers - USB
             Vendor 10DE Device 0AA7 Prog Interface 10
    00   00   06    01 ==> Serial Bus Controllers - USB
             Vendor 10DE Device 0AA9 Prog Interface 20
    00   00   08    00 ==> Multimedia Device - UNDEFINED
             Vendor 10DE Device 0AC0 Prog Interface 0
    00   00   09    00 ==> Bridge Device - PCI/PCI bridge
             Vendor 10DE Device 0AAB Prog Interface 1
    00   00   0A    00 ==> Network Controller - Ethernet controller
             Vendor 10DE Device 0AB0 Prog Interface 0
    00   00   0B    00 ==> Mass Storage Controller - UNDEFINED
             Vendor 10DE Device 0AB9 Prog Interface 1
    00   00   10    00 ==> Bridge Device - PCI/PCI bridge
             Vendor 10DE Device 0AA0 Prog Interface 0
    00   00   15    00 ==> Bridge Device - PCI/PCI bridge
             Vendor 10DE Device 0AC6 Prog Interface 0
    00   02   00    00 ==> Display Controller - VGA/8514 controller
             Vendor 10DE Device 0863 Prog Interface 0
    00   03   00    00 ==> Network Controller - Other network controller
             Vendor 14E4 Device 4353 Prog Interface 0

我有两个PCI-PCI 桥接器

    00   00   10    00 ==> Bridge Device - PCI/PCI bridge
    00   00   15    00 ==> Bridge Device - PCI/PCI bridge

和我的VGA 控制器正在

    00   02   00    00 ==> Display Controller - VGA/8514 controller

为了正常工作,必须启用VGA 控制器PCI-PCI 桥接器连接于VGA 控制器

我尝试启用PCI-PCI 桥接器 00 00 10 00在登记处3E放置;PCI :8VGA 控制器 00 02 00 00在登记处04; PCI :7。我的“启动.nsh” 变成这样了。

mm 000010003E ;PCI :8
mm 0002000004 ;PCI :7
fs0:\EFI\Microsoft\Boot\bootmgfw.efi

不幸的是,这不是正确的PCI-PCI 桥接器所以我改变了我的启动.nsh以启用00 00 15 00 PCI-PCI 桥接器

mm 000015003E ;PCI :8
mm 0002000004 ;PCI :7
fs0:\EFI\Microsoft\Boot\bootmgfw.efi

并且成功了。就是这样

相关内容