Linux检查U盘的物理健康状况
时间:2020-01-09 10:41:19 来源:igfitidea点击:
如何检查Linux操作系统中U盘的物理状态?
如何在Linux中检查USB闪存盘?
您能告诉我Linux命令来测试和检测USB闪存或笔式驱动器中的坏扇区吗?
本教程说明如何在Linux中检查U盘的健康状态并获取状态,以便了解其是否无法修复。
Linux检查U盘
在Linux中检查U盘的物理状况的过程:
- 将U盘插入Linux系统。
- 要测试和检测USB闪存或笔式驱动器中的坏扇区,请运行:
badblocks -w -s -o error.log/dev/sdX
- 要对USB闪存驱动器进行错误检查,可以使用f3write和f3read命令,这是Windows操作系统中h2testw应用程序的替代方法。
让我们详细查看所有命令和示例。
Linux命令检查U盘的物理状态
首先,在Linux下找出您的U盘或闪存驱动器名称,运行:
lsblk
警告:这将破坏U盘/记忆棒上以前存储的所有数据。
确保在Linux下选择正确的USB设备名称。
插入U盘后,运行以下命令在设备上搜索坏块:
sudo badblocks -w -s -o error.log /dev/sda
其中的选项如下:
- -w:使用写模式测试通过在设备的每个块中写入一些模式,读取每个块并比较内容来扫描坏块。
- -s:显示扫描进度。
-o error.log
:将坏块列表写入当前工作目录中的error.log文件。
使用cat命令查看error.log:
cat error.log
F3工具
f3是一个简单的工具,可以测试闪存卡的容量和性能,以查看它们是否符合要求的规格。
如何在Linux上安装F3工具
首先,请确保您已在Linux上安装并运行了编译器。
如果没有,请参见以下教程:
- Ubuntu Linux安装GNU GCC编译器和开发环境
- Debian Linux安装GNU GCC编译器和开发环境
- CentOS/RHEL 7:安装GCC(C和C ++编译器)和开发工具
使用wget命令下载文件:
wget https://github.com/AltraMayor/f3/archive/v7.2.tar.gz
在Linux上解压缩tar包,运行:
tar xvf v7.2.tar.gz
编译:
make
安装它:
make install
使用f3read/f3write测试性能
使用以下两个命令。
首先,f3write将大文件写入已安装的U盘盘。
例如,我的/dev/sda挂载在/mnt /:
f3write /mnt/
接下来,f3read将检查闪存盘是否完全包含写入的文件:
f3read /mnt/
零数据丢失表明我的U盘工作正常。
在Linux上使用f3probe进行快速容量测试
如果您认为自己购买了伪造的闪存驱动器,请尝试以下Linux命令。
f3probe命令是最快的驱动器测试,适用于大型磁盘,因为它只写测试驱动器所需的内容。
它直接在(未装载的)块设备上运行,需要以特权用户身份运行(再次小心使用设备名称,因为--destructive选项会删除所有数据):
sudo ./f3probe --destructive --time-ops /dev/sdb
输出示例:
[sudo] password for Hyman: F3 probe 7.2 Copyright (C) 2010 Digirati Internet LTDA. This is free software; see the source for copying conditions. WARNING: Probing normally takes from a few seconds to 15 minutes, but it can take longer. Please be patient. Good news: The device `/dev/sdb' is the real thing Device geometry: *Usable* size: 15.24 GB (31969278 blocks) Announced size: 15.24 GB (31969278 blocks) Module: 16.00 GB (2^34 Bytes) Approximate cache size: 0.00 Byte (0 blocks), need-reset=no Physical block size: 512.00 Byte (2^9 Bytes) Probe time: 5'16" Operation: total time / count = avg time Read: 1.95s / 4814 = 405us Write: 5'11" / 4192321 = 74us Reset: 1us / 1 = 1us
如何在Linux中将U盘的容量校正为实际大小
运行f3fix命令创建一个适合假驱动器实际大小的分区。
仅用于纠正伪造驱动器的大小。
使用f3probe的输出确定i3fix的参数:
sudo ./f3fix --last-sec=16477878 /dev/sdb