最近在使用黑苹果的过程中还是遇到了不少的问题。果然黑苹果都是要折腾的啊。比我用过的任何系统都需要折腾。

   先说是问题吧,已经解决问题的思路。

  问题:

  1. win10后时间不对了。
  2. 切回黑苹果的时候发现不能启动了,概率挺高。通过log模式发现是找不到启动磁盘。still waiting for root device
  3. 有时候鼠标键盘在进入系统前没有反应。进入黑苹果后键盘灯不亮,但是系统可以用。进入window10 键盘才能用。否则进入bios键盘鼠标也用不了。

 

   解决:

   这几个问题相互纠缠,真的是折磨的我痛不欲生。特别是鼠标不能用的问题。鼠标不能用连bios进不去,系统也切换不了。导致我不停的重启,直到鼠标能用为止。

 一、时间不对的问题

    这个简单是因为win10使用的是格林威治时间。而osx使用的是universal time。同样的如果是win10 和 ubuntu的双系统也会有这个问题。所以有两种解决办法。一种是把win10改成universal time。一种是把osx改成格林威治时间。但是改完后我发现bios时间有了问题,我不知道bios时间是用那一个。同时我发现系统时间是会写回到bios里面的!

    参考https://dev.tonymacx86.com/threads/fix-incorrect-time-in-windows-osx-dual-boot.133719/

二、鼠标键盘的问题

    这个百度和Google了很多也么有个说法。比较靠谱的是

  •     主板打开了fastboot功能。fastboot会让bios跳过自检,加快开机启动。所以鼠标键盘在进入系统前不能用。但是我看了一      下我明显没有开这个功能。
  •     usb支持。bios对usb的支持没有打开,很明显我也开了。
  •     bios时间不对。网上还有一种说法是bios时间不对也会导致这种问题。但是我尝试设置会正确的时间并重启还是有这个问题。
  •     Usb供电有问题。有的usb短路了。这个应该不可能。但是我还是尝试把所以usb都断开只保留鼠标键盘。
  •     怀疑我新装的BCM943602CS有问题,这里面有接usb设备。但是我尝试把它拔下来,问题还是存在。

   综上我感觉是我的bios自检出了问题,但是暂时还没有找到问题出在了哪里。

三、黑苹果进不去的问题

    我一直以为这个问题和第二个鼠标键盘用不了是同一个问题的两个表现。但是我错了,这个问题应该是不一样的。这就要设计到黑苹果到DSDT和SSDT到问题了。

    DSDT和SSDT我的理解是。Bios会将主板的一些形象通过DSDT和SSDT告诉操作系统。操作系统通过这些信息做相应的工作,比如加载正确的驱动等。而黑苹果对DSDT等的信息的读取方式和windows不一样。所以需要稍微修改一下它们。而且在硬件变化的时候需要重新修改,比如加了一根内存条等。由于我之前是在github上搜索的别人现有的,所以我没有修改过这个东西。所以会导致奇奇怪怪的问题。

   而修改DSDT和SSDT比较复杂,可以参考这个博客写的很好

   简单的说就是:把aml文件反编译-> 文本文件 -> 修改文本文件 ->重新编译为aml。

    又因为反编译为文本的时候有一些错误。所以要修正这些错误。如果你学习过编程的话,这个过程会好理解一些。。。其实反编译就是猜测原本的文本可能是什么,通俗的说就是根据鸡来猜测鸡蛋是什么样子的。所以必然会有一些错误。所以反汇编完成后还要人工去修正错误。

然后我通过反编译成文本后发现我就是一些内存错误。   https://www.insanelymac.com/forum/topic/326312-solved-still-waiting-for-root-device-randomly/。跟这个很像SystemMemory和PNVB不一样。我理解的就是系统的内存大小和一些名字不一样。因此我没有反汇编。而是直接二进制修改,用beyond comparez直接打开二进制文件。通过找到相同的地址来修改。当然我只是修改的是数值的大小,所以可以直接改二进制。如果你要增加一些或删减一些东西的话。就不能这么改了。