前几日入了一块鱼竿厂的白菜价 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. 由于采用了非标准容量的磁盘,切不可在游戏机中执行恢复出厂设置。
Leave a Comment