Expand Minimize


This test verifies that an encrypted hard drive complies with Microsoft and Industry specifications.

Test details


Associated requirements


See the device hardware requirements.


Windows RT (ARM-based)
Windows 8 (x64)
Windows 8 (x86)
Windows Server 2012 (x64)
Windows RT 8.1
Windows 8.1 x64
Windows 8.1 x86
Windows Server 2012 R2

Expected run time

~30 minutes





Running the test

Before you run the test, complete the test setup as described in the test requirements: Hard Disk Drive Testing Prerequisites.

The EHDD device must be attached to the appropriate controller. The job will prepare the disk with the correct partition and formatting for the testing. The test is destructive and therefore the disk cannot be the boot disk. It is important to minimize the amount of activity occurring on the drive outside of the logo test. Since this test has performance elements, outside activity may affect the results. The PSID for the drive is required to be entered at runtime as this value cannot be obtained programmatically.


  • Check WTT Trace:

    • View Task Log of Execute EHDD Test.

    • Open the log file EHDDLogoTest.wtl.

    • Check for messages that may solve the issue.

  • Check and Replay TCG Command Trace:

    • All of the commands sent to the driver are logged in case of an error. When an error is encountered, the trace, since the previous revert, is saved with the .error extension in the folder where the test is run from.

    • Open in a text editor the FullCommandoutput#.txt.error with the highest number.

    • Look for the reason for the failure.

    • The SerializedCommands#.error file can be played back to reproduce the error observed.

    • Determine if this is a consistent repro by replaying the error file. EX: EhddLogoTest.exe /DeviceID "\\.\physicaldrive1" /PSID "G98D72LDPW2DF9HDN30HG0G30H409HG4" /Playback SerializedCommands1.error

  • Could not start logging for EhstorTCGDrvTrace:

    • If a previous run of the test gets interrupted prematurely, it is possible that the trace log will persist beyond the life of the binary.

    • You will see the following error:

      Executing "cmd.exe /c logman.exe start EhstorTcgDrvTrace -ets -p {aa3aa23b-bb6d-425a-b58c-1d7e37f5d02a} -ft 1 -rt -o perflog.etl"Command execution exited with code: -2144337737 Could not start logging for EhstorTcgDrvTrace

    • Open an elevated cmd window and right-click cmd.exe (C:\Windows\System32\cmd.exe) and choose Run as administrator.

    • Run logman –query –ets

    • Run logman –stop –ets EhstorTcgDrvTrace

For troubleshooting information, see Troubleshooting Device.Storage Testing.

More information

The job takes in the device instance ID of the device under test and the PSID of the device. The job converts the device instance ID to a physical drive number in order to run the testing on that device. The job partitions and formats the drive to get it into the configuration needed for testing. The EhddLogoTest will run through a series of test cases each mapped to items in the requirements. The test cases are self-contained and results from one test case should not affect other test cases as the drive is reverted and activated between each test case. The following is a list of tests cases:

  • ATA Identify

  • Band

  • Com Packet Size

  • Encryption Mode

  • Fixed ACL Mode

  • Fuzz

  • Key Length

  • Metadata

  • Modifiable Common Name

  • Opal Version

  • Query Silo

  • Range Crossing

  • Secret Protect

  • SID Disable

  • TCG Stack Reset

  • TPer Reset

  • Unauthenticated Erase

Each of these test cases can be run on the command line using the test in standalone mode for further testing or debugging. The Fuzz test case has an optional argument for the number of fuzz iterations when running the test standalone.

During testing, the commands being sent to the drive are logged and if an error occurs this log is saved both in plaintext (FullCommandoutput#.txt.error) and in a replay file (SerializedCommands#.error). The log is reset every time a revert occurs as the commands, since the last revert should be sufficient to repro the failure. The test can be initiated with the playback argument to replay the series of commands leading up to the failure.



Parameter Description


The PSID of the device.

Command syntax


Parameter Description


The binary for the test.


The EHDD device drive letter.

Example: /DeviceID \\\\.\\PhysicalDrive1


The PSID of the device.



Seed value for generating random test data.

Example: /Seed 1000


Runs only the specified category of test cases: device, profile, or scenario.

Example: /RunTestCaseTypes device


Runs only the specified test case: ATAIdentify, Band, ComPacketSize, EncryptionMode, FixedACLMode, Fuzz, KeyLength, Metadata, ModifiableCommonName, OpalVersion, QuerySilo, RangeCrossing, SecretProtect, SIDDisable, TCGStackReset, TPerReset, or UnauthenticatedErase.

Example: /RunTestCase Band


Number of iterations to run the fuzz scenario. Only valid if running the fuzz scenario.

Example: /FuzzIterations 1000


Skip test cases that needs manual interaction.

Example: /SkipManualTestCases


Prompts to attach debugger which gives time to allow the debugger to be attached before further executing the program.

Example: /Debugger


Logging verbosity. Logging Verbosity Levels: Minimal, Default, or Verbose.

Example: /Verbosity Verbose


Playback a previously recorded command log file.

Example: /Playback RecordedCommand.err


Log name

Default value: LogoTest.wtl

Example: /Log mytestlog.wtl


Run command performance analysis :Never, OnPassed, or Always.

Example: /cmdPerfTraceAnalysis Always


Performance output trace log commandText.

Default value: perf-tracelog.etl

Example: /cmdPerfTraceLogFile perf-tracelog.etl

Command usage


Command Description

EhddLogoTest.exe /DeviceID ”[DiskDeviceObjLink]” /PSID “[PSID]”

Runs the test for the specified device instance ID and PSID.

For command line help for this test binary, type /?.

File list


File Location





















© 2014 Microsoft