如何阻止系统在 Ubuntu 22.04 中将 USB SSD provisioning_mode 从未映射更改为完整?

如何阻止系统在 Ubuntu 22.04 中将 USB SSD provisioning_mode 从未映射更改为完整?

我将 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 芯片组:

ASMedia 芯片组

驱动器统计:

驱动器统计

fstab

文件系统

USB udev 规则:

USB UDEV 规则

provisioning_mode 位置:

provisioning_mode 位置

更多TRIM数据:

更多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"

这是一个肮脏的解决方法,但它有效

相关内容