我读过XBox One以NTFS格式格式化外部硬盘驱动器。我从阅读像这一个这样的页面中了解到,NTFS支持应该“开箱即用”。但是,当我将驱动器插入我的Linux机器时,什么都不会被挂载。在dmesg中,我看到设备已被识别,但是fdisk声称没有分区表。我读过一个Windows实用程序(至少在Windows上),它需要修改驱动器的MBR,使其在"XBox模式“和"PC模式”之间切换,所以我怀疑在Linux中也需要做类似的事情--但我找不到任何关于它到底在做什么的文档。另外,也许NTFS根本无法正常工作--例如,我没有看到ntfs在/proc/ find系统下工作,而天真地尝试“mod探测ntfs-3g”却找不到任何东西。
我在跑步(L)Ubuntu 18.04.3 LTS。
发布于 2020-06-15 03:41:24
我只是看了一下驱动器上的字节,似乎微软故意删除了驱动器上的MBR,从而使我们的生活更加艰难。
Option 1(首选):Sharing在Linux和Xbox之间的驱动器
如果不想修改MBR,则可以直接访问分区。这需要一些诡计!
首先,在驱动器中查找NTFS分区的字节偏移量:
drive=your.drive.here
offset=`head -c 4k $drive | grep -aobuP '\x00\x00\x00NTFS' | sed 's/\:.*//'`现在,假设您有一个像/mnt/xbox这样的挂载文件夹,您可以像这样直接挂载分区:
mount $drive -o offset=$offset /mnt/xbox或者对NTFS性能有更好的选择:
mount $drive -t ntfs -o offset=$offset,windows_names,big_writes,streams_interface=windows,inherit /mnt/xbox令人惊讶的是,这真的对我有效。去把它挂上去。确保您首先完全关闭Xbox,否则它将显示为一个不干净的文件系统,但是linux可以为您修复这个问题。
Option 2(危险):修复MBR以使驱动器可被Linux读取。
在开始之前,备份MBR以便它可以恢复:
dd if=your.drive.here bs=512 count=1 of=xbox.mbr.backup.bin然后安装利洛来修复MBR
sudo apt install lilo
lilo -M your.drive.here mbr警告:在将MBR恢复到以前的状态之前,Xbox将无法读取驱动器。(使用dd将备份文件复制到驱动器上)
据我所知,这和它的Windows等效应用程序所做的(修改MBR)是一样的,而且它似乎对他们起作用,但是YMMV。
https://askubuntu.com/questions/1210495
复制相似问题