You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Grub中无需预先知晓设备ID即可禁用USB设备的UAS功能?

如何在Grub中无需预先知晓设备ID即可禁用USB设备的UAS功能?

看来你碰到了一个挺棘手的场景——三个同ID的希捷USB硬盘,UAS开启后拿不到SMART数据,而且设备的连接状态还不固定:开机时可能没插,插了之后设备ID也可能变化,之前的方法要么执行失败要么依赖固定ID,确实闹心。我来给你几个可行的解决方案:

一、用Grub通配符参数覆盖所有同厂商设备

既然你的所有希捷硬盘都是同一个厂商ID(0bc2),我们可以用通配符代替产品ID,让内核对该厂商下的所有USB设备强制禁用UAS,不管产品ID是什么,也不用管设备是否开机时已连接:

  1. 编辑Grub配置文件:
    sudo nano /etc/default/grub
    
  2. 找到GRUB_CMDLINE_LINUX这一行,修改为:
    GRUB_CMDLINE_LINUX="usb-storage.quirks=0bc2:*:u"
    
    这里的*是通配符,代表匹配厂商ID为0bc2的所有产品ID,:u表示强制禁用UAS。
  3. 更新Grub配置(根据你的发行版选择对应命令):
    • Debian/Ubuntu系:
      sudo update-grub
      
    • RHEL/CentOS/Fedora系:
      sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      
  4. 重启系统后,这个参数会生效,开机时连接的希捷硬盘都会自动禁用UAS。

二、用udev规则处理热插拔的设备

上面的Grub参数只对开机时已连接的设备生效,如果你的硬盘是开机后才插上的,还需要用udev规则来自动触发UAS禁用:

  1. 创建udev规则文件:
    sudo nano /etc/udev/rules.d/99-disable-seagate-uas.rules
    
  2. 写入以下规则(两种方式选其一即可):
    • 方式一:匹配所有希捷USB设备,添加通配符quirks:
      ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bc2", RUN+="/bin/sh -c 'echo 0bc2:*:u > /sys/module/usb_storage/parameters/quirks'"
      
    • 方式二:更精准地匹配块设备,针对每个插入的希捷硬盘单独添加quirks:
      ACTION=="add", SUBSYSTEM=="block", ENV{ID_VENDOR_ID}=="0bc2", RUN+="/bin/sh -c 'echo 0bc2:$attr{idProduct}:u >> /sys/module/usb_storage/parameters/quirks'"
      
  3. 重新加载udev规则并触发生效:
    sudo udevadm control --reload-rules && sudo udevadm trigger
    
    这样以后不管什么时候插拔希捷硬盘,udev都会自动把对应的UAS禁用规则添加到内核模块参数里。

三、验证是否生效

你可以通过以下方法确认UAS已经被禁用:

  • 查看当前生效的quirks参数:
    cat /sys/module/usb_storage/parameters/quirks
    
    应该能看到0bc2:*:u或者对应的产品ID条目。
  • 查看设备使用的驱动:
    lsusb -t
    
    对应的希捷硬盘条目应该显示使用usb-storage驱动,而不是uas。
  • 检查SMART信息:
    smartctl -a /dev/sdX  # 把X换成你的设备名,比如sdb、sdc
    
    现在应该能正常获取到SMART数据了。

补充说明

你之前尝试的rmmod usb-storage失败,是因为uas模块正在占用它,所以无法直接卸载。而上面的方法不需要卸载模块,而是通过内核参数和udev规则提前配置,从根源上避免UAS被加载到目标设备上。

备注:内容来源于stack exchange,提问作者Estatistics

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 07:19:32