Xbox One X 升级内置硬盘

 Aug. 25, 2019, 5:27 p.m.   1 comment    xbox 硬盘

前几日入了一块鱼竿厂的白菜价 1.5TB SSD,虽然性能和耐久程度未知,胜在有五年质保,用来作为游戏盘再合适不过了,于是开始着手研究如何给 Xbox One X 更换 SSD。 Xbox One X 的拆机过程不再赘述,ifxit 上已经给出了详尽的教程

将原硬盘取出后,试着用网上的 Xbox 分区脚本将原硬盘中的数据无痛迁移到新硬盘中,但是最终试验的效果不理想,机器总是有奇怪的故障,所以只好放弃。

于是考虑用官方的系统恢复工具对硬盘进行分区,从官网下载 OSU1。解压缩后,将 $SystemUpdate 目录整体拷贝到一个空的U盘中,将U盘插上游戏机,安装好新的硬盘,开机。这时候由于新硬盘尚未分区,因此会出现报错页面,打开界面上的 Troubleshoot 工具,然后选择 Offline system update。稍等一会儿,游戏机会自动重启,然后就能看到游戏机的初始化界面了。

所以到这里就结束了吗?非也。由于我的 SSD 是 1.5TB 容量,而 Xbox 并没有对应容量的官方版本,因此这块 SSD 会被当作 1TB 硬盘进行分区,实测可用容量也就 700 多 GB,相当于剩下的容量都被浪费掉了。

因此,这个时候需要将 SSD 拆下来,然后使用硬盘盒连接到 Windows 电脑上,从 Windows 磁盘管理里可以看到目前的分区表大致是这样的:

Temp Content/41 GB
User Content/781 GB
System Support/40 GB
System Update/12 GB
System Update 2/7 GB
Unallocated/460 GB

其中 User Content 分区是 Xbox 存放游戏的分区,当然希望容量越大越好,然而 User Content 分区位于硬盘的第二个分区,与硬盘末尾的未分配空间不连续,因此无法直接扩容。所以我想了个办法,将各个分区的内容进行备份,然后对除了第一个分区 Temp Content 以外的各个分区进行调整,调整完之后的分区表如下:

Temp Content/41 GB
System Support/40 GB
System Update/12 GB
System Update 2/7 GB
User Content/781 GB
Unallocated/460 GB

这时候就可以将 User Content 的分区扩容至所有未分配空间(取整到 1GB),扩容之后的分区表如下:

Temp Content/41 GB
System Support/40 GB
System Update/12 GB
System Update 2/7 GB
User Content/1241 GB

由于 Xbox 系统使用 GUID 来确定各个分区的位置,这个可以从原硬盘中读取得到,对于 1TB 的硬盘,各个分区对应的 GUID 分别是:

Temp Content/B3727DA5-A3AC-4B3D-9FD6-2EA54441011B
User Content/869BB5E0-3356-4BE6-85F7-29323A675CC7
System Support/C90D7A47-CCB9-4CBA-8C66-0459F6B85724
System Update/9A056AD7-32ED-4141-AEB1-AFB9BD5565DC
System Update 2/24B2197C-9D01-45F9-A8E1-DBBCFA161EB2

而我对分区进行调整已经改变了原有各个分区的 GUID,这时候可以使用 GPT fdisk 这个工具来将原硬盘各个分区的 GUID 值写入到新硬盘的对应分区。

GUID 写入完毕后,就可以将之前备份的各个分区的系统文件还原到对应的分区之中,然后将硬盘装回游戏机,再开机,就会发现可用的容量与 User Content 的大小保持一致了。

p.s. 由于采用了非标准容量的磁盘,切不可在游戏机中执行恢复出厂设置。


testname

testname Oct. 27, 2023, 2:34 p.m. Reply

多几百块买2TB的硬盘就没有这些事情了,只是为了省钱。。。。。。