启动 Windows 8 恢复菜单,查看是否可以使用恢复工具解密辅助硬盘。我发现解锁驱动器后,可以在 dos 提示符下执行此操作。
然而,输入完这段代码后:
X:\>manage-bde -off C:
输出如下所示。没有迹象表明需要多长时间:
BitLocker Drive Encryption: Configuration Tool version 6.2.9200
Copyright (C) 2012 Microsoft Corporation. All rights reserved.
Decryption is now in progress.
X:\Sources>
我算错了吗?它应该向我显示解密进度吗?还是这是预料之中的事,我应该回去睡觉,等到明天再处理(这是 SSD)?
答案1
答案是“这是意料之中的”。从以管理员身份运行的命令提示符中,使用以下命令检查解密状态:
manage-bde -status C:
哇!您应该看到以下输出:
BitLocker Drive Encryption: Configuration Tool version 6.2.9200
Copyright (C) 2012 Microsoft Corporation. All rights reserved.
Volume C: [Windows 8.1 Pro]
[Data Volume]
Size: 238.47 GB
... Edit: There is more below including decryption status, too much to type ...
答案2
厌倦了命令行的碰撞。这显示状态、进度、预计完成时间。要退出,请按 ctrl-c 或转换后停止
# 作者 - 杰克·D·庞德 # 许可证:根据知识共享署名-相同方式共享许可证可用,但可能适用附加条款。 # 描述:DecryptRemainingStatus # # 1. 升级为管理员(如果尚未升级) # 2 使用“写入进度”创建一个栏并提供一些状态 # 信息(以及基于当前的预期长度) # 解密状态 # # 注意:您需要 powershell 脚本的可执行状态。如果出现错误: # 如果你下载了此文件,则需要解除对脚本的阻止 #看看你当前的执行能力: # 获取执行策略 # 暂时将其设置为合理的值 # 设置执行策略 -ExecutionPolicy RemoteSigned # 运行脚本后,不要忘记将其重置为之前的状态(在本例中为“受限”) # 设置执行策略 -执行策略受限 # # @Params # # -seconds [每个监控间隔的秒数,默认为 5] # # @例子: # # PS>.\DecryptRemainingStatus.ps1 -秒 10 # # 获取“秒”参数 # [CmdletBinding()]param( [int]$秒 = 5 ) # 设置 PSDebug -Trace 1 #提升为“管理员”(manage-bde 所需) 如果(-NOT([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "管理员")) { $arguments =“&'”+$myinvocation.mycommand.definition+“'”+“-Seconds$Seconds” 启动进程 powershell -Verb runAs -ArgumentList $argument 休息 } [int] $毫秒 = ($秒 -as[int])*1000 [十进制] $xval = 100 [int] $间隔 = 0 $xtext = (((manage-bde -status C: | findstr "加密").trim()) -split '\s+')[2] [十进制] $startval = ($xtext.substring(0,$xtext.Length - 1) -as[十进制]) 当 ($xval -gt 0) { $xtext = (((manage-bde -status C: | findstr "加密").trim()) -split '\s+')[2] $xval = ($xtext.substring(0,$xtext.Length - 1) -as[decimal]) [十进制] $完成 = ($startval-$xval) [时间跨度] $elapsed = New-TimeSpan -秒($intervals*$millisecs/1000) [十进制] $secsleft = 如果 ($startval -gt $xval) {($intervals/($completed)*$xval)*($millisecs/1000)} 否则 {-1} 写入进度 -Activity “剩余加密:$xtext 已用:$elapsed 已完成:%$completed)”-PercentComplete(100-$xval)-status “正在解密”-SecondsRemaining $secsleft 开始-睡眠-毫秒 $毫秒 $间隔+= 1 } echo “解密完成” 暂停
答案3
将其放入 bat 文件中并运行。让它在命令终端中运行。
@echo off
SET /A"timer=0"
manage-bde -status G: |findstr Percentage >initial.txt
:while
cls
manage-bde -status G: |findstr Percentage
SET /A "timer=timer+1"
SET /A "mins=timer/60"
echo %timer% seconds ( in minutes: %mins% ) passed. Counting since:
type initial.txt
ping 127.0.0.1 -n 2 > nul
goto :while
del initial.txt
这将显示您开始计算秒数后需要等待 20 分钟左右的时间,然后查看进度百分比。通过简单的数学运算,您将得到想要的结果。终端输出
我故意让代码保持简单。