Tutorial  Updated

Xbox One Internal Hard Drive Upgrade or Repair: Build any size drive that works on any console

THREAD UPDATE FEBRUARY 26, 2020:

Script version 9 has been released!
Version 9 is now completely re-written using PowerShell 5.1 instead of Windows Batch.
As a result, the code structure and process error checking is much improved.
On the downside the new script only supports Windows 10 and above however, the old script is still included and slightly improved as well.

As it stands there are now 3 Windows scripts to choose from and are functionally equivalent:
create_xbox_drive_gui.bat - which includes a graphical interface and is the new primary Xbox One hard drive partitioning script using PowerShell 5.1 for Windows 10 and above
create_xbox_drive.bat - which includes a command line interface similar to the original script using PowerShell 5.1 for Windows 10 and above
create_xbox_drive_old.bat - the original Windows Batch script supporting Windows 7 and above

Also, there is a new COMMON ISSUES section at the bottom of this thread.

Anyone wanting the latest and greatest news about everything Xbox One hard drive related continue reading below.

WHAT THIS IS:

This is a set of scripts that allow you to create a standard/official 2TB, 1TB, or 500GB internal hard drive that works on any Xbox One, Xbox One S, or Xbox One X console and can be reset and remain at that appropriate size. In effect, all Xbox One consoles are potentially 2TB consoles.

Additionally the newer version 7 of the Windows and Linux partitioning scripts can copy your standard/official 2TB, 1TB, or 500GB internal hard drive's content to a new standard 2TB, 1TB, or 500GB HDD, SSD, or SSHD. Version 7 can also copy to non-standard drive sizes between 256GB and 5TB with minimum 138GB and maximum 1947GB of available storage respectively.

In short, you can go from any Xbox One internal standard/official drive size to any other 2.5" standard or non-standard drive size.

These scripts should support systems using any language but particularly on Windows 10 you'll need to have "English (United States)" installed but does not need to be the default language.

For standard sizes this is NOT a hack or mod, this is a script which creates the exact hard drive structure Microsoft uses on each 2TB, 1TB, or 500GB console it sells.

In the several years I've been doing hard drive upgrades and repairs on the Xbox One I'm not aware of a single person being banned for this practice. That said, USE AT YOUR OWN RISK.

INTRO:
I've sat on this particular iteration of the scripts for about a month just to be sure that others were getting the same results that I was able to achieve.

That said, I've had a YouTube channel for about 4 years with the channel's goal being to help people upgrade or replace their existing and potentially broken Xbox One hard drive.

Larger 5TB, 4TB, and 3TB 2.5" hard drives have been around for some time but Microsoft has only officially supported up to 2TB drive sizes and will likely never support anything beyond this. Internally speaking of course, externally you can attach up to 16TB.
Xbox One internal drives have a 2TB limit that you cannot get around. This is a bug or feature by Microsoft's design.

While a big feature of this script is the ability to change any Xbox One to a 2TB, 1TB, or 500GB standard console that can be "Reset" at any time, the big caveat of non-standard sizes is that performing a console "Reset" will incorrectly format a non-standard drive requiring the recreation of a standard 2TB, 1TB, or 500GB drive.
That being said, resetting your console should be a rare occurrence.

Reddit user A1DR1K sent a message to me on YouTube informing me that he had figured out how the Xbox One determines drive size and it isn't tied to the console itself but rather the disk GUID.
This is a big deal. With a properly partitioned drive any console can use any size drive at any time. Officially Microsoft has defined 2TB, 1TB, and 500GB drive sizes and the latest script now supports them all.

So without further ado the script:
xboxonehdd-master-9.zip or use Google Drive

WHAT YOU NEED:
Aside from the scripts to partition a 2TB, 1TB, or 500GB drive you'll need or need to do the following:
  1. You have to be willing to open your console and potentially void the 1 year or extended warranty.
  2. When doing a 'Repair or Replace' a 2.5" HDD, SSD, or SSHD SATA drive with a minimum capacity of 500GB. You can use a drive larger than 2TB but you can only partition it as 2TB.
  3. When doing an 'Upgrade' a working standard/official 2.5" 2TB, 1TB, or 500GB source drive.
  4. When doing an 'Upgrade' a 2.5" HDD, SSD, or SSHD SATA target drive. This can be 5TB, 4TB, 3TB or 256GB but it can also be a standard size as well. For example, maybe you just want to upgrade from 500GB to 2TB.
  5. A way to attach 1 or 2 2.5" HDD, SSD, or SSHD SATA drives to a Windows or Linux desktop or laptop. This can be a SATA to USB adapter or installing the SATA drive temporarily in said desktop or laptop. I recommend the USB3S2SAT3CB .
  6. When doing a 'Repair or Replace' an 8GB or larger NTFS USB Flash drive to extract the contents OSU1.zip to.
  7. When using Linux instead of Windows another 8GB or larger FAT32 USB Flash drive for creating an Ubuntu Live USB Flash Drive.
REPAIR, REPLACE, OR UPGRADE AN XBOX ONE DRIVE USING WINDOWS:
I've created a detailed walk through found within the xboxonehdd-master-9.zip file:
xboxonehdd-master\win\readme_windows.txt
Last Updated: 2019/10/23
Author: XFiX
https://gbatemp.net/threads/xbox-on...-size-drive-that-works-on-any-console.496212/
https://www.youtube.com/playlist?list=PLURaLwRqr6g14Pl8qLO0E4ELBBCHfFh1V

Creates a properly partitioned Xbox One hard drive. You'll want to source the
entire original drive files or use the latest OSU1 files.

FEATURES:
1. Create a Standard Xbox One 500GB, 1TB, or 2TB internal hard drive
2. Upgrade a Standard Xbox One drive to non-standard sizes including
as small as 138GB, as large as 1947GB, and other non-standard sizes
3. Set Standard Xbox One GUID values without formatting the drive
4. Backup "System Update" to current directory System_Update and more
5. Restore "System Update" from current directory System_Update and more
6. Check all partitions for file system errors using chkdsk
7. Wipe drive of all partitions and GUID values

This script is a direct replacement to create_xbox_drive.sh for Linux:
create_xbox_drive_old.bat is tested and works on Windows 7 and 10
create_xbox_drive.bat and create_xbox_drive_gui.bat are tested and only work
on Windows 10

You'll need some sort of USB to SATA device or have the ability to connect a
SATA drive directly to your PC. I recommend the USB3S2SAT3CB USB 3.0 to SATA
adapter cable.


NOTES AND WARNINGS:
NOTE 1: Xbox One internal drives have a 2TB limit that you cannot get around.
This is a bug or feature by Microsoft's design.
This is the video I made trying to fill a 5TB internal drive.

Version 7.0 and above max the "User Content" partition out at 1947GB.
Theoretically you can created a larger partition than this but you
cannot use the additional space.

NOTE 2: You need to run this script from an Administrator Command Prompt
using the "Run as administrator" feature.

NOTE 3: For this script to work on non-English Windows systems
C:\Windows\System32\en-US needs to be present.
Control Panel\All Control Panel Items\Language\Add languages
English (United States)

NOTE 4: Click "Cancel" or "X" on any "You need to format the disk in drive ?:
before you can use it." messages.

NOTE 5: diskmgmt.msc is your friend. Keep it open while running this script
to check progress and verify proper partitioning and formatting.

WARNING 1: E100 is bad. It is possible to do an offline update to resolve it
but this mostly isn't the case. E100 is the only know error that
actually refers to the Blu-ray drive. Under certain circumstances
during an Xbox One update the Blu-ray drive firmware can become
permanently corrupted. Any sort of Blu-ray drive failure involving
the daughterboard will brick your system since only the original
factory matching Xbox One motherboard and Blu-ray daughterboard can
be used together.
YOU CANNOT REPLACE A BLU-RAY DAUGHTERBOARD FROM ANOTHER SYSTEM!

WARNING 2: Only have one Xbox One or future Xbox One drive connected when
running this script to ensure the right drive gets formatted and
avoid Offline signature collisions!

This means disconnecting the SOURCE drive after:
(b) Replace/Upgrade keeping original drive data
but before:
(c) Fix GUID values without formatting the drive
When redoing the entire process run this step on the TARGET with
the SOURCE disconnected:
(g) Wipe drive of all partitions and GUID values

WARNING 3: Always use "Safely Remove Hardware and Eject Media" and "Eject" the
newly created drive.
If you receive the message: "Windows can't stop your
'Generic volume' device because a program is still using it."
Either shutdown your system and remove the drive or use
diskmgmt.msc right click the disk, select "Offline", then "Online"
and then "Safely Remove Hardware and Eject Media" and "Eject".

SCRIPT FUNCTIONS EXPLAINED:
(a) Replace/Upgrade without a working original drive (Standard Only) - used to fix systems when the original drive has failed
(b) Replace/Upgrade keeping original drive data (Standard and Non) - used to swap to a smaller or larger standard or non-standard drive
(c) Fix GUID values without formatting the drive (Standard and Non) - should be used after step (b) and after disconnecting the SOURCE drive
(d) Backup "System Update" to current directory (Standard and Non) - use before doing a Reset or Upgrade, better safe than sorry
(e) Restore "System Update" from current directory (Standard and Non) - use after doing a Reset or Upgrade, told you so
(f) Check all partitions for file system errors (Standard and Non) - optionally check for filesystem corruption or prepare for Clonezilla
(g) Wipe drive of all partitions and GUID values (Standard and Non) - used to blank a drive before rerunning step (b)
(h) CANCEL

PARTITION LAYOUT:
There are 5 partitions on an Xbox One drive. The 2nd partition 'User Content'
is what this selection refers to. The other 4 partitions are always the same
size regardless of the drive size.

All partitions are rounded to the nearest gibibyte (normally and not to be
confused with gigabyte). So options (d) through (g) will mostly do the right
thing. Options (a) through (c) are for wanting to force a particular size on
the target drive.

Most people should choose (a), (b), or (c). If you have a 256GB or 750GB you
should select (d). For 3TB, 4TB, or 5TB drives you should select (f).

(a) 500GB Standard (365GB) (779MB Unallocated)
(b) 1TB Standard (781GB) (50.51GB Unallocated)
(c) 2TB Standard (1662GB) (101.02GB Unallocated)
(d) Autosize Non-Standard w/ 500GB Disk GUID (1947GB MAX) - create an autosized 'User Content' resetting to 500GB
(e) Autosize Non-Standard w/ 1TB Disk GUID (1947GB MAX) - create an autosized 'User Content' resetting to 1TB
(f) Autosize Non-Standard w/ 2TB Disk GUID (1947GB MAX) - create an autosized 'User Content' resetting to 2TB


REPAIR AND UPGRADE PATHS:
Xbox One Internal Hard Drive Backup and Restore Upgrade

Menu roadmap:
(d) Backup "System Update" to current directory (Standard and Non)
(a) Replace/Upgrade without a working original drive (Standard Only)
(e) Restore "System Update" from current directory (Standard and Non)


Xbox One Internal Hard Drive Direct Copy Upgrade

Menu roadmap:
(b) Replace/Upgrade keeping original drive data (Standard and Non)
(c) Fix GUID values without formatting the drive (Standard and Non)


Xbox One Internal Hard Drive Repair or Replace Using

Menu roadmap:
(a) Replace/Upgrade without a working original drive (Standard Only)


EXAMPLE SCRIPT USAGE AND OUTPUT:
1. Unzip xboxonehdd-master-8.1.zip to the Desktop which will create an xboxonehdd-master directory
2. Open an Administrator Command Prompt:
Windows 7: Click "Start Menu -> All Programs -> Accessories" right click "Command Prompt" select "Run as administrator"
Windows 10 1607 and earlier: Right click "Start Menu" select "Command Prompt (Admin)"
Windows 10 1703 and later: Right click "Start Menu" select "Windows PowerShell (Admin)"
3. In the Command Prompt paste:
Command Prompt:
cd %USERPROFILE%\Desktop\xboxonehdd-master\win
Windows PowerShell:
cd $Env:USERPROFILE\Desktop\xboxonehdd-master\win
4. Then paste:
.\create_xbox_drive.bat

5. Follow all the prompts and be sure to select the appropriate drive. Example below:

**********************************************************************
* create_xbox_drive.ps1:
* This script creates a correctly formatted Xbox One HDD against the
* drive YOU select.
* USE AT YOUR OWN RISK
*
* Created 2019.10.08.8.1
* Last Updated 2019.10.22.8.1
* Now 2019.10.23 21:50:28
* PowerShell 5.1.18362.145
* Windows 10.0.18362
* PWD C:\Users\XFiX\Desktop\xboxonehdd-master\win
* System Type Intel64
* Language ID 0409
* Language UI en-US
**********************************************************************

* Administrative permissions confirmed *

* Are required drive letters available? Checking... *
* H: is free
* I: is free
* J: is free
* K: is free
* L: is free
* Found U: - Fixed Drive - Temp Content
* Found V: - Fixed Drive - User Content
* Found W: - Fixed Drive - System Support
* Found X: - Fixed Drive - System Update
* Found Y: - Fixed Drive - System Update 2

* WARNING: Any non-free drive letters above may interfere with this *
* script. Adjust the letters used in the 'Changeable drive *
* letters' section near the top of this script. *
* If you have an Xbox One drive attached non-free drive *
* letters are expected. *

Press any key to continue . . .

Select Xbox One drive creation type:
(a) Replace/Upgrade without a working original drive (Standard Only)
(b) Replace/Upgrade keeping original drive data (Standard and Non)
(c) Fix GUID values without formatting the drive (Standard and Non)
(d) Backup "System Update" to current directory (Standard and Non)
(e) Restore "System Update" from current directory (Standard and Non)
(f) Check all partitions for file system errors (Standard and Non)
(g) Wipe drive of all partitions and GUID values (Standard and Non)
(h) CANCEL

?: a
"a" was selected

* Scanning for connected USB/SATA drives . . . *
Disk Size Free Name
1 3726 GB 0 GB WDC WD40EZRX-00SPEB0
2 3726 GB 0 GB WDC WD40EZRX-00SPEB0
3 1863 GB 101 GB ASMT 2115

* Select TARGET Xbox One Drive . . . *
Enter c to CANCEL or use a Disk Number from the list above
?: 3
"3" was selected

GUID Dev Size Name
5B114955-4A1C-45C4-86DC-D95070008139 (2TB)
B3727DA5-A3AC-4B3D-9FD6-2EA54441011B U: 41 GB 'Temp Content'
869BB5E0-3356-4BE6-85F7-29323A675CC7 V: 1662 GB 'User Content'
C90D7A47-CCB9-4CBA-8C66-0459F6B85724 W: 40 GB 'System Support'
9A056AD7-32ED-4141-AEB1-AFB9BD5565DC X: 12 GB 'System Update'
24B2197C-9D01-45F9-A8E1-DBBCFA161EB2 Y: 7 GB 'System Update 2'


WARNING: This will erase all data on this disk. Continue [Y,N]?: y

* Disk 3 will be formatted as an Xbox One Drive . . . *

Select partition layout:
(a) 500GB Standard (365GB)
(b) 1TB Standard (781GB)
(c) 2TB Standard (1662GB)
(d) CANCEL

?: c
* Removing existing partitions with Clear-Disk . . . *

GUID Dev Size Name
A2A1044F-42EF-4279-B915-377EA82A63C3 (Unknown)

* Creating partition 1 with 44023414784 bytes . . .
* Creating partition 2 with 1784558911488 bytes . . .
* Creating partition 3 with 42949672960 bytes . . .
* Creating partition 4 with 12884901888 bytes . . .
* Creating partition 5 with 7516192768 bytes . . .

* Changing disk and partition GUID values with C:\Users\XFiX\Desktop\xboxonehdd-master\win\gdisk64 . . .

* Formatting and labeling partition 'Temp Content' . . .
* Formatting and labeling partition 'User Content' . . .
* Formatting and labeling partition 'System Support' . . .
* Formatting and labeling partition 'System Update' . . .
* Formatting and labeling partition 'System Update 2' . . .

GUID Dev Size Name
5B114955-4A1C-45C4-86DC-D95070008139 (2TB)
B3727DA5-A3AC-4B3D-9FD6-2EA54441011B U: 41 GB 'Temp Content'
869BB5E0-3356-4BE6-85F7-29323A675CC7 V: 1662 GB 'User Content'
C90D7A47-CCB9-4CBA-8C66-0459F6B85724 W: 40 GB 'System Support'
9A056AD7-32ED-4141-AEB1-AFB9BD5565DC X: 12 GB 'System Update'
24B2197C-9D01-45F9-A8E1-DBBCFA161EB2 Y: 7 GB 'System Update 2'

* Found Drive X: 'System Update'

* Script execution complete.
* Ended: 2019.10.23 21:51:50
* Script ran for 81 seconds

Press any key to continue . . .

6. The last bit of output should look like the following, except for the
first line depending on the drive size, if not run the script again:
A2344BDB-D6DE-4766-9EB5-4109A12228E5 (500GB)
25E8A1B2-0B2A-4474-93FA-35B847D97EE5 (1TB)

GUID Dev Size Name
5B114955-4A1C-45C4-86DC-D95070008139 (2TB)
B3727DA5-A3AC-4B3D-9FD6-2EA54441011B U: 41 GB 'Temp Content'
869BB5E0-3356-4BE6-85F7-29323A675CC7 V: 365 GB 'User Content'
C90D7A47-CCB9-4CBA-8C66-0459F6B85724 W: 40 GB 'System Support'
9A056AD7-32ED-4141-AEB1-AFB9BD5565DC X: 12 GB 'System Update'
24B2197C-9D01-45F9-A8E1-DBBCFA161EB2 Y: 7168 MB 'System Update 2'

7. To view the log file paste this:
Command Prompt:
notepad %TEMP%\create_xbox_drive.log
notepad %TEMP%\create_xbox_drive_cli.log
notepad %TEMP%\create_xbox_drive_gui.log
notepad %TEMP%\RoboCopy-Temp_Content.log
notepad %TEMP%\RoboCopy-User_Content.log
notepad %TEMP%\RoboCopy-System_Support.log
notepad %TEMP%\RoboCopy-System_Update.log
notepad %TEMP%\RoboCopy-System_Update_2.log
Windows PowerShell:
notepad $Env:TEMP\create_xbox_drive.log
notepad $Env:TEMP\create_xbox_drive_cli.log
notepad $Env:TEMP\create_xbox_drive_gui.log
notepad $Env:TEMP\RoboCopy-Temp_Content.log
notepad $Env:TEMP\RoboCopy-User_Content.log
notepad $Env:TEMP\RoboCopy-System_Support.log
notepad $Env:TEMP\RoboCopy-System_Update.log
notepad $Env:TEMP\RoboCopy-System_Update_2.log

8. OPTIONAL (skip if OSU1 doesn't match the last successful update):
Download the latest OSU1.zip which contains the files:

$SystemUpdate/host.xvd
$SystemUpdate/SettingsTemplate.xvd
$SystemUpdate/system.xvd
$SystemUpdate/systemaux.xvd
$SystemUpdate/systemmisc.xvd
$SystemUpdate/systemtools.xvd
$SystemUpdate/updater.xvd

Place them in the 'System Update' partition as:

A/host.xvd
A/SettingsTemplate.xvd
A/system.xvd
A/systemaux.xvd
A/systemmisc.xvd
A/systemtools.xvd
B/host.xvd
B/SettingsTemplate.xvd
B/system.xvd
B/systemaux.xvd
B/systemmisc.xvd
B/systemtools.xvd
updater.xvd

Also I walk you through the entire process in the following videos:

Repair or Replace Using Windows:


Direct Copy Upgrade Using Windows:


Backup and Restore Upgrade Using Windows:


REPAIR, REPLACE, OR UPGRADE AN XBOX ONE DRIVE USING LINUX:
I've created a detailed walk through found within the xboxonehdd-master-8.zip file:
xboxonehdd-master/linux/readme_linux.txt
Last Updated: 2018/11/16
Author: XFiX
https://gbatemp.net/threads/xbox-on...-size-drive-that-works-on-any-console.496212/
https://www.youtube.com/playlist?list=PLURaLwRqr6g14Pl8qLO0E4ELBBCHfFh1V

Creates a properly partitioned Xbox One hard drive. You'll want to source the
entire original drive files or use the latest OSU1 files.

FEATURES:
1. Wipe drive of all partitions and GUID values
2. Create a Standard Xbox One 500GB, 1TB, or 2TB internal hard drive
3. Upgrade a Standard Xbox One drive to non-standard sizes including
as small as 138GB, as large as 1947GB, and other non-standard sizes
4. Set Standard Xbox One GUID values w/o formatting the drive

Make an "UBUNTU FAT32" flash drive with ubuntu-17.10.1-desktop-amd64.iso or
newer created with LinuxLive USB Creator 2.9.4.exe

Download Linux Live USB Creator:
http://www.linuxliveusb.com/en/download

Download Ubuntu Desktop:
https://www.ubuntu.com/download/desktop

You'll need some sort of USB to SATA device or have the ability to connect a
SATA drive directly to your PC. I recommend the USB3S2SAT3CB USB 3.0 to SATA
adapter cable.


NOTES AND WARNINGS:
NOTE 1: Xbox One internal drives have a 2TB limit that you cannot get around.
This is a bug or feature by Microsoft's design.
This is the video I made trying to fill a 5TB internal drive.

Version 7.0 and above max the "User Content" partition out at 1947GB.
Theoretically you can created a larger partition than this but you
cannot use the additional space.

WARNING 1: E100 is bad. It is possible to do an offline update to resolve it
but this mostly isn't the case. E100 is the only know error that
actually refers to the Blu-ray drive. Under certain circumstances
during an Xbox One update the Blu-ray drive firmware can become
permanently corrupted. Any sort of Blu-ray drive failure involving
the daughterboard will brick your system since only the original
factory matching Xbox One motherboard and Blu-ray daughterboard can
be used together.
YOU CANNOT REPLACE A BLU-RAY DAUGHTERBOARD FROM ANOTHER SYSTEM!


REPAIR AND UPGRADE PATHS:
Xbox One Internal Hard Drive Direct Copy Upgrade


Xbox One Internal Hard Drive Repair or Replace



EXAMPLE SCRIPT USAGE AND OUTPUT:
1. Unzip xboxonehdd-master-7.zip to the root of the "UBUNTU FAT32" flash drive which will create an xboxonehdd-master directory
2. Boot the "UBUNTU FAT32" flash drive and choose "Try Ubuntu"
3. Right click the desktop and select "Open Terminal"
4. cd /media/cdrom/xboxonehdd-master/linux
5. Use the following command to find the drive you wish to partition, /dev/sdb in my case but your case may be different:
sudo ./list_part_info.sh

Current Drive List:
Disk /dev/sda: 480GB
Disk /dev/sdb: 2000GB
Disk /dev/sdc: 16.0GB

Usage: list_part_info.sh /dev/sd*

Examples:
list_part_info.sh /dev/sdb (List Disk Partition Information)

6. sudo ./create_xbox_drive.sh

Last Updated: 2018.05.10.7.0
Usage: create_xbox_drive.sh [options]

Options:
-c|--source Source drive to copy data to target drive -d with -s 2
-d|--drive Target drive to install Xbox filesystem
-s|--stage Install stage [0|1|2|3]
0 - will fully erase drive -d
1 - will erase and partition drive -d
2 - will copy source drive -c data to target drive -d
3 - will rewrite drive -d GUIDs
-t|--disktype Disk GUID to set [0|1|2]
0 - 500GB
1 - 1TB
2 - 2TB
-m|--mirror Mirror standard partition sizes specified with -t on drive -d
Not using this option will autosize 'User Content'
-h|--help Display help

Examples:
create_xbox_drive.sh -d /dev/sdb -s 0 (Erase a drive)
create_xbox_drive.sh -d /dev/sdb -s 1 -t 2 -m (Partition standard 2TB drive)
create_xbox_drive.sh -d /dev/sdb -s 3 -t 2 -m (Rewrite 2TB GUIDs)

7. First erase and partition the specified drive:

NOTE: Replace /dev/sdb with your drive, change -t 2 to -t 0 for
500GB drives and -t 1 for 1TB drives, and optionally use -m to force
standard Xbox One Partition sizes

sudo ./create_xbox_drive.sh -d /dev/sdb -s 1 -t 2 -m
8. OPTIONAL (skip if you don't have a working standard Xbox One drive):
Second if you have a working standard Xbox One drive you can copy the data
from that drive to the new drive with:

NOTE: Replace /dev/sda with your source drive, /dev/sdb with your target
drive, change -t 2 to -t 0 for 500GB drives and -t 1 for 1TB drives, and
optionally use -m to force standard Xbox One Partition sizes

sudo ./create_xbox_drive.sh -c /dev/sda -d /dev/sdb -s 2 -t 2 -m
9. Third rewrite the drive GUID values to Xbox One compatible ones:

NOTE: Again replace /dev/sdb with your drive, change -t 2 to -t 0 for
500GB drives and -t 1 for 1TB drives, and optionally use -m to force
standard Xbox One Partition sizes

sudo ./create_xbox_drive.sh -d /dev/sdb -s 3 -t 2 -m
10. Check to see that your newly created drive matches the output below:
5B114955-4A1C-45C4-86DC-D95070008139 /dev/sd* (2TB)
25E8A1B2-0B2A-4474-93FA-35B847D97EE5 /dev/sd* (1TB)
A2344BDB-D6DE-4766-9EB5-4109A12228E5 /dev/sd* (500GB)

sudo ./list_part_info.sh /dev/sdb
GUID Dev Size Name
5B114955-4A1C-45C4-86DC-D95070008139 /dev/sdb (2TB)
B3727DA5-A3AC-4B3D-9FD6-2EA54441011B /dev/sdb1 (41.0 GiB) 'Temp Content'
869BB5E0-3356-4BE6-85F7-29323A675CC7 /dev/sdb2 (1.6 TiB) 'User Content'
C90D7A47-CCB9-4CBA-8C66-0459F6B85724 /dev/sdb3 (40.0 GiB) 'System Support'
9A056AD7-32ED-4141-AEB1-AFB9BD5565DC /dev/sdb4 (12.0 GiB) 'System Update'
24B2197C-9D01-45F9-A8E1-DBBCFA161EB2 /dev/sdb5 (7.0 GiB) 'System Update 2'

11. OPTIONAL (skip if you are able to do step 8, also skip if OSU1 doesn't
match the last successful update):
Mount /media/ubuntu/System\ Update/ by right clicking the proper drive in
the left hand menu and select Open
12. OPTIONAL (skip if you are able to do step 8, also skip if OSU1 doesn't
match the last successful update):
Download the latest OSU1.zip which contains the files:

$SystemUpdate/host.xvd
$SystemUpdate/SettingsTemplate.xvd
$SystemUpdate/system.xvd
$SystemUpdate/systemaux.xvd
$SystemUpdate/systemmisc.xvd
$SystemUpdate/systemtools.xvd
$SystemUpdate/updater.xvd

Place them in the 'System Update' partition as:

A/host.xvd
A/SettingsTemplate.xvd
A/system.xvd
A/systemaux.xvd
A/systemmisc.xvd
A/systemtools.xvd
B/host.xvd
B/SettingsTemplate.xvd
B/system.xvd
B/systemaux.xvd
B/systemmisc.xvd
B/systemtools.xvd
updater.xvd

Also I walk you through the entire process in the following videos:

Repair or Replace Using Linux:


Direct Copy Upgrade Using Linux:


CONCLUSION:
While the PS4 will always have the advantage when it comes to internal hard drive upgrading and replacement in terms of difficulty.
Now the Xbox One can finally support the same functionality.

Finally, if you want to know if the Xbox One X is using Internal SATA3 over the Xbox One S and original models SATA2.
Perhaps you want to know how much faster an SSHD, SSD, or 7200RPM HDD would be in comparison to a stock 5400RPM HDD.

Look no further than lilhed's video:


COMMON ISSUES:
A couple quick points about the E101 error and offline updates:
  1. When doing an offline update using the contents of OSU1.zip extracted to an NTFS formatted USB drive and you are greeted with an E101 error 9 times out of 10 your system is part of the dashboard preview program and is newer than the current OSU1 version. The current OSU1 version is 10.0.17763.4088 as of 2019/04/09. If your version is newer than this you will have to wait until the OSU1.zip version is updated past your version. Alternatively, if you have another console in the dashboard preview program you could copy over it's "System Update" A and B folders.
  2. In 2019 OSU2.zip and OSU3.zip are useless. They haven't been updated in years and are for updating Xbox One OS 6.3 and day one consoles respectively. Don't waste your time with these.
The E100 error is a Blu-ray drive issue NOT the hard drive. Do NOT swap Blu-ray drives between systems.
You may see an E100 error during an offline update likely relating to a failed Blu-ray firmware update. Sometimes this can be resolved by forcing the offline update a second time.
For more information check out the following video:


Update May 14, 2019 E105 and E102 errors on Xbox One X models:
There does appear to be an epidemic with Xbox One X consoles suddenly producing E105 errors and then E102 when trying to force an OSU1 offline update.
This does appear to be file/data corruption rather than a physical hardware issue and I believe there is an OS bug in combination with increased system temperatures.
Often leaving the system off for a while resolves the bad behavior only to resurface when the system heats up again.
If under warranty call Microsoft, if not I would suggest 3 things if you have the means.
  1. Wipe the disk and start with a cleanly formatted Xbox One disk.
  2. Many have mentioned doing step 1 with a new HDD or SSHD only fixes the issue temporarily. In which case upgrading to an SSD may help. SSD drives produce and are less affected by heat.
  3. Change the (APU) thermal paste. I recommend Arctic Silver 5 but any high quality paste will do.
 
Last edited by tai1976,

Vinx75

New Member
Newbie
Joined
Feb 23, 2024
Messages
1
Trophies
0
Age
22
XP
2
Country
Costa Rica
I managed to install a 480GB SSD (447GB actually!) into my Xbox One S, with just one SATA adapter.
Prior to any mods, i backed up the data from my original HDD. In my case the old HDD only contained files in the System Update folder, the other folders where empty. After completing the backup, I proceeded with the installation.

First i partitioned the disk using the Linux Script, i used Lubuntu on a 32GB Live USB wich ran pretty smooth by the way.
Second, i fixed the GUID values using the Windows Scritpt.
Third, installed the SSD back into the Xbox and proceed to do a Offline Update OSI1.

I have to mention that i encoutered some issues in the process. The offline update stopped at 76% throwing E102, So i tried a lot of things but Long story short is:

When the Offline Update stopped at 76% i powered off the console and removed the SSD then reconnected the old HDD to the Xbox, then powered on the console and the Offline Update automatically carried on from 76%(yes, with the old HDD)...in the meanwhile i took the SSD and restored the backed up data(after a failed Offline Update attempt) using the Win Script
Back to the Xbox, when the Offline Update finished, i removed the old HDD and installed again the SSD into the Xbox with the backed up data and when i turned on the Xbox it worked perfectly!

I honestly don't know why it worked this way, i've been using my console normally since the upgrade.

This could had been A LOT easier just by using 2 SATA adapters, i just wasn't able to get one at the time. And just hope this helps someone in case is nedeed.
I had the same problems with my 480gb Kingston and doing the backup and restoring it actually works, so thank you.
 

Isaaccummins

New Member
Newbie
Joined
Jul 7, 2007
Messages
2
Trophies
1
XP
14
Country
I'm having a problem running this script. It does what's expected but has problem with the

* Changing disk and partition GUID values with C:\Users\<username>\Desktop\xboxonehdd-master\win\gdisk64 . . . Cannot run a document in the middle of a pipeline: c:\devkitPro\msys2\usr\bin\cmd. At C:\Users\<username>\Desktop\xboxonehdd-master\win\create_xbox_drive.ps1:919 char:5 + cmd /c "$($XBO_RUN)" 2>&1 | Tee-Object -FilePath $XBO_LOG -Append ... + ~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (c:\devkitPro\msys2\usr\bin\cmd:String) [], RuntimeException + FullyQualifiedErrorId : CantActivateDocumentInPipeline

I've attached the entire output of the script and only changed my username to <username>. I've run it with cmd and powershell both as admin with the same error.
Is there any chance anyone might know what's up with this?
Thanks for the hard work on this project.
Well. I want to cry. Just spent 15-20 mins replying to this explaining each step of what I have tried and I was prompted to sign in again and obviously my entire response had disappeared. The long and short of it as I have now been at it a good 4-5 hours and I have tried everything I can think of. Different computers, different drives (confirmed working), tweaking scripts, etc, etc and just the same error as you each time.

Anyway, have you managed to sort this?
 

BigOnYa

Has A Very Big
Member
Joined
Jan 11, 2021
Messages
3,196
Trophies
1
Age
50
XP
7,547
Country
United States
Well. I want to cry. Just spent 15-20 mins replying to this explaining each step of what I have tried and I was prompted to sign in again and obviously my entire response had disappeared. The long and short of it as I have now been at it a good 4-5 hours and I have tried everything I can think of. Different computers, different drives (confirmed working), tweaking scripts, etc, etc and just the same error as you each time.

Anyway, have you managed to sort this?
Are you using the correct script?
create_xbox_drive.bat - includes a command line similar to the original script using PowerShell 5.1 for Windows 10
create_xbox_drive_old.bat - the original Windows Batch script supporting Windows 7
 

Isaaccummins

New Member
Newbie
Joined
Jul 7, 2007
Messages
2
Trophies
1
XP
14
Country
Are you using the correct script?
create_xbox_drive.bat - includes a command line similar to the original script using PowerShell 5.1 for Windows 10
create_xbox_drive_old.bat - the original Windows Batch script supporting Windows 7
Yes, I was but I have now figured out the issue. Typical of me to spend 5-6 hours on an old Xbox that isn't worth more than £30.
It was right there is the error message as you'd expect:
+ CategoryInfo : InvalidOperation: (c:\devkitPro\msys2\usr\bin\cmd:String) [], RuntimeException)

I just wasn't paying attention. DevkitPro isn't something that comes bundled in the script folder or mentioned in the script. So why the error, in the create_xbox_drive.ps1 file, line 919, col 5 calls this: cmd /c "$($XBO_RUN)" 2>&1 | Tee-Object -FilePath $XBO_LOG -Append | Out-Null

However, cmd was obviously then calling the cmd file in the location mentioned in the error above. I found it, renamed it, reran the script and it ran first time without any issues.

From what I can tell I must have installed DevkitPro for some other app compiling for 3DS or perhaps Switch. I can't be sure.

So all sorted. I now have a 2TB SSD in an Xbox that will likely never get used. :rofl2:
Post automatically merged:

I'm having a problem running this script. It does what's expected but has problem with the

* Changing disk and partition GUID values with C:\Users\<username>\Desktop\xboxonehdd-master\win\gdisk64 . . . Cannot run a document in the middle of a pipeline: c:\devkitPro\msys2\usr\bin\cmd. At C:\Users\<username>\Desktop\xboxonehdd-master\win\create_xbox_drive.ps1:919 char:5 + cmd /c "$($XBO_RUN)" 2>&1 | Tee-Object -FilePath $XBO_LOG -Append ... + ~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (c:\devkitPro\msys2\usr\bin\cmd:String) [], RuntimeException + FullyQualifiedErrorId : CantActivateDocumentInPipeline

I've attached the entire output of the script and only changed my username to <username>. I've run it with cmd and powershell both as admin with the same error.
Is there any chance anyone might know what's up with this?
Thanks for the hard work on this project.
So a year too late for you, but I worked it out. See post above.

Go to c:\devkitPro\msys2\usr\bin\ and rename cmd to .cmd or something or just delete/uninstall DevKitPro if you don't use it. Re-run the script, follow the steps, done!
 
  • Like
Reactions: BigOnYa

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: There has to be some mutual agreement with them all anything over $600 is just pc territory