Skip to main content

Xbox One External HDD Tool

What

  • Convert an Xbox One configured external hard drive to work with Windows.
  • Convert a GPT+NTFS configured external hard drive to work with the Xbox One.

Requirements

  1. Xbox One.
  2. External Hard drive greater than 256GB.
  3. Python 3.x
  4. Administrator rights.

Instructions

Xbox One to Windows PC

  1. Use an Xbox One to correctly configure an external hard drive.
  2. Physically connect the now Xbox One configured external hard drive to a Windows PC.
  3. Run the script with the appropriate paramaters (see xboxoneexternal.py --help, or below).
  4. Power cycle the external hard drive.

Windows PC to Xbox One

  1. Use a Windows PC to correctly configure a GPT disk with an NTFS partition.
  2. Run the script with the appropriate paramaters (see xboxoneexternal.py --help, or below).
  3. Physically connect the now Xbox One configured external hard drive to a Windows PC.

Parameters

usage: xboxoneexternal.py [-h] (--toxbox | --topc) drive

Xbox One/Series External Drive Converter

positional arguments:
  drive       The target physical drive

options:
  -h, --help  show this help message and exit
  --toxbox    Convert the drive from Xbox to PC
  --topc      Convert the drive from PC to Xbox

Examples

Display current 'Boot Signature' and 'NT Disk Signature'

xboxoneexternal.py \\.\PhysicalDrive5

NT Disk Signature:      0x12345678
Boot Signature:         0x99cc

Xbox One to Windows PC

xboxoneexternal.py \\.\PhysicalDrive5 --toxbox 

NT Disk Signature:      0x12345678
Boot Signature:         0x99cc
Operation:              Xbox One->PC

Writing new MBR ... done.

Windows PC to Xbox One

xboxoneexternal.py \\.\PhysicalDrive5 --topc

NT Disk Signature:      0x12345678
Boot Signature:         0x55aa
Operation:              PC->Xbox One

Writing new MBR ... done.

What to Expect

F:\>dir /p
 Volume in drive F is Pluto
 Volume Serial Number is xxxx-xxxx

 Directory of F:\

01/06/2014  09:39 AM     2,191,065,088 520FCE1F-7BF6-48AE-AF3A-A469574766D9        (Peggle 2)
01/06/2014  09:39 AM             4,096 520FCE1F-7BF6-48AE-AF3A-A469574766D9.xvi    (Peggle 2)
01/06/2014  09:41 AM     5,367,975,936 F57F7834-5D73-4CAA-8479-3107957CC0AB        (Trials Evolution)
01/06/2014  09:41 AM             4,096 F57F7834-5D73-4CAA-8479-3107957CC0AB.xvi    (Trials Evolution)
01/06/2014  09:40 AM                16 LastConsole                                 (Console GUID(?))
               5 File(s)  7,559,049,232 bytes
               0 Dir(s)  504,384,786,432 bytes free

F:\>tree /f /a
Folder PATH listing for volume Pluto
Volume serial number is xxxxxxxx xxxx:xxxx
F:.
    520FCE1F-7BF6-48AE-AF3A-A469574766D9        (Peggle 2 - MD5:8F06F76D0BEE9681FF5F9A3E4187AB1D)
    520FCE1F-7BF6-48AE-AF3A-A469574766D9.xvi    (Peggle 2 - MD5:A0B247B79954C469B6CF635FAA7BBF6D)
    F57F7834-5D73-4CAA-8479-3107957CC0AB        (Trials Evolution - MD5:ED511CDD51A8BB2FE09CC0A4538AC71F)
    F57F7834-5D73-4CAA-8479-3107957CC0AB.xvi    (Trials Evolution - MD5:A66BD3E8125650C6D1FE84D73EC591FA)
    LastConsole

No subfolders exist

How?

The Xbox One initializes the external drive with a GPT (GUID Partition Table).

The original Boot Signature of the device 0x99CC (0x1FE-0x1FF) doesn't appear to allow the drive to be seen as initialized in Windows.

Swapping the two Boot Signature bytes with the traditional 0x55AA allows the NTFS partition to be seen be Windows.

Original 'Protective MBR':

Offset(h)   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

0000000000  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000040  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000050  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000060  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000070  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000080  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000090  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000000A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000000B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000000C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000000D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000000E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000000F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000100  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000110  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000120  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000130  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000140  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000150  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000160  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000170  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000180  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000190  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000001A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000001B0  00 00 00 00 00 00 00 00 12 34 56 78 00 00 00 00  .........4Vx....
00000001C0  00 00 EE 00 00 00 01 00 00 00 AE 12 9E 3B 00 00  ..î.......®.ž;..
00000001D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000001E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000001F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 99 CC  ..............™Ì

Modified 'Protective MBR':

Offset(h)   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

0000000000  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000040  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000050  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000060  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000070  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000080  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000090  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000000A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000000B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000000C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000000D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000000E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000000F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000100  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000110  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000120  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000130  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000140  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000150  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000160  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000170  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000180  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0000000190  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000001A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000001B0  00 00 00 00 00 00 00 00 12 34 56 78 00 00 00 00  .........4Vx....
00000001C0  00 00 EE 00 00 00 01 00 00 00 AE 12 9E 3B 00 00  ..î.......®.ž;..
00000001D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000001E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000001F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA  ..............™Ì

Notes

  1. Windows will offer to initialize an Xbox One formatted disk. Don't do this unless you want to start everything again.
  2. If the Boot Signature matches 0x99CC, the Xbox One will be able to read the partitions. Windows PC will not.
  3. If the Boot Signature matches 0x55AA, a Windows PC will be able to read the partitions. Xbox One will not.
  4. Windows might complain that there is something wrong with the disk and will want to run a chkdsk. I don't reccomend doing this.
  5. Make sure you specify the right disk - don't come to me when it hits the fan.

Release files for xbox-drive-converter 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xbox-drive-converter 1.0.0
File Size Uploaded
xbox_drive_converter-1.0.0.tar.gz 4.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xbox-drive-converter 1.0.0
File Interpreter ABI Platform
xbox_drive_converter-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.9 kB

Release files / xbox_drive_converter-1.0.0.tar.gz

Download URL xbox_drive_converter-1.0.0.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
03069ca551e7e941a173c3274285546c13c42de98fa043d9acc72d4b0e4d396a
BLAKE2b-256 checksum
How to use checksums
4980bd9a6d7e3f1e0fb2ad00952af55b220023302cff8115b36688c36459570f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.5

Release files / xbox_drive_converter-1.0.0-py3-none-any.whl

Download URL xbox_drive_converter-1.0.0-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8f2302e66c1179dbe9a61052a7251bb34c127adb175d0014a5c0c71552bcd8e6
BLAKE2b-256 checksum
How to use checksums
4ae993237f5e9d117c6ecfd933cb7cb847962bd71fa186feb56bb78cddcd2d74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.5

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page