Windows-11-logo

HOWTO: 在 Windows 11 上获取硬盘健康状态

        硬盘是我们电脑上的主要部件之一,承载着太多太多,一旦硬盘发生问题,数据又没有得到及时的同步或备份,后果不堪设想。尤其是现在大家都在使用固态硬盘(SSD),想要在硬盘发生故障后做数据恢复几乎是不太可能的事情。这就是为什么现在大家都会使用云存储和 NAS 做定期备份的主要原因。

        那么我们该如何确保我们的的硬盘是安全可靠,及时获取健康状态的呢?

        当前的 SSD 普遍由 NAND 闪存组成,其具有写限制,也就是说随着写次数的增加累计,SSD 的闪存单元也就变得越来越不可靠,直至报废,也就是我们常说的磨损。期间引发的问题可能是性能低下,或读写异常等等!

        所以,SSD 是有使用寿命的,但我们可以借助系统提供的功能或命令来获取它的简况状态。首先以 Windows 11 为例,我们可以打开“设置”应用,定位到“系统 - 存储 - 高级存储设置 - 磁盘和卷”,选中需要查看的硬盘,进入其“属性”,就可以看到如下图一样的界面。

storage_status

        在状态中,我们可以看到当前硬盘的使用寿命,也都是参考值。其中包含三个指标:

1. 估计剩余寿命,基于制造商对驱动器寿命的预测。

2. 可用备用,剩余可用限制容量的百分数。(PS:说实话这个我没理解具体意思)

3. 温度,当前设备的摄氏度。

        因为前面讲了 UI 界面获取的指标是基于制造商的参考值,所以不会很准确。如果希望获取更具参考意义的指标值,还可以使用 PowerShell 命令 - Get-StorageReliabilityCounter 获取存储可靠性计数器,这些计数器包括有关设备温度、错误、磨损和设备使用时长等信息。参考命令如:

Get-PhysicalDisk | Get-StorageReliabilityCounter | fl *

get-storagereliabilitycounter

        片尾分享几个知识点。闪存“耐久性”通常有两个衡量方式:驱动器每天写入数(DWPD),写入的TB数(TBW)。

        DWPD,测量在驱动器生命周期中每天可以覆盖其整个大小的次数。例如,一个200GB硬盘,其保修5年,如果它的DWPD是1,这意味着在接下来的五年里,我们可以每天向它写入200GB。使用如下公式,便可计算出来可能需要更换它的累计写入指标。

200GB×365×5=365TB

        TBW,直接测量驱动器在其生命周期内可以累计写入的量。例如,一个驱动器额定值为365TBW,则意味着我们可以在写入累计365TB后考虑更换它。(PS:等同于上面的公式)

        如果保修期为5年,则计算为365TB÷(5×365)=每天200GB写入量。如果当前驱动器刚好是200GB容量,则相当于1个 DWPD。

        但 DWPD 和 TBW 两个测量指标都有争议,如果感兴趣可以研读这篇文档,会有更多收获:

https://techcommunity.microsoft.com/t5/storage-at-microsoft/understanding-ssd-endurance-drive-writes-per-day-dwpd-terabytes/ba-p/426024

Build2022

Build 2022 微软公布 Project Volterra

        Microsoft Build 2022 已于中国当地时间 24 日晚 11 时正式拉开序幕,本次大会提供了 300 多个内容的分享,其中公布的 Project Volterra 吸引了 gOxiA 的注意。

project-volterra-video

        从发布的视频了解到这是一款类似于 NUC 一样的 PC,但与众不同的是 Project Volterra 由 Snapdragon 计算平台和神经处理单元(NPU)组成,即 Snapdragon Neural Processing EngineSNPE),可以理解为是一种用于执行深度神经网络的加速运行器。

        如此看来 Project Volterra 就是一款 ARM 架构的设备,从目前信息所了解到的微软正在加大对 ARM 生态的投入,正将 NPU 的支持构建到 Windows 平台中,在本次公布的 Project Volterra 就能看出,首先它作为 DevKit 发布,并非一款实际意义的成型商业产品,如果性价比高,也会吸引更多的开发者回归 Windows 生态。此外,在 Project Volterra 上微软提供了丰富的开发支持,意味着未来开发者可以在这个平台上原生运行 Visual Studio 和 VS Code 开发工具,支持 .Net,并且还提供了 Windows Terminal、 WSL,以及 WSA 的支持。

project-volterra_web

        Project Volterra 目前硬件相关的信息还非常少,但从视频中可以看到它的一些主要硬件特性。首先,它具备了有线网络和 MiniDP 接口,并且还提供了三个 USA-A 和 两个 USB-C 端口。

project-volterra-multipleports

project-volterra-multipleports-1

        很新颖的是 Project Volterra 还支持堆叠设计,意味着它可以部署在桌面和机架环境中。(细思极恐!!!)

project-volterra-stackabledesign_for_desktop_rock

        此外,它的外壳也是环保设计,使用了可回收的海洋塑料制成。从视频看还支持外接 3个显示器,真是令人向往!

project-volterra-3display

        虽然 gOxiA 不是一位开发者,但对于微软的此波上市操作,感觉是非常令人称赞,并深深被吸引,迫不及待想买一台把玩把玩!虽然没有公布具体的硬件参数,但从已经发布的现有产品推测,Project Volterra 应该也是款 Microsoft 的 ARM 处理器,如果没猜错应该就是 SQ2 了(记得好像媒体介绍是此款是骁龙 8cx 级别的),那 GPU 应该就是 Adreno 690 了,既然支持 WSL 和 WSA 的开发环境,内存起码也要 16GB,如此存储应该也能达到 512GB 或者更高了。希望最终的 DevKit 发售价能控制在 400 ~ 1000 刀左右(毕竟是面向开发者的……),期待!

WindowsToGo

HOWTO: 手动创建 Windows To Go

        Windows To Go 有些朋友应该并不陌生,它早先是内置在 Windows 中的一项功能,允许在 U盘上创建一个 Windows 运行实例,当然肯定是有诸多前提条件和限制的,而且因为无法支持功能更新,所以在 Windows 10  的 2004 及更高版本中删除了 Windows To Go。那为什么 gOxiA 今天又来分享它呢!?原因很简单,假如我想在当前一个设备上临时跑个操作系统(Windows Server),但设备的存储空间有限,并且也不希望对现有系统环境,如引导信息做任何更改,该怎么办?

        这时 Windows To Go(以下简称 WTG)就发挥了它的优势,手头正好有个 SSD 的移动硬盘,基于 UEFI 方案创建了磁盘分区,本例只创建了 EFI (S:)、MSR 和 Windows (W:) 分区,与我们平常的系统盘是一样的。

        然后将 Windows 安装盘中的 Install.wim 释放到 Windows 分区,具体步骤不再复述,使用 DISM 高效快捷。

        映像释放完毕,使用 bcdboot 生成 BCD 即可,如下所示:

c:\windowssystem32bcdboot w:\windows /s s:

        看到这里是不是觉得很简单,这不跟手动安装 Windows 一样?!没错,就是这么简单,但要想工作正常还需要做额外的准备,使用 Windows ADK 中的 WSIM 创建一个应答文件,对如下组件进行配置:

1. 将 Microsoft-Windows-PartitionManager 下的 SanPolicy 配置为 4,这样在 WTG 启动和运行时就不会加载设备本机的存储。有关 SanPolicy 的详细说明可以参考:https://docs.microsoft.com/zh-cn/windows-hardware/customize/desktop/unattend/microsoft-windows-partitionmanager-sanpolicy

image

2. 将 Microsoft-Windows-WinRE-RecoveryAgent 下的 UninstallWindows 配置为 true,这样将会从已安装的实例中删除 WinRE。

image

        两项组件配置完毕后可将应答文件(Unattend.xml)保存到“W:\Windows\Panther”下,然后实行如下命令将应答文件应用到脱机实例。

dism /image:w:\ /apply-unattend:w:\windows\panther\unattend.xml

        为了确保 WTG 能正常驱动硬件设备,还请考虑使用 DISM 的 /Add-Dirver 参数提前将驱动注入到脱机实例中,最后将 WTG U盘连接到目标设备,从 U盘启动即可完成后续的初始化,直至系统进入正常使用状态。整个过程大家会注意到没有使用任何第三方工具,所以不论从便捷性还是安全性都有保障。如果你当前也遇到类似的使用场景不妨一试!

        官方的最佳实践建议:

  • 始终关闭 Windows 并等待关机完成,然后再移除 WTG U盘。
  • 不要将 WTG U盘插入正在运行的计算机。
  • 不用通过 USB Hub 连接 WTG U盘,应直接与设备端口连接。
  • 使用 USB 3.0 端口。
  • 不要在 WTG 实例中安装非 Microsoft 核心 USB 驱动。

        本文结束前友情提示,如果你打算将 WTG 运行在 BIOS 和 UEFI 两种类型的设备上,需要在执行 bcdboot 生成 BCD 时附加“ /f ALL”参数,这样会生成两组启动组件,该模式支持的磁盘布局如下:

image

分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]