本机磁盘
「本机磁盘」页列出这台电脑的物理磁盘:机内的固态硬盘和机械硬盘、USB 盘、读卡器和存储卡。每块盘都写明它是什么盘、怎么接的、这条连接跑多快、读写过多少、它自己记录的健康状况,以及上面有哪些卷。没扫描过的盘也在里面。
点标题栏右侧的「本机磁盘」按钮(帮助和设置按钮左边,磁盘上面一个仪表的图标)、开始页右栏最上面的「本机磁盘」卡片,或者在命令面板里运行「本机磁盘」(输入 disks、ssd、nvme、sata、usb 也能找到)。它在单独的标签页里打开,打开时和点「刷新」时读取磁盘;页面不会自己变化,也不会弹出任何东西。
开始页上的卡片
Section titled “开始页上的卡片”卡片是这一页的摘要:有几块盘、总容量和可用空间、一条按存储类型分段的容量条,以及「最满」的卷和「最快」的链路。有发现时,右上角写着「N 条发现」(有需要留意的条目时用警示色和警示图标)。点卡片任何地方都会打开这一页。
页面上方是一块仪表盘:
- 物理磁盘:有几块,按接口分别有几块。读卡器的空卡槽不算。
- 容量:磁盘容量之和;环形计量显示你的卷已经用了多少,下面一行写出已用和可用。
- 卷:本地卷有几个,其中几个 SpaceKnife 从扫描或快照里知道。
- 最快链路:所有盘里最快的连接、它的带宽,以及是哪块盘。
- 容量构成:按存储类型分段的容量条,从最快(NVMe SSD,最亮)到最慢(外接盘与存储卡);下面的表写出每类有几块盘、多大、占多少。
- 发现:值得知道的事,需要留意的排在前面:
| 发现 | 什么时候出现 |
|---|---|
| 「E:\ 已用 92%,只剩 38 GB」(需要留意) | 卷已用 90% 以上。80% 起也会列出,但不算需要留意。 |
| 链路比盘支持的慢 | 见链路比它能跑的慢时。控制器能传的不到盘的 SATA 链路的四分之三时,算需要留意。 |
| 「… 不支持 TRIM」 | 不支持 TRIM 的 SSD:长期写入后可能变慢。 |
| 「D:\ 比 3 天前的快照多了 18 GB」 | 卷在最近两次完整快照之间增加(或减少)了 5 GB 以上,并且超过卷容量的 2%。 |
| 「… 报告了严重警告」「… 记录了 3 个介质错误」(需要留意) | 磁盘自己的健康记录里有严重警告或介质错误。见读写量与健康记录。 |
| 「… 的写入寿命只剩 8%」(需要留意) | 固态硬盘估计的写入寿命只剩 10% 以下,或者已经超过额定寿命。只剩 30% 以下时也会列出,但不算需要留意。 |
| 「… 的备用块只剩 8%」(需要留意) | 固态硬盘的备用块降到了它自己的报警线以下。 |
| 「… 现在 72 °C,偏热」 | 磁盘报告的温度在 70 °C 以上。 |
这里不会提醒你去扫描:没扫描过的卷只是照实显示。
每块盘显示什么
Section titled “每块盘显示什么”「磁盘」下面每块盘是一张卡片,卡片按窗口宽度排成尽可能多的列:窄窗口两列,宽窗口三到四列。同一行的卡片逐段对齐,链路、读写量、健康和卷都从同一高度开始,方便横着比较;不知道的值写「—」,悬停能看到原因。
- 名称和容量:磁盘报告的型号(型号里没有厂商时加上厂商)、存储类型(NVMe SSD、SATA SSD、机械硬盘、U 盘、存储卡……)、容量,以及系统给它的编号(Windows 上是「磁盘 3」,和「磁盘管理」里一致)。
- 「系统盘」标出装着系统卷的那块盘;「可移动」标出可以拔下或弹出的盘。
- 用了多少:左边的环形计量显示这块盘上的卷用了多少,中间写着百分比。
- 接口和当前链路:NVMe 加上它的 PCIe 链路(比如「PCIe 4.0 ×4 ≈ 7.9 GB/s」),SATA 加上速率(「SATA 6 Gb/s」),USB 加上当前连接的速率(「USB 480 Mb/s」「USB 5 Gb/s」)。系统同时报告了盘支持的最高速率时,还有一条计量把当前链路和它对比:「满速」,或者比如 PCIe 5.0 的盘插在 4.0 插槽上时的「50%」(最高速率的 50%)。
- 读写量:一张小表,「累计」一行是磁盘自己记录的整个寿命里读了多少、写了多少,「开机以来」一行是系统这次启动以来的读写。数值按大小自动换单位,和「大小单位」设置一致。
- 健康:温度、通电时间,以及固态硬盘的「剩余寿命 N%」。见读写量与健康记录。
- 详细信息:型号、厂商、序列号、固件、是否支持 TRIM、健康记录(来源、通电时间、通电次数、不安全关机、介质错误、备用块),以及系统对它的称呼(
PhysicalDrive3、nvme0n1、disk2)。序列号只留在你的电脑上,也只在这里折叠显示。
没有插入介质的盘(比如读卡器的空卡槽)只显示一行和它的盘符。
链路比它能跑的慢时
Section titled “链路比它能跑的慢时”系统同时报告了磁盘支持的速率和实际速率时,链路下面会多一行说明:
| 你看到 | 意思 |
|---|---|
| 这块盘支持 PCIe 5.0 ×4,现在的插槽只给到 PCIe 4.0 ×4 | 盘比它所在的插槽快。换一个插槽或主板能给它更多。 |
| 设备支持 5 Gb/s,现在只以 480 Mb/s 连接 | USB 3 的盘或读卡器跑在 USB 2 的速度上:中间隔着 USB 2 接口、集线器或线材。 |
| 这块盘支持 6 Gb/s,现在以 3 Gb/s 连接 | SATA 接口或线材限制了速度。 |
| 经 PCIe 2.0 ×1 控制器(≈ 500 MB/s) | 这块 SATA 盘接在扩展卡的控制器上。控制器能传的比盘的 SATA 链路少时,连续读写会受限。 |
这些只是系统报告的事实,不是建议:盘够你用,就什么都不用做。
读写量与健康记录
Section titled “读写量与健康记录”固态硬盘和大多数机械硬盘自己记着一份账:通电多久、开关过几次、一共读写了多少、现在多少度。SpaceKnife 通过系统读这份记录,不需要管理员权限:
| 你看到 | 意思 |
|---|---|
| 累计 读取 96.3 TB · 写入 229.6 TB | 磁盘整个寿命里读写的数据量,换盘、重装系统都不会清零。 |
| 开机以来 读取 1.2 TB · 写入 310 GB | 系统这次启动以来经过这块盘的读写。悬停这一行能看到系统是什么时候启动的。 |
| 47 °C | 磁盘报告的当前温度,70 °C 起用警示色。 |
| 通电 336 天 | 累计通电时间;两天以内写小时数。悬停能看到准确的小时数。 |
| 剩余寿命 91% | NVMe 固态硬盘还剩多少写入寿命:100% 减去厂商估计的已用比例。新盘的条是满的,随写入慢慢变短;只剩 10% 以下时用警示色。厂商估计的已用比例可以超过 100%,这时写「剩余寿命 0%」:盘通常还能继续用,只是写入量超过了厂商的保证。悬停能看到厂商估计的已用比例。 |
读不到这份记录时,卡片上写着原因,而不是留一片空白:
| 你看到 | 意思 |
|---|---|
| USB 桥接没有把磁盘自己的记录传过来 | 移动硬盘盒、U 盘和读卡器里的转接芯片通常不转发这些查询。 |
| 这块盘没有回应健康记录的查询 | 较老的 SATA 盘常常没有设备统计日志(它们只用各厂商自定的 SMART 属性报告健康状况,SpaceKnife 不读这些属性);有些 RAID 驱动也不转发这类查询。 |
| 磁盘自己记录的累计读写要管理员权限才能读 | Linux 上只有 root 能读这份记录。卡片上的「用管理员权限读取…」可以读出来,见在 Linux 上用管理员权限读取;温度和开机以来的读写照常显示。 |
| 这个系统读不到磁盘自己的健康记录 | macOS 上只有 NVMe 盘的记录读得到(不需要管理员权限);SATA 盘读不到。另一个程序(比如磁盘监控工具)正占用着 NVMe 盘的这个接口时,这一次也读不到。开机以来的读写照常显示。 |
在 Linux 上用管理员权限读取
Section titled “在 Linux 上用管理员权限读取”Linux 只让 root 向磁盘发送读取这份记录的命令,所以 NVMe 盘、SATA 盘和硬盘盒里的盘的卡片上有一个「用管理员权限读取…」按钮。只有你点它才会请求授权:打开页面、刷新都不会。
- 点击后,系统的身份验证对话框(polkit,经
pkexec)请你输入管理员密码。通过后,SpaceKnife 以 root 启动它的只读助手;主程序和界面始终不提权。 - 一次授权读出所有需要的盘。助手只打开只读的磁盘设备,只发固定的只读命令:NVMe 的读取日志页 02h,或 SATA 的 IDENTIFY DEVICE 和读取设备统计日志 04h(经 ATA 直通)。它不读、不写盘上的任何数据。
- 读到的记录在 SpaceKnife 运行期间保留;「累计」一行悬停能看到是什么时候读的。助手空闲 10 分钟后退出,在那之前点「刷新」会顺带重读,不再询问。
- 一块盘没有应答时,卡片写出原因,按钮不再出现。
没法请求授权时,卡片上写出原因:
| 你看到 | 意思 |
|---|---|
| 用户拒绝了管理员授权 | 你关掉了密码框。按钮还在,可以再点。 |
| 没有可以询问管理员密码的身份验证代理(比如在 SSH 会话里,或没有图形桌面) | 桌面环境通常自带 polkit 身份验证代理;SSH 会话、没有桌面的系统里没有。 |
| AppImage 版本不能以管理员身份运行助手;请改用 deb 或 rpm 安装包 | AppImage 从只有你自己能读的挂载点运行,root 读不到它。deb 和 rpm 安装包装在 /opt/SpaceKnife。 |
| 找不到 pkexec:请求管理员授权需要 polkit | 系统没有装 polkit(pkexec)。 |
每块盘下面是它上面的卷,按它们在盘上的顺序排列:盘符或挂载点、卷标、文件系统和已用多少(90% 起计量用警示色)。一块盘上有不止一个卷,或者有卷以外的空间(恢复分区、未分配空间)时,会多一条容量条,显示这块盘怎么划分;斜纹部分是不属于你任何一个卷的空间。
跨多块盘的卷(存储空间、LVM、RAID)在每块盘下面都会列出。不在任何已知磁盘上的卷,比如网络位置和虚拟卷,列在「其他位置」里。
SpaceKnife 对一个卷知道什么
Section titled “SpaceKnife 对一个卷知道什么”每个卷下面写着 SpaceKnife 从整卷扫描里知道的东西,按钮在卷的第一行右侧:
| 你看到 | 来自 |
|---|---|
| 「扫描于 2 小时前 · 1,234,567 个文件 · 1.9 TB」,加上最大的几个文件类别和顶层最大的文件夹 | 这个卷的扫描正开在某个标签页里。「查看」切到那个标签页。 |
| 「正在扫描 · 120,000 个文件」 | 这个卷的扫描还在进行。 |
| 「快照 3 天前 · … 个文件 · …」 | 没有打开的扫描时,这个卷最新的快照。「打开快照」打开它。 |
| 「还没有扫描过」 | 两者都没有。「扫描…」打开一个选好这个卷的开始页,你可以先看看选项。 |
这里只算整卷的扫描,扫描卷上的某个文件夹不算。
这个卷的扫描完成后,那一行下面会多一条分段条,显示最大的几个文件类别各占多少,再下一行写出顶层最大的几个文件夹。一个卷有两次以上完整快照时,会显示一条迷你折线:最近 12 次快照时它各有多大;旁边写出与上一次相比变化了多少,比如「比 3 天前的快照 +18.0 GB」。
这些信息从哪里来
Section titled “这些信息从哪里来”SpaceKnife 只向系统询问(包括请系统把磁盘自己的健康记录转给它),不读取磁盘上的任何文件或数据。这些都不需要管理员权限,只有 Linux 上磁盘自己的累计记录例外,而且只在你点了按钮之后(见上)。
| 系统 | 来源 |
|---|---|
| Windows | 每块盘的存储查询(型号、序列号、总线、TRIM、磁盘识别信息里的 SATA 速率、NVMe 识别信息)、它上方的设备树(NVMe 或 SATA 控制器的 PCIe 链路、USB 集线器报告的连接速率)以及每个卷所在的磁盘区段;磁盘自己的记录来自同一条存储查询转发的 NVMe SMART / 健康日志(日志页 02h)和 ATA 设备统计日志(04h),开机以来的读写来自磁盘性能计数 |
| Linux | sysfs:/sys/block、PCI 设备的 current_link_speed 和 current_link_width、/sys/class/ata_link/*/sata_spd、USB 设备的 speed 和 version,以及 /dev/disk/by-id;开机以来的读写来自 /sys/block/*/stat,温度来自 hwmon(NVMe 驱动,SATA 盘要加载 drivetemp);磁盘自己的累计记录由提权助手读(NVMe 管理命令 NVME_IOCTL_ADMIN_CMD,SATA 经 SG_IO 的 ATA 直通) |
| macOS | diskutil 和 system_profiler(NVMe、SATA、USB);开机以来的读写来自 I/O Registry 里每块盘的统计;NVMe 盘自己的记录来自 IOKit 的 NVMe SMART 接口 |
系统没报告的就留空,不去猜。具体来说:
- Windows 把 USB 3.2 Gen 2×2(20 Gb/s)报告成 10 Gb/s。
- Linux 只告诉 SATA 盘当前的速率,不告诉它最高支持多少;USB 3 设备接在更慢的接口上时,只能说它至少支持 5 Gb/s。
- Apple 芯片的 Mac 上,内置固态硬盘没有可报告的 PCIe 链路。