![如何阻止系统在 Ubuntu 22.04 中将 USB SSD provisioning_mode 从未映射更改为完整?](https://linux22.com/image/951132/%E5%A6%82%E4%BD%95%E9%98%BB%E6%AD%A2%E7%B3%BB%E7%BB%9F%E5%9C%A8%20Ubuntu%2022.04%20%E4%B8%AD%E5%B0%86%20USB%20SSD%20provisioning_mode%20%E4%BB%8E%E6%9C%AA%E6%98%A0%E5%B0%84%E6%9B%B4%E6%94%B9%E4%B8%BA%E5%AE%8C%E6%95%B4%EF%BC%9F.png)
我将 USB provisioning_mode 设置为 unmap,以允许支持 TRIM 的外部 USB SSD 丢弃 TRIM。系统在重新启动后恢复为 provisioning_mode full。TRIM 在 provisioning_mode 设置为 unmap 时工作良好,因此我可以根据需要手动 TRIM 分区或整个驱动器。我有多个 etc/udev/rules.d 文件 - 10-uas-discard.rules、10-trim.rules、50-usb-ssd-trim.rules 和 90-usb-discard.rules - 都包含完全相同的数据 - ACTION=="add|change", ATTRS{idVendor}=="174c", ATTRS{idProduct}=="55aa, SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"
有什么方法可以防止这种情况发生吗?我遗漏了什么吗?
ASMedia 芯片组:
驱动器统计:
fstab
:
USB udev 规则:
provisioning_mode 位置:
更多TRIM数据:
答案1
代替
ACTION=="add|change", ATTRS{idVendor}=="174c", ATTRS{idProduct}=="55aa, SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"
使用以下两行:
ACTION=="add", ATTRS{idVendor}=="174c", ATTRS{idProduct}=="55aa", SUBSYSTEM=="scsi_disk", RUN+="/usr/bin/sh -c 'sleep 1 && udevadm trigger --subsystem-match=scsi_disk'"
ACTION=="change", ATTRS{idVendor}=="174c", ATTRS{idProduct}=="55aa", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"
这是一个肮脏的解决方法,但它有效