我从 Windows 8 恢复提示启动了 BitLocker 驱动器解密。有迹象表明需要多长时间吗?

我从 Windows 8 恢复提示启动了 BitLocker 驱动器解密。有迹象表明需要多长时间吗?

启动 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 ...

来源:Technet 上的 manage-bde 命令行工具

答案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 分钟左右的时间,然后查看进度百分比。通过简单的数学运算,您将得到想要的结果。终端输出

我故意让代码保持简单。

相关内容