要查macOS所有已挂载磁盘的物理总线协议,需组合diskutil info(获取Protocol字段)和system_profiler(验证USB/Thunderbolt真实路径),并用脚本汇总挂载点→协议→设备;NVMe/PCIe表内置高速直连,USB/Thunderbolt需交叉验证防桥接误判。
要查 macos 所有已挂载磁盘的物理总线协议(比如 nvme、pcie、usb 3.2、thunderbolt),不能只看 mount 或 df——它们只显示文件系统类型和挂载点,不反映底层连接方式。真正可靠的方法是组合使用 diskutil info 和 system_profiler,并辅以脚本快速汇总。
直接获取每个挂载点对应的物理协议
运行以下命令,一次性列出所有已挂载卷的挂载路径、对应磁盘设备及协议类型:
for vol in $(df -h | grep '^/dev/' | awk '{print $1}'); do
dev=$(echo "$vol" | sed 's/s[0-9]*$//')
proto=$(/usr/sbin/diskutil info "$dev" 2>/dev/null | grep "Protocol:" | awk -F': ' '{print $2}' | tr -d ' ')
mount_point=$(df -h | grep "^$vol " | awk '{print $6}')
[ -n "$proto" ] && echo "$mount_point → $proto ($dev)"
done | sort -u输出类似:
/ → NVMe (disk0) /Volumes/MySSD → USB (disk2) /Volumes/ThunderBoltDrive → Thunderbolt (disk3)
⚠️ 注意:
diskutil info中的Protocol:字段是关键依据,它直接来自 I/O Kit 驱动层,比mount更底层、更真实。
区分协议类型的具体含义
-
NVMe:通常对应内置 PCIe SSD,性能最高;若同时看到
SPNVMeDataType报告中含Gen4 x4 @ 16 GT/s,说明走的是原生 PCIe 通道。 - PCIe:部分老款 Mac 的 SSD 可能标为 PCIe(非 NVMe),也属高速直连。
-
USB:包括 USB 3.2 Gen 2(10 Gbps)、Gen 1(5 Gbps)或 USB 2.0(480 Mbps)。但要注意——有些雷电硬盘盒内部桥接为 USB 协议,此时
diskutil info显示 USB,实际带宽受限。 -
Thunderbolt:表示设备通过雷电控制器直连,
system_profiler SPTHunderboltDataType会进一步显示链路拓扑与协商速度(如 Thunderbolt 4 @ 40 Gbps)。
验证 USB/Thunderbolt 设备的真实连接路径
当 diskutil info 显示 USB,但你插的是雷电硬盘盒时,需交叉验证是否被降级:
-
查雷电设备:
system_profiler SPTHunderboltDataType | grep -A 5 -B 2 "Device Name\|Speed"
-
查 USB 设备详情:
system_profiler SPUSBDataType | grep -A 3 -B 1 "Product Name\|Speed\|Version"
如果同一设备在两个报告中都出现,优先以 SPTHunderboltDataType 为准——说明它走的是雷电协议,diskutil 显示 USB 是因桥接芯片导致的上层抽象。
补充:查看内置磁盘的协议细节(不含挂载点)
对主硬盘等未挂载或需深度确认的设备,单独查更准:
-
内置 NVMe SSD:
system_profiler SPNVMeDataType | grep -E "(Name|Link Width|Speed|Model)"
-
SATA 硬盘(少见,多见于旧款 Mac Pro):
system_profiler SPSerialATADataType | grep -E "(Name|Medium Type|Negotiated Link Speed)"
这些输出会明确写出物理接口规格,不受文件系统或挂载状态影响。
不复杂但容易忽略


















