我尝试使用 USB 端口连接的 SSD(外部 SSD)作为我的 Linux 主目录,但遇到了一些奇怪的行为。我正在使用 ssh 连接到机器。我从 USB 记忆棒运行 Debian(我尝试直接在 SSD 上安装整个操作系统,但也遇到了问题)。
下/home
,运行后mount /dev/sda1 user
,cd user
我跑去dd
测试写入速度(dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
,但是发现写入速度只有4MB/s左右。也就是说SSD是不是用于目录。在这一点上,当使用另一个 ssh 实例(因为运行 dd 的实例正在阻塞)来检查文件大小 ( du -sh test
) 时做显示1.0G,虽然dd
仍在运行。这是否意味着它实际上确实使用了 SSD(因此完成了文件写入),而另一个问题导致它需要更长的时间?当我尝试在子目录 ( /home/user/test_dir
) 上运行相同的代码时,它确实有效并显示632 MB/s
.
另一个可能奇怪的事情是运行lsblk -o name,rota
列表sda1
为ROTA 1
.难道不是ROTA 0
因为它是SSD而不是HD吗?
我究竟做错了什么?我在网上寻找解释,但找不到与我的问题相关的解释。
操作系统安装或 SSD 上没有用户数据,因此格式化/重置不是问题,也无需备份任何内容。我想安装 SSD/home
并提高速度。我也没有问题(实际上更喜欢)让整个操作系统从 SSD 运行。我尝试通过“CloneZilla”将 USB 棒(上面安装有 Debian)复制到 SSD,但也没有成功。
最后,如果我的问题缺乏焦点/不适合 StackExchange,如果您能给我指出一个更适合此类问题的论坛,我将不胜感激。
答案1
在评论中,您说您以 20 美元的价格在线购买了 SSD。即使对于最便宜的新型 SATA SSD 来说,这个价格也太便宜了。
我怀疑你有一个假SSD,声称其容量比实际容量大得多:为了击败随意测试,它只是一遍又一遍地重复使用它拥有的内容,因此它会覆盖它拥有的最旧的数据 - 没有任何警告。这也可以解释你的 Linux 安装问题。
对于Linux,有一个f3
工具包可以检测假SSD和U盘:在 Debian 上,只需apt install f3
以 root 身份即可获取它。然后您可以f3probe /dev/sda
在卸载 SSD 的情况下进行快速测试。
为了进行更彻底的测试,您可以安装 ( mkfs
'd) SSD,然后f3write /home/user
在安装闪存驱动器的任何位置运行,以用测试文件填充它,然后f3read /home/user
验证所有这些文件的内容实际上仍然在 SSD 上并且不会被以后的文件覆盖。
Windows 上也有许多工具可用于测试 USB 磁盘和 SSD 的虚假容量:最著名的可能是h2testw
(彻底但缓慢)或FakeFlashTest
(快速)。