将文件复制到 USB 记忆棒的异常行为

mlm*_*ley 2 usb files copy copy-and-paste

我正在尝试将大约 188GB 的​​文件从我的 Ubuntu 22.04 HD 复制到 1TB 记忆棒上。该棒可由系统写入,因为每次我尝试此过程时,大约 50% 的我希望复制的文件都已被复制。我总是先卸载并弹出该棒,然后再将其从系统中物理移除。

使用“属性”检查表明要复制的文件总数约为29.9K。

失败模式是复制所有文件夹,但这些“顶级”文件夹中的一些/没有文件和文件夹被复制。

我正在使用“复制”和“粘贴”来执行此操作。

我已经尝试过这个过程三次。每次它在不同的点失败,所以(看起来)我没有遇到任何硬限制,即可用空间不足。该棒表明在发生故障后它仅占满 33%,其中大约有 50% 的文件。因此,我认为还有足够的空间来容纳材料的其余部分,即未能复制的部分。

提前感谢你的帮助。

mat*_*igo 5

截至本回答发布之时(2023 年 11 月),售价低于 90 美元的 1TB USB 记忆棒应被视为假货。我所说的“假”是指棒中报告设备总体容量的固件已被修改为报告比可用值高得多的值。有时,您会发现以实惠的价格出售大容量棒的交易,但必须遵循一条古老的智慧:如果某件事看起来好得令人难以置信,那么它可能就是真的。

幸运的是,有一些工具可以让您测试 USB 记忆棒的实际容量。我通常使用 Fight Flash Fraud,也称为f3.

使用方法如下:

  1. 打开终端(如果尚未打开)

  2. 安装f3

    sudo apt install f3 
    
    Run Code Online (Sandbox Code Playgroud)
  3. 彻底清除 USB 记忆棒中的数据,最好使用您选择的工具对其进行格式化。USB 记忆棒必须是空的,因为该f3工具将写入数据以确定其实际容量。

  4. f3write从终端运行:

    f3write /media/your-usb-stick
    
    Run Code Online (Sandbox Code Playgroud)

    注意:一定要替换/media/your-usb-stick为实际的挂载点。

    您将看到如下所示的输出:

    jason@carbon:~$ f3write /media/jason/red-sandisk
    Free space: 7.68 GB
    Creating file 1.h2w ... OK!
    Creating file 2.h2w ... OK!
    Creating file 3.h2w ... OK!
    Creating file 4.h2w ... OK!
    ...
    
    Free space: 0.00 Byte Average writing speed: 68.37 MB/s
    
    Run Code Online (Sandbox Code Playgroud)
  5. f3read从终端运行:

    f3read /media/your-usb-stick
    
    Run Code Online (Sandbox Code Playgroud)

    你会看到这样的东西:

    f3read /media/jason/red-sandisk
                     SECTORS         ok/corrupted/changed/overwritten
    Validating file 1.h2w       2097152/        0/      0/          0
    Validating file 2.h2w       2097152/        0/      0/          0
    Validating file 3.h2w       2097152/        0/      0/          0
    Validating file 4.h2w       1522744/        0/      0/          0
    ...
    
      Data OK: 7.68 GB (15628400 sectors)
    Data LOST: 0.00 Byte (0 sectors)
                   Corrupted: 0.00 Byte (0 sectors)
            Slightly changed: 0.00 Byte (0 sectors)
                 Overwritten: 0.00 Byte (0 sectors)
    Average reading speed: 68.04 MB/s
    
    Run Code Online (Sandbox Code Playgroud)

    如果该Corrupted数字大于0.00,则您的 USB 记忆棒并非其声称的那样。