美文网首页MacBook
Mac Kext 驱动文件遇坑记

Mac Kext 驱动文件遇坑记

作者: 灰太狼_zq | 来源:发表于2018-03-28 16:27 被阅读1538次

    1.背景

    为了在Mac查看串口日志,所以百度说要装个驱动
    那就装呗
    马上到官网来下载了一个这个PL2303驱动文件


    官网网页

    装上之后,左找右找还是不行,都找不到串口驱动,识别不了
    后来看下面的Note 说10.13的系统要Go to System Preferences - Security & Privacy and click Allow. 就是说要去控制面板里面允许,那就去允许呗

    2.现象

    点击之后-----电脑立马就重启了。。。显示这个界面


    电脑重启界面

    3.挣扎过程

    当时慌了一下,这是第一次使用Mac出现重启的情况,第一次见,不过马上就镇静了,心里想可以不兼容吧,重启就好了。。。
    可是,可怕的事情发生了。。。一直重启。。。一直重启。。。一直重启。。。
    不停地出现这个界面。。。
    当时还算镇静,心想只有和Windows一样了,进安全模式把驱动删了就可以了。。。经过百度。。。发现是重启的时候按住shift就可以进入安全模式了。。。进入安全模式之后。。。电脑还能用。。。不过限制了显卡工作模式。。。屏幕一直闪一直闪。。。
    马上想到去PL2303的驱动找驱动卸载方法,原来在驱动的文件夹中有个PDF,打开来看,使用如下方式来进行卸载。。。马上按照做了。。


    PL2303驱动卸载方法

    心里想,这下搞定了吧,马上重启。。。
    草。。。
    还是一直重启,不停的重启,这下慌了,明明都按照做了。。。为什么还是不行。。。
    我第一反应就是那个驱动没卸载干净,我就找啊找,把Google和百度的前几页翻完了,按照上面的操作步骤。。该弄的都弄了,试了好几遍还是不行。。。
    我想,老子重装一遍这个软件。。。看他会不会崩溃。。。重装一遍说不定就好了。。。我就重新了安装这个驱动程序。。。可是开机还是崩溃。。。。。
    我心想,可能是Mac有驱动缓存,应该那个错误的驱动在Mac的缓存中,那我刷新一下缓存呗。
    各种尝试刷新缓存。。。开机重启,心想这下可以了吧。。。。
    尼玛。。。还是不停的重启。。。我更慌了。。。
    无奈,求助朋友,朋友让找苹果客服。。。
    那好,就找苹果客服呗。把情况说明了,也把开机的crash 报告给了客服。
    客服也说不出什么个暖用,就让重新覆盖安装一遍系统看看,那好吧。。。
    幸亏手机是无线流量,电脑连上手机热点,大概下了40分钟。。。重新安装系统。。。心想这次应该可以了吧。。。我日你吗
    开机还是重启。。。这时候,离崩溃的边缘已经非常接近了。。。
    心力交瘁。。。因为中午也没休息。。。工作也还没开始做。。。
    心想不能垮。。继续干。。。
    心想仔细分析一个错误日志呗。。。错误日志很明确就是指向一个叫lvsex.kext 的驱动文件,反正就是内存地址错误。。。后来才知道kext 是mac 的驱动的。。。那就找到这个文件删除了呗。。。就找Mac驱动的路径。。。。
    在library 下面有个。。。在system 下面有个文件夹。。。两个文件夹都找了,都没找到这个文件,当时第一反应应该是现在安全模式下,没有正常加载这个驱动,所以看不到。。。那我就尝试去加载系统中所有的驱动呗。。。就找了一些方法尝试加载系统中所有的驱动。。。。在终端里面看到。。。。可是只能看到驱动的包名类似com.xx.xx 这样的。。。和uuid 。。。
    我就用系统错误日志中的uuid 和终端中的uuid 来对比。。。对比了几百个也没看到。。。当时真的快崩溃了。。。已经没有头绪了。。。
    我当时已经进入误区了。。。心里想到的,肯定是这个驱动引起的。。。
    我想,有没有办法能看到这个pkg 里面的东西呢。。。我就安装了一个叫pacifist的软件,可以看到pkg里面的东西,看了,里面的内容还是就是驱动文件,就是删除方法里面的,已经删了啊,除了还有个plist文件,无非是驱动签名之类的东西,并没有什么可用的信息。。。
    没办法了。。。下班回家。。。

    4.重装

    重装呗。。。
    幸亏平时还比较注意整理东西。。。把东西都分类的很好。。。
    做了备份的文件列表,Jenkins使用了备份工具,真的很好用。。。
    可是问题又TM来了。我备份的文件很多,都很大。只能用移动硬盘来拷贝文件。。。
    可是在安全模式下面。。。都无法正确识别移动硬盘。。。因为Mac下不支持NTFS的格式,只有下安装第三方软件。。可是试了好几个都不能访问。。。各种试都不行。。。折腾了2个小时。。。都没用。。。后来无奈。。。想想使用U盘呗。U盘16G的也是NTFS的格式,没法格式化成苹果支持的exFat呗,我去你麻痹,还是不行,那就在苹果下格式化呗。。。使用苹果的磁盘工具格式化。。。还是不行。。。。最后只有使用我的手机来拷贝。。。靠数据线拷贝。。。幸亏手机是UFS 2.0的闪存。 拷贝速度也在20M左右不算很慢。。。
    数据拷贝完了之后,都晚上1点过了。。。
    重启还是按住shift,先格式化磁盘,在安装最新的系统。。。。
    这次开机没有让我失望。。。成功进入系统。。。可是你麻痹。。。所有东西得重装。。。代价真的太大了。。。。

    5.复现

    第二天到公司,装好必要的工作程序,因为公司上网需要一个软件,Mac下的也要安装,下载之后是一个setup64的文件,拖到终端,输入密码就会执行。
    输了之后之后,你妈B,电脑马上重启了,重现了昨天重启那个画面,当时我真是说吓哭了一点不为过。真的。。。当时腿就软了。。。痴呆的看这屏幕。。。愣了几秒钟之后。。。没办法,重新进安全模式呗。。。
    进入之后,之前看过这个软件,因为这个软件在Windows下无法卸载,必须要输入管理员密码。。。很贱很贱。。。我当时卸载是进入的PE模式下,用everything 找到这个软件的所有东西,包括注册表来删除的。。。当时Mac安装之后我就知道Mac应该也卸载不掉的。。。但是我找过这个软件的目录。。。藏得很深。。。。当我打开这个软件的目录时候,我愣住了。。。
    lvsex.kext
    lvsex.kext
    lvsex.kext
    这个文件赫赫在目。。。这尼玛也可以。。。这狗东西不就是引起昨天crash的问题的吗?原来驱动文件不一定要在系统指定的两个目录下的。。。
    立马删除了这个安装目录。。。使用昨天学到的重建系统驱动缓存的命令。。。重启。。。直接进入系统。。。没有任何问题。。。。
    我草。。。这狗币。。。

    6.分析

    为什么以前这个软件没有引起重启呢?
    经过回溯,应该是我之前装了一个Mac 的系统更新,一直没有重启,重启的那次就是安装PL2303的驱动时候,引起了重启
    再联想到昨天的经历和这个网站的描述


    网站描述

    一句话描述就是:新系统的签名机制不支持kext文件包含不规则的签名规则,
    就是这个上网软件和PL2303的驱动文件不支持新系统,所以引起了内核崩溃。

    7.总结

    1.备份,平时一定要注意备份东西
    2.分类,平时一定要分类好东西,在备份的时候,才可以快速备份
    3.升级,不要没事都去升级到最新的Mac OS 系统,最新的系统都是要经过这个坑才能成熟的,不要轻易的体验和尝试最新的系统,稳定才是王道
    4.分析,应该合理的分析问题,最开始的时候就进入了思想误区,以为肯定是那个PL2303的驱动引起的,或者没卸载干净引起的,可是根本原因就不是,而且系统的错误报告都明显的指向这个lvsex.kext ,那当时为什么就没有全局搜一下呢,如果全局搜一下,就不会引起重装了。。
    5.Mac下的全局搜索工具,应该在Mac下面找到一个类似Windows的everything这样的工具,Alfred3这种工具并不能满足全局搜索的功能
    6.冷静的处理问题,冷静的处理问题,冷静的处理问题

    相关文章

      网友评论

        本文标题:Mac Kext 驱动文件遇坑记

        本文链接:https://www.haomeiwen.com/subject/dazycftx.html