在一加 7/7T Pro上安装Windows

发布于 8 天前  32 次阅读


原文:https://github.com/mutong233/woa-op7 (fork自n00b69的仓库)

在这篇文章中,我将分享一些有关于如何在一加7 Pro或7T Pro上安装Windows的经验。

你的保修将会失效!操作前请三思!若您不希望损坏您的设备,请不要按照本教程操作!
Your warranty is now void.

一、准备工作

在开始之前,请确保您对您的设备负责,文章编写者及固件提供者不对出现的任何问题负责

你需要了解并熟知 Android 设备的工作原理才可以继续。若您不知道9008,磁盘分区,EDL模式,设备驱动,设备树,UEFI固件等词汇的意思,或者您不熟悉如何使用命令行,请不要继续使用此教程。

你需要确保你的设备符合以下条件:

设备型号:GM1910 / GM1911 / GM1913 / GM1917 或 HD1910 / HD1911 / HD1913

不支持 5G 及 T-Mobile设备。

系统版本:HydrogenOS(H2OS) / OxygenOS(OOS) 11 或者其它使用 OOS 11 作为底层的固件。

若您不确定底层固件版本,建议使用9008或者其它方式降级系统版本。

二、获取需要的文件

你需要获取下列文件:

对于GM191x(7 Pro),请下载guacamole开头的文件,对于HD191x(7T Pro),使用hotdog

下文所有操作将以guacamole为例,若您使用的是hotdog,请自行替换!

UEFI 引导镜像:https://github.com/n00b69/woa-op7/releases/tag/UEFI

modemprov,魔改twrp等文件:https://github.com/n00b69/woa-op7/releases/tag/Files

驱动程序包:https://github.com/n00b69/woa-op7/releases/tag/Drivers

ADB以及Fastboot工具:https://developer.android.com/studio/releases/platform-tools

Magisk或KernelSU(取决于你的ROM文件):请自行准备

原版TWRP:https://twrp.me/ (若您使用的是第三方ROM,请根据需要准备)

Windows on ARM镜像:https://arkt-7.github.io/woawin/

WOA Helper App:https://github.com/n00b69/woa-helper/releases/tag/APK

三、准备您的设备

在开始之前,请先备份手机中的所有数据,接下来的操作会抹掉设备上的一切数据!(无论你是否已经解锁Bootloader)!!

接下来的操作请保持手机与电脑的连接,并确保电量充足。

第一步:解锁Bootloader。(若您安装了其它第三方固件,可跳过此步)

将手机连接至电脑,在手机设置中,找到关于手机,连续点击七次版本号,并输入锁屏密码,解锁开发者选项。找到开发者选项中的OEM解锁开关并启用,之后找到高级重启开关并启用。长按电源键,点击电源菜单右上角的选项按钮,选择引导加载器,重启手机至Bootloader模式。

在电脑上,使用管理员身份打开一个命令提示符窗口,并切换到adb所在目录。不要关闭此窗口

在Fastboot模式启动后,手机屏幕上应该会看见START以及其它英文。在命令提示符窗口中,使用如下命令解锁bootloader:

fastboot flashing unlock_critical

这将让手机出现一个确认屏幕,使用音量键选择 UNLOCK 并按下电源键确认解锁手机。

在之后,手机将重启进系统,请重新设置好您的设备。

第二步:对手机进行Root操作。(若您安装的第三方固件已root,可跳过此步)

按照上文的步骤将手机引导进Bootloader模式,之后在电脑端使用如下命令启动原版TWRP(文件名按需替换)

fastboot boot twrp-3.6.2-guacamole.img

如果一切正常,您的手机将引导进TWRP。在主界面选择高级(Advanced)菜单中的安装当前TWRP命令(Flash current TWRP)来安装TWRP,这将对于之后的操作产生便利性。

在安装完之后,回到主页,选择重启菜单中的Recovery选项来重启手机,若一切正常,您应该看见TWRP界面再次载入。若载入了一个黑色背景的三语言菜单,则代表您没有成功安装TWRP,请重启手机再试。

再选择高级菜单中的ADB Sideload并确认,之后在电脑使用如下命令安装Magisk:

adb sideload Magisk-v26.2.apk

安装完成以后,重启手机,进入系统,打开新出现的Magisk App并完成环境修补(需要修补两次),直到打开Magisk App不再提示环境错误为止。

第三步:备份Boot镜像。

在Magisk App或关机菜单中,重启到恢复模式(Recovery)

在TWRP中,查看设备当前的引导槽位(点击右下角重启并查看当前槽位)并记好,之后在电脑使用如下命令来备份设备当前的Boot镜像(槽位A):

adb pull /dev/block/by-name/boot_a boot.img

若您是槽位 B,则需要将上文的boot_a替换为boot_b。

第四步:备份重要设备分区

若您遇到意外情况导致设备损坏,您需要这些文件来恢复设备,否则您的设备将永远失去拨打电话或使用手机卡的能力!这些文件是独一无二的,只能给您的设备使用,不可通用!

在电脑执行如下指令备份设备的基带:

cmd /c "for %i in (fsg,fsc,modemst1,modemst2) do (adb shell dd if=/dev/block/by-name/%i of=/tmp/%i.bin & adb pull /tmp/%i.bin)"

至此,您的设备已准备完成,可以进行分区及Windows的安装操作。

四、对设备进行分区

在TWRP或Android中,将设备再次重启到Bootloader。

接下来,使用下列命令加载魔改TWRP(moddedtwrp.img)

fastboot boot moddedtwrp.img

在加载完TWRP之后,设备可能会与电脑断开连接,不要担心,这是正常现象。

如果您看见TWRP在加载分区报错,请不要担心,这是正常现象。

不要在魔改TWRP中执行任何其它操作,这可能会损坏设备!请严格按照教程操作!

接下来,您需要修补设备的分区表,以防Windows意外损坏设备。

在这个TWRP中,选择左下角的Advanced菜单,找到Terminal,打开终端,在终端中输入:

fixgpt

之后等待1~2分钟让设备完成GPT分区表的修补操作。

在分区表修补完成之后,我们需要对设备进行分区,在终端使用如下命令唤起分区软件:

parted /dev/block/sda

这应该启动parted软件,在parted软件的命令行中,使用下列命令查看分区表:

print

这会告诉你设备当前的分区表详情,你需要关注一个叫 userdata 的分区,这是存放你的Android数据的地方。记住这个分区的编号以及起始位置,它一般是19或者22号分区,起始于7971MB处

请再次确认您已经备份好设备上所有文件!但是因为我们刚刚完成Bootloader的解锁,所以此时设备上应该没有任何重要文件。接下来,使用下列命令删除这个分区:(记得将$替换成19或22。)

rm $

如果你在执行命令的时候看到任何错误,选择ignore或者yes来忽略他们。

接下来,创建新的Android分区,新的Android分区大小取决于您的选择。在此教程中,我们将给Android保留64G的存储空间,您也可以按照需要调整,但是建议至少要给Windows留出50G的磁盘空间,Android保留的空间不少于64G。

mkpart userdata ext4 7971MB 64GB

接下来,创建Windows引导分区(ESP)(若您调整了保留空间大小,也要调整下文所有命令的大小)

mkpart esp fat32 64GB 64.3GB

接下来,创建Windows数据分区(NTFS)

mkpart win ntfs 64.3GB -0MB

最后,使ESP分区对UEFI可见可引导:(将$替换成ESP分区编号,一般是20或23,不确定可以使用print查看分区表)

set $ esp on

退出 Parted 实用程序:

quit

接下来,我们需要恢复Android系统的引导。

重启设备至上文已刷入设备的原版TWRP,若您看见userdata无法挂载,不要担心。选择清除(Wipe)菜单中的格式化Data(Format Data)选项对新创建的分区进行格式化,之后再次重启到原版TWRP,选择Wipe菜单进行一次双清,之后开机,完成Android初始化设置。

最后,我们需要格式化Windows分区,以做准备。

再次按照上文的步骤重启到魔改TWRP,并打开终端,输入下列指令格式化Windows分区:

format

若一切正常,此时您已经做好了安装Windows的准备

五、安装 Windows

在魔改TWRP中,选择高级菜单中的大容量存储模式(Enable Mass Storage Mode)

之后若一切顺利,您的电脑会识别到一个名为WINONEPLUS的U盘。

若您的电脑没有识别到设备,请重启一次魔改TWRP再试。若仍无反应,请使用下列方法连接电脑。

从上文魔改TWRP镜像下载处获取renegade UEFI镜像,之后使用下列命令引导:

fastboot boot renegade-guacamole.img

一旦设备出现引导菜单,使用音量键选择 UEFI Boot Menu,找到USB Attached SCSI(UAS Mode)选项,点按两次电源键激活大容量存储模式。(可能需要等待约30秒让Linux内核启动)

一旦设备成功识别,在电脑的命令行中打开diskpart:

diskpart

不要在Diskpart中对Android设备进行分区,这会损坏设备!

接下来,查看电脑当前的分区表:

list volume

记下 WINONEPLUS 与 ESPONEPLUS 分区的编号,下文中将使用a与b代替。

为这两个分区进行盘符分配(请不要随便修改盘符,除非你知道你在做什么!)

select volume a
assign letter x
select volume b
assign letter y
exit

至此,盘符分配工作已完成。

在开始下一步前,请确认您已经获得Windows ARM64安装镜像(ESD或WIM)

推荐使用Windows 11 24H2(261xx)获得最佳性能,同时推荐使用专业版。其它版本暂未测试,也不推荐使用。

接下来需要写入Windows文件。若您偏向于使用命令行部署,或者您不知道什么是WINNTSETUP,请按照本段剩余部分操作。若您偏向于使用WINNTSETUP,则可以使用WINNTSETUP部署,部署方法与在PE下部署Windows一致。(使用WINNTSETUP部署的方法未经验证,可能存在问题)

在命令提示符窗口,使用下列命令给设备安装Windows:

dism /apply-image /ImageFile:path\to\install.esd /index:6 /ApplyDir:X:\

如果提示错误87,请检查您的镜像文件中,专业版对应的索引编号以及文件是否正确。

这个过程大约需要15~25分钟完成,请稍安勿躁,并保持手机与电脑的连接。

六、安装驱动及更新引导

首先,将之前备份好的boot.img扔进WINONEPLUS分区根目录中。

接下来,打开之前下载的驱动包,解压到任意位置,找到其中的 OfflineUpdater.cmd 并运行。若提示错误,改用 OfflineUpdaterFix.cmd 替代。若提示找不到盘符,可能是电脑没有WMIC工具,此时手动指定X盘即可。

安装驱动大约需要3~5分钟时间。

最后,创建NT6.x引导文件

bcdboot X:\Windows /s Y: /f UEFI

创建完成之后,移除ESP盘符

mountvol y: /d

若提示错误或者没有操作这一步,可能会有一个幽灵盘存在于电脑中。不用担心,下次重启电脑时它应该会消失。

最后,使用 Windows 的安全弹出功能,弹出手机。(重要!若直接拔掉设备,可能会导致接下来的步骤遇到一些错误)

接下来,重启设备到原版TWRP,刷入之前下载的 modemprov.zip 文件。(若不刷入,则Windows下面的网络功能不可用)

如果在刷入modemprov.zip时提示错误,你需要在TWRP或Android下面执行ntfs文件修复操作(fsck.ntfs)或者按上文重启至大容量存储模式,并在Windows执行chkdsk。

七、设置 Windows 及多系统引导

重启设备至 Bootloader,使用下列命令加载 UEFI 镜像并启动 Windows:(不要使用renegade!

fastboot boot guacamole-uefi.img

Windows 此时应该开始在您的设备上引导,并完成初始化任务。若初始化过程意外中断,您需要从第四大节最后一段的格式化 Windows 开始重新操作。

初始化完成后,设备应自动重启进 Android。

在电脑,重新连接手机,将手机置于 MTP 存储模式,在电脑打开手机媒体文件夹根目录,创建一个名为 UEFI 的目录,并将刚才的 UEFI 镜像复制到这个文件夹中。

在 Android 下,安装之前下载的 WOA Helper App。打开并授予 root 权限。找到 WOA Toolbox 中的 DUALBOOT KERNEL PATCHER 按钮,点击并等待设备自动修补内核。

在安装完DBKP之后,您可能想重新备份您的内核镜像以确保DBKP可用性。

在WOA Helper App中,点击右上角设置,选择将 Windows 挂载到 /mnt 而非 /sdcard。回到主页,点击第一个备份 Boot 镜像按钮,选择 Android,这样会在设备留下一个 boot.img 镜像。之后选择挂载 Windows,然后再次备份 Boot 到 Windows,之后解除挂载 Windows 分区。

现在您的设备已经配置好,可以进行双系统操作了。

切换系统的方式:使用右侧的静音滑块,位于静音时,设备将启动Windows,位于震动或正常时,设备将启动Android。

现在,将设备置于静音模式,并重启手机,此时设备应该会自动加载之前复制的 UEFI 镜像并启动 Windows。

八、优化 Windows

刚安装完的系统,可以选择断网状态完成 Windows 设置,这样可以不用直接设置微软账户登录。

若需要激活 Windows 或者您自行安装的 Office,可以使用 MAS

若需要使用 AtlasOS 或 ReviOS,您可能需要修改 Playbook 绕过充电限制

若需要使用 USB 设备,您可能需要 USB模式切换工具

建议关闭 Windows 自动更新,不要随意执行更新以防变砖。

九、救砖或卸载 Windows

若您需要的是重装 Windows,请从第四大节结尾格式化部分开始操作。

在卸载 Windows 之前,请确认您已备份设备上所有重要数据!

第一种方法:使用9008重置设备至出厂状态 (救砖)

若您需要完全恢复出厂设置,或是手机无法正常启动到任何系统及Recovery,或者手机连接电脑提示900E,请参阅此步。

下载 EDL 工具EDL 镜像7T Pro点这里

接下来,将手机关机,断开与外部的所有连接。

在电脑,安装好EDL驱动,打开MSMDownloadTool(若提示验证,选择Others),同时尽可能关闭任何杀毒软件。

在手机,同时按住音量上下键,并将手机连接到电脑,若一切正常,电脑应该会提示有新设备接入,且手机保持黑屏状态。

打开电脑的设备管理器,确保串口下有一个名为 Qualcomm HS-USB Loader 9008 (COMx) 的设备。

若您的设备提示 900E 状态,请按住电源键与音量上键10秒钟,设备应主动重启到 9008 状态。

在 MSMDownloadTool 点击开始,此时手机应自动开始恢复出厂设置(包括清除数据,重新安装Android系统,给Bootloader加锁)。大约需要5~10分钟完成。

第二种方法:删除Windows分区(卸载)

若您是高级用户,可以使用本方法在保留 Bootloader 与当前 ROM 的状态下卸载 Windows。由于本方法未经实验,仅提供思路,请自行操作。操作前请备份好所有重要数据!

启动到魔改TWRP,使用parted实用工具删除Windows与旧的userdata,之后创建新的userdata分区。

将下文的 21 20 19 替换为您实际的分区编号!

rm 21
rm 20
rm 19
mkpart userdata ext4 7971MB -0MB

重启到原厂Recovery,刷入之前备份的不含DBKP的Boot镜像,最后格式化新创建的data分区,完成。

结语

至此,您已经成功完成 Windows 的安装,请尽情享用吧!


We fight for the distorted future.