如何更改 USB 驱动器的缓存模式

如何更改 USB 驱动器的缓存模式

由于硬盘停止工作,我已在 32GB 的 U 盘上安装了 Ubuntu 16.04。它在 U 盘上运行正常,但在 U 盘上执行写入操作(有时也可能执行读取操作)时有时会挂起几秒钟。这经常导致应用程序在大约 5 到 15 秒内无响应(在此期间它们通常会变成灰色)。

启用写回缓存可能会有所帮助。有谁知道如何启用缓存,这样我就不会偶尔遭遇极高的写入(也许还有读取)时间?

我意识到这个问题是 如何更改 USB 驱动器的缓存模式?那里有一个答案说:

您可以尝试使用不同的选项重新安装分区,例如

sudo mount -o remount,rw,relatime,data=writeback /dev/sda1 /

另一种选择是通过 Grub 传递参数。

执行上述命令会出现以下错误消息(在dmesg):

EXT4-fs (sdb1): Cannot change data mode on remount

我不知道如何通过 Grub 传递这个参数。

更新

这是我的/etc/fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sdc1 during installation
UUID=75f3da54-9738-4180-8f48-fcef12d8c1ca /               ext4    errors=remount-ro 0       1
/dev/disk/by-label/DELLUTILITY /mnt/DELLUTILITY auto nosuid,nodev,nofail,noauto 0 0
/dev/disk/by-label/Recovery /mnt/Recovery auto nosuid,nodev,nofail,noauto 0 0
/dev/disk/by-label/win7 /mnt/win7 auto nosuid,nodev,nofail,noauto 0 0
/dev/disk/by-label/SPARE /mnt/SPARE auto nosuid,nodev,nofail,noauto 0 0
/dev/disk/by-label/GoFlex /mnt/GoFlex auto nosuid,nodev,nofail,noauto,x-gvfs-show,umask=002,uid=1000,gid=1000 0 0
  • /dev/sda我的硬盘坏了
  • /dev/sdb是我的 U 盘。

答案1

如果您使用的是 USB 2.0(我希望您不是),速度将远低于典型的 HDD。无论如何,既然您已经询问了设置,其中/etc/udisks2/IDENTIFIER.confIDENTIFIER 是磁盘 MODEL 和 SERIAL 的连接(和连字符)值。

1. 找到配置文件

您可以使用以下命令获取磁盘的型号和序列号

udisksctl status

它会报告类似这样的内容

MODEL                     REVISION  SERIAL               DEVICE
--------------------------------------------------------------------------
WDC WD1600BEVT-22ZCT0     11.01A11  WD-WXE808S69993      sda     
HL-DT-ST DVDRAM GSA-T20N  EV02      M2L87NG3612          sr0     

为了形成文件​​名,我首先将模型中的空格替换为-。现在是WDC-WD1600BEVT-22ZCT0。然后将序列号与连接起来-。结果是WDC-WD1600BEVT-22ZCT0-WD-WXE808S69993。所以,在我的例子中,设置文件位于/etc/udisks2/WDC-WD1600BEVT-22ZCT0-WD-WXE808S69993.conf

2.编辑配置文件

在该文件中应该有ini像条目和部分这样的文件。在[ATA]部分下,使用此键值创建一个条目WriteCacheEnabled=true

# See udisks(8) for the format of this file.
[ATA]
WriteCacheEnabled=true

保存文件。设置应在重启后生效。

相关内容