If you store everything on an external hard drive on an Xbox One, and that hard drive gets disturbed, Xbox can no longer read that drive and worse if you plug it into Windows, it doesn’t even show up. On Linux, it shows as an uninitialised drive. Microsoft, in an attempt to make it harder to pirate their games has made it difficult to fix drive problems.
XBox One
Microsoft XBox uses the same file system as Windows, but Microsoft has made things difficult because they have shifted the data 2048 bytes to the right, which makes the data unreadable on Windows. Also since Linux fdisk looks for the data to be in a certain place on the drive and doesn’t find it, reports the drive as being empty when it’s not.
Mounting in Linux
Since Linux doesn’t know where the data starts, we have to find it with this command:
head -c 4k /dev/sdc |grep -aobuP ‘\x00\x00\x00NTFS’ |sed ‘s/\:.*//’
It will return (in this case 2048) the offset of where the data is located.
We can now mount the drive:
mount /dev/sdc -o offset=2048 /mnt
What I found was that Linux (which uses an library called ntfs-3g) reported the drive as being marked bad and attempted to fix it before mounting. So in /mnt I found all the files.
Windows
On Windows, it was a different story. It turns out there is a program that converts the Xbox drive into a PC drive so that it can be read by Windows, which it can then be repaired by Windows, and then be converted back to Xbox format and work on the Xbox.
Xbox One External USB Storage Device Connector
Note down the drive letter that is marked as XBOX Mode. This is your external drive.
Left click on the drive marked XBOX Mode (in this case its called PhysicalDrive1) and then right click and you will see a menu to Enable PC Mode.
Once this is done, safely eject the hard drive using the Windows Eject symbol.
Once you have reconnected the drive, press Windows key and E to open Explorer, you will see the external drive showing up. Windows will report it needs to be repaired. So right click on the drive, choose Properties, then Tools then press the Check button to open Scan Disk to repair the drive. Choose Repair now.
Now you will be able to double click on the drive and access all the saved games and everything on that drive. Copy them to a safe place and now you can do the process in reverse.
Open the program and left click on the PhysicalDrive1 (in my case) and then right click and choose Enable XBOX Mode.
You will need to eject the drive from Windows using the Eject symbol and your drive should work fine in the XBox.