Xbox One X SSD Upgrade
Using Linux disk tool "dd" I successfully migrated data on my Xbox One HDD to an SSD with identical capacity. The SSD upgrade made the nine-year old console much more responsive to game loading and in-game navigation, incurring less waits before the action starts. (It didn't do anything once the game is up and running, obviously.) With this success, I eyed its successor: my Xbox One X which is also gathering dust since the time I upgraded to the latest Xbox Series X.
The SSD-upgraded Xbox One was mostly just for fun, as it is still likely to sit on a shelf collecting dust after its SSD upgrade. In contrast, an SSD-upgraded Xbox One X may actually see some use. Or at least this was the justification I used to spend money on a 1TB Crucial MX500 SSD (*) for this project. I also skipped the system reset this time around, curious to see if it makes a difference. As for a quick-and-dirty performance benchmark, I timed the duration between selecting "Restart Console" to the time I'm back at the Xbox home menu. On the factory hard drive, that took 90 seconds.
iFixit doesn't have an explicit guide for HDD replacement on an Xbox One X (referred to by its codename Project Scorpio) but it does have a guide for BD-ROM drive replacement. Looking at pictures, I judged that was close enough as the HDD is right next to the BD-ROM drive. Once I followed instructions to reach the BD-ROM drive, I could indeed lift the hard drive cage to access four screws necessary to remove the original drive.
Disk capacity details as shown by command "fdisk -l":
Disk /dev/sdb: 903.57 GiB, 970199064576 bytes, 1894920048 sectors
Disk model: ST1000LM035-1RK1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
The Crucial MX500 SSD is slightly larger, allowing me to copy all the bytes and leave almost 30GB available for wear levelling and other SSD housekeeping.
Disk /dev/sdc: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: CT1000MX500SSD1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
This time I'm going to use a 512KB block size for dd. That may have been the key to faster copy, as the drives are double the size yet copied in less time than for Xbox One's 500GB drive.
~$ sudo dd if=/dev/sdb of=/dev/sdc bs=512K status=progress
970164011008 bytes (970 GB, 904 GiB) copied, 9115 s, 106 MB/s
1850507+1 records in
1850507+1 records out
970199064576 bytes (970 GB, 904 GiB) copied, 9120.85 s, 106 MB/s
Reassembling the console, I retested the "Restart Console" scenario. It took just 49 seconds with the new SSD compared to 90 seconds with the HDD. Almost half the wait or in other words, almost doubled the speed! This is awesome, and I didn't have to reset the console, but there may be an asterisk or two quantifying this success.
(*) Disclosure: As an Amazon Associate I earn from qualifying purchases.