ATATool
ATATool
Purpose
-------
ATATool can be used to display and modify ATA disk information from a
Microsoft Windows environment. We believe this is a unique technical capability
thatis not available in any other known tool.
ATATool is distributed with both x86 (32-bit) and x64 (64-bit) builds.
These are feature identical and the 32-bit build can be used on most 64-bit
systems.
The 64-bit build is provided for pure 64-bit environments (such as Windows PE).
ATATool supports both decimal and hexadecimal numeric formats. To use hexadecimal
prefix values with '0x'.
Syntax
------
The /BADECC and /FIXECC commands can be used to simulate 'bad' sectors with
corrupt ECC data. This feature requires WRITE UNCORRECTABLE EXT which
was added in ATA-8 (~2008). It will probably do nothing on older devices
The xxxLONG commands should be used very cautiously because they rely on a feature
that was obsoleted in ATA-4 (~1998). In practice, on some modern devices (e.g.
Seagate)
they continue to work but abort on other devices. Particular problems may occur
using
/WRITELONG and /BADECCLONG on devices with physical sector sizes > 512 bytes
because the ECC data on the underlying physical sector may be corrupted.
In this case, it may be possible to carefully fix the problem by applying
/FIXECCLONG to each logical sector within the underlying physical sector.
It is possible (but unlikely) that SATA / M.2 SSD disks will support the /FIXECC
command.
This is because SSD disks do not use on-disk ECC bytes in the same way as
traditional disks.
It is very unlikely that NVMe / M.2 SSD disks will support the /FIXECC command
because
these use a completely different command set which is unrelated to traditional
disks.
Options:
Known limitations:
Some DCO capable devices may not support /NOHPA and /NO48BIT. On such devices
these additional options will have no effect. This software can only manage
(S)ATA devices which are directly connected. It does not currently support
devices connected via a USB bridge, forensic write-blocker or similar
Warning:
Examples:
ATATOOL /LIST
ATATOOL /INFO \\.\PhysicalDrive1
ATATOOL /DETAIL \\.\PhysicalDrive1
ATATOOL /SUPPORTDUMP \\.\PhysicalDrive1
ATATOOL /SETHPA:1000MB \\.\PhysicalDrive1
ATATOOL /SETHPA:0x100000 /NODMWIN7 \\.\PhysicalDrive1
ATATOOL /RESETHPA /NONVOLATILEHPA \\.\PhysicalDrive1
ATATOOL /FORCEREDETECT \\.\PhysicalDrive1
ATATOOL /SETDCO:10GB /NOHPA \\.\PhysicalDrive1
ATATOOL /VERIFY:0x1 \\.\PhysicalDrive1
There are two methods to simulate 'bad' sectors. Each has limitations:
1. /BADECC and /FIXECC- This uses the WRITE UNCORRECTABLE EXT command which is
available from ATA-8 and present in many
drives from ~2007 onwards.
2. /BADECCLONG and /FIXECCLONG - This uses the WRITE LONG command which was
present in ATA-3 (~1997) but removed
in ATA-4. This command continues to be supported by many drives but not all.
It is recommended that you try /BADECC first. If this works then the procedure to
simulate a bad sector is:
If the drive does not support /BADECC then you may like to try the /BADECCLONG
command. The basic procedure is the same as
above but *beware* of the following limitations:
1. The command may not be supported and will abort (without making any change)
2. The command will complete and the 'damage' must be fixed with /FIXECCLONG as
above
3. The command will complete but 'damage' multiple sectors. This can occur when
the underlying physical sector
size is larger than the logical sector size. For instance, advanced format
disks may have 4KB physical sectors
but present 512byte logical sectors. In this case, all related logical sectors
are 'damaged' and must be fixed
individually. For instance, if sector 0 was damaged the commands would be:
Change History
--------------
Recent Changes
--------------
1. Fixed crash on some Windows 7 and later systems when unmounting disk following
setting of HPA/DCO
2. Added commands to set HPA security password, lock, unlock and freeze
3. Added /DEBUG command to report detailed ATA registers for investigating
problems
4. Report if DCO appears frozen (e.g. empty). May be set by BIOS during startup
5. Report if HPA security feature (password) is enabled. May be set by BIOS during
startup
6. Simplified basic syntax help. Use /ADVANCED now displays more information
Website
-------
Both the DCO and HPA configurations may be "frozen" until the next device power-
cycle.
It is quite common for systems to freeze the configuration during start-up and thus
prevent the
HPA and DCO from being easily modified. This can usually be overcome on a non-
system disk
by briefly powering off the device. One method to do this is to sleep the PC for a
few seconds.
Alternatively, this can be done by briefly disconnecting the device power whilst
the system is running.
Please note that SATA is not designed to support this feature and your results may
vary.
This operation should always be done with great care and only by a suitably
qualified person.
Modification of a system disk is more difficult and it may be necessary to boot the
system
from another disk (or Windows PE) to modify it.
Tips:
Reporting Problems
------------------
ATATool remains experimental software. If you have problems please contact us using
the address below.
Please provide a complete description of what you are attempting to do and what
happens.
Support/Suggestions
-------------------
This software can be used to permanently modify the configuration (including size)
of a device. This may prevent access to data that was previously accessible
and may result in permanent data loss. This tool should be used with great care
and Data Synergy accepts no liability for any loss resulting from the use of this
software.
DISCLAIMER
----------
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.