z370 u盘启动linux,macOS High Sierra 10.13.4下Z370主板USB相关解决方案

2023-10-20 03:30

本文主要是介绍z370 u盘启动linux,macOS High Sierra 10.13.4下Z370主板USB相关解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

有些使用z370主板安装macOS的朋友可能遇到USB方面的问题,一些朋友的表现为部分USB失灵,还有一部分可能遇到usb3.0设备插在 3.0接口处不识别,今天放上本人的解决方案。

在clover加入以下补丁并重启测试USB情况查看USB是否完整识别,3.0设备插在usb3.0上是否可用。

340740372e6d4f99a0ef64f43daa9c98.gif

添加补丁后遇到USB3.0移动硬盘插在usb3.0接口上识别为内置硬盘(桌面不显示黄盘)的解决方案:

下载最新版usbinjectall.kext,并解压拷贝到efi/clover/kexts/other下。

usb引起睡眠之后瞬间唤醒的解决方案(按照步骤2添加usbinjectall.kext后有概率遇到,此解决方案包括但不限于以上情况):

方案1(DSDT打补丁):

特点:无需排查导致bug的具体usb口是哪个。同时会使usb唤醒失效,无法用键鼠唤醒,故不推荐!!!

下载iasl用来反编译dsdt,把iasl编译器拷贝到/usr/bin目录,方便调用。

下载MaciASL,我提供的版本自带RehabMan dsdt补丁库。

提取DSDT:开机clover引导界面处按F4自动提取,路径EFI/Clover/ACPI/origin下。把DSDT.aml拷贝到桌面。

反编译DSDT:终端输入cd ~/Desktop进入桌面目录,再输入iasl -da -dl *.aml反编译DSDT,成功后会在桌面生成DSDT.dsl 文件。

给DSDT打补丁:用MaciASL打开DSDT.dsl,点击patch,在左侧补丁栏选择USB3 _PRW 0x6D Skylake(instant wake),再点击 Apply完成,如图:

340740372e6d4f99a0ef64f43daa9c98.gif

编译、排错、保存:打完补丁后点击Complie编译,如果有错请暂时依照网络资源排错。关于DSDT排错,本人后续会详细更新, 敬请期待!排错完成后点击File->Save As保存DSDT,格式为ACPI Machine Language Binary(aml)。

将dsdt拷贝到efi/clover/acpi/patched下并重启生效。

方案2(修改usbinjectall.kext)

特点:需要排查导致bug的具体usb接口,但不会导致usb唤醒失效,可以用键鼠唤醒,故强烈推荐。

排查引起bug的USB:一般为蓝牙或摄像头等特殊接口。可以拔掉相应排线重启测试,若拔掉后不再瞬间唤醒,则接口确定,比如 本人的是连接蓝牙排线的usb所导致。

Windows下进入设备管理器,确定usb设备id,如图则为8086_a2af。

340740372e6d4f99a0ef64f43daa9c98.gif

确定导致bug的usb编号:下载并打开IORegistryExplorer,找到XHC分支,在XHC分支中找到导致bug的usb所连接的设备(比如我 的是蓝牙),此设备对应的HS号即为所需编号,如图则为HS10(注意HS10下面的BCM20702A0就是我的蓝牙,也就是说HS10导致的睡眠 瞬间唤醒):

340740372e6d4f99a0ef64f43daa9c98.gif

将usbinjectall.kext拷贝到桌面,并下载PlistEdit Pro。

修改usbinjectall.kext:右击usbinjectall.kext,用PlistEdit Pro打开info.plist。找到IOKitPersonalities-> ConfigurationData->Configuration分支,在下面选择自己usb的id(Windows下找的那个,我的是8086_a2af)分支,进入后打开 ports可以看到一堆HS编号,打开自己的HS编号(步骤3找到的那个,我的是HS10),将UsbConnector属性值改成255(255为特殊端口) 并保存,如图:

340740372e6d4f99a0ef64f43daa9c98.gif

将修改好的usbinjectall.kext拷贝到efi/clover/kexts/other下重建缓存并重启。

这篇关于z370 u盘启动linux,macOS High Sierra 10.13.4下Z370主板USB相关解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/244331

相关文章

MybatisPlus中removeById删除数据库未变解决方案

《MybatisPlus中removeById删除数据库未变解决方案》MyBatisPlus中,removeById需实体类标注@TableId注解以识别数据库主键,若字段名不一致,应通过value属... 目录MyBATisPlus中removeBypythonId删除数据库未变removeById(Se

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

Linux升级或者切换python版本实现方式

《Linux升级或者切换python版本实现方式》本文介绍在Ubuntu/Debian系统升级Python至3.11或更高版本的方法,通过查看版本列表并选择新版本进行全局修改,需注意自动与手动模式的选... 目录升级系统python版本 (适用于全局修改)对于Ubuntu/Debian系统安装后,验证Pyt

Linux从文件中提取特定内容的实用技巧分享

《Linux从文件中提取特定内容的实用技巧分享》在日常数据处理和配置文件管理中,我们经常需要从大型文件中提取特定内容,本文介绍的提取特定行技术正是这些高级操作的基础,以提取含有1的简单需求为例,我们可... 目录引言1、方法一:使用 grep 命令1.1 grep 命令基础1.2 命令详解1.3 高级用法2

DNS查询的利器! linux的dig命令基本用法详解

《DNS查询的利器!linux的dig命令基本用法详解》dig命令可以查询各种类型DNS记录信息,下面我们将通过实际示例和dig命令常用参数来详细说明如何使用dig实用程序... dig(Domain Information Groper)是一款功能强大的 linux 命令行实用程序,通过查询名称服务器并输

Linux中的自定义协议+序列反序列化用法

《Linux中的自定义协议+序列反序列化用法》文章探讨网络程序在应用层的实现,涉及TCP协议的数据传输机制、结构化数据的序列化与反序列化方法,以及通过JSON和自定义协议构建网络计算器的思路,强调分层... 目录一,再次理解协议二,序列化和反序列化三,实现网络计算器3.1 日志文件3.2Socket.hpp

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、

Linux之UDP和TCP报头管理方式

《Linux之UDP和TCP报头管理方式》文章系统讲解了传输层协议UDP与TCP的核心区别:UDP无连接、不可靠,适合实时传输(如视频),通过端口号标识应用;TCP有连接、可靠,通过确认应答、序号、窗... 目录一、关于端口号1.1 端口号的理解1.2 端口号范围的划分1.3 认识知名端口号1.4 一个进程