![SSD:修剪不同的文件系统](https://linux22.com/image/115871/SSD%EF%BC%9A%E4%BF%AE%E5%89%AA%E4%B8%8D%E5%90%8C%E7%9A%84%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.png)
前几天我买了一个SSD:三星850 EVO 250 GB;在此驱动器上,我创建了两个 125 GB 分区:在第一个分区上,我在 NTFS 上安装了 Windows 7;在第一个分区上,我安装了 NTFS 操作系统。在第二个分区上我安装了 Haiku(操作系统)。
在 Windows 7 上,还要感谢“Samsung Magician”实用程序,我看到修剪已正确启用并正常工作。然而,在安装俳句的第二个分区上(BeFS分区),我在修剪方面遇到了一些麻烦:在俳句上有可用的fstrim
命令行实用程序(必须手动运行)。然而,在俳句中fstrim
,原始状态,这意味着,至少就我而言,当我删除 BeFS 分区上的文件时,我无法重新获得可用空间。我发现我无法从其他操作系统中修剪 BeFS 分区,因为其他操作系统不支持/识别 BeFS 文件系统。这让我担心 SSD 的健康状况和寿命。
我的问题是:当操作系统无法识别文件系统时,有没有一种方法可以重新获得 SSD 分区上的可用空间,但支持修剪?请注意,在 Haiku 上可以编译 GNU 和开源实用程序,还可以运行大多数 CLI unix 实用程序(检查俳句港在 GitHub 上)。
旁注:我真的很抱歉,因为我不太擅长用英语表达自己(因为不是我的主要语言),如果我使用了一些术语出错了。另外,由于我没有 10 分,所以我仍然无法发布两个以上的链接名声。
答案1
修剪文件系统涉及两个步骤:
- 确定文件系统未使用磁盘的哪些部分,即确定哪些块是空闲的。优选地,在这个阶段,移动空闲块以获得尽可能多的连续空闲块。 (这是理想的,因为闪存擦除块通常大于文件系统块。)
- 向闪存驱动器发送擦除命令,以删除所有不包含任何有用数据的闪存擦除块。
步骤 2 可以在任何能够与闪存驱动器通信的操作系统上完成。但步骤 1 需要了解文件系统。使fstrim
工作成为唯一的解决方案,与其他操作系统相比,有人更有可能让它在 Haiku 上的 BeFS 上工作。