12

Загрузился в меню восстановления 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)?

3 ответа3

14

Ответ "это ожидается". В командной строке, запущенной от имени администратора, используйте следующую команду для проверки состояния расшифровки:

manage-bde -status C:

Booyah! Вы должны увидеть следующий вывод:

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

1

Надоело натыкаться на командную строку, чтобы увидеть. Это показывает статус, прогресс, предполагаемое время для завершения. Чтобы выйти, Ctrl-C или останавливается при преобразовании

# Author - Jack D. Pond
# license: Available under the Creative Commons Attribution-ShareAlike License  additional terms may apply.
# Description: DecryptRemainingStatus   
# 
#    1. Escalates to administrator (if not already)
#    2 Uses the "Write-Progress" to create a bar and provide some status
#       information (as well as anticipated length based on current) for
#       decryption status
#
# NOTE:  You need executable status for powershell scripts.  If you get an error:
# If you downloaded this, you need to unblock the script
# See what your current execution ability is:
#   Get-ExecutionPolicy
# Set it to something reasonable (temporarily)
#   Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
# Don't forget to reset it to whatever it was before (In this case, Restricted) after your run the script
#  Set-ExecutionPolicy -ExecutionPolicy Restricted
# 
# @Params
# 
# -seconds [number of seconds in each monitor interval, defaults to 5]
#
# @example:
#
# PS>.\DecryptRemainingStatus.ps1 -Seconds 10
#
# Get "Seconds" param
#
[CmdletBinding()]param(
    [int]$Seconds = 5
)
# Set-PSDebug -Trace 1

#elevate to "Administrator" (Required for manage-bde)
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
{  
    $arguments = "& '" + $myinvocation.mycommand.definition + "'" + " -Seconds $Seconds"
    Start-Process powershell -Verb runAs  -ArgumentList $arguments 
    Break
}
[int] $millisecs = ($Seconds -as[int])*1000
[decimal] $xval = 100
[int] $intervals = 0
$xtext = (((manage-bde -status C: | findstr "Encrypted").trim()) -split '\s+')[2]
[decimal] $startval = ($xtext.substring(0,$xtext.Length - 1) -as[decimal])
while ($xval -gt 0) {
    $xtext = (((manage-bde -status C: | findstr "Encrypted").trim()) -split '\s+')[2]
    $xval = ($xtext.substring(0,$xtext.Length - 1) -as[decimal])
    [decimal] $completed = ($startval-$xval)
    [timespan] $elapsed = New-TimeSpan -Seconds ($intervals*$millisecs/1000)
    [decimal] $secsleft = If ($startval -gt $xval) {($intervals/($completed)*$xval)*($millisecs/1000)} Else {-1}
    Write-Progress -Activity "Remaining Encrypted: $xtext Elapsed: $elapsed Completed: %$completed)" -PercentComplete (100-$xval) -status "Decrypting" -SecondsRemaining $secsleft
    Start-Sleep -Milliseconds $millisecs
    $intervals += 1
}
echo "Decryption Finished"
pause
0

Поместите это в файл летучей мыши и запустите его. Оставьте его работающим в командном терминале.

@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 или около того, и увидите, сколько процентов прогрессировало. С простой математикой вы получите то, что вы хотите. Терминальный выход

Я специально сделал код простым.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .