yanhy的学习记录匣 - 整理 探索知识的宝箱,记录成长的脚步。欢迎来访Yanhy的博客站,在这里,每一页都是对知识无尽好奇的见证,每个故事都是学习旅程中的珍贵篇章,一起激发灵感,分享进步 2024-07-30T12:30:00+08:00 Typecho https://yanhy.top/index.php/feed/atom/search/整理/ <![CDATA[移动、天翼云电脑使用DD重装系统]]> https://yanhy.top/index.php/archives/398/ 2024-07-30T12:30:00+08:00 2024-07-30T12:30:00+08:00 yanhy2000 https://yanhy.top 前段时间入手了移动云电脑,结果被意外收回了... 后面发现还是有云电脑需求,干脆入了天翼云电脑试试看。官方系统内容挺多,且有不少后门,干脆自行DD重装一下,顺便做个记录。

DD重装本质上是利用Linux的指令来进行硬盘擦写填充文件。

菜鸟编程:Linux dd 命令用于读取、转换并输出数据。dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。

本文使用Github开源项目 reinstall ,并将云电脑系统重装为Windows 10 LTSC 2021

一键重装脚本 English 项目介绍
- 支持安装 16 种常见 Linux 发行版
- 支持用官方原版 iso 安装 Windows,并且脚本会自动查找 iso 和驱动
- 支持任意方向重装,也就是支持 Linux to Linux、Linux to Win、Win to Win、Win to Linux
- 专门适配低配小鸡,解决内存过少导致无法进行网络安装
- 自动判断动静态 IPv4 / IPv6,无需填写 IP / 掩码 / 网关
- 支持 ARM,支持 BIOS、EFI 引导,原系统支持 LVM、BTRFS
- 不含第三方自制包,所有资源均实时从源站点获得
- 有很多注释

前期准备

  • 云电脑准备数据盘1GB以上(重装后系统盘会被全盘擦除,分区也会被清除,需数据盘保留一些软件)
  • 下载软件Todesk_lite到数据盘(用于在云电脑重装后因没有驱动无法控制,只能提供第三方远程软件控制)
  • Github加速器(任意且可选,部分云电脑访问Github艰难,可以备好)

移动云电脑切记需要下载好远程软件在数据盘,并保证软件打开就可以使用,否则在无鼠标驱动下安装远程控制软件相当困难

天翼云电脑实测无需远程,重装系统后仍然可以在官方客户端键鼠操控,也无需强制数据盘

DD重装系统

关闭Windows Defender 保护

打开设置 - 更新与安全 - Windows安全中心,点击左侧病毒与威胁防护,将选项全部关闭。
如使用天翼云电脑,系统可能预装火绒等杀毒软件,直接退出杀毒软件即可。

以管理员身份运行Powershell

使用快捷键Win+X,选择 Windows Powershell(管理员)打开即可

Windows Powershell(管理员)

下载脚本

复制以下脚本,并粘贴到Powershell终端内(右键终端界面即可粘贴)

certutil -urlcache -f -split https://github.299993.xyz/https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.bat
注:这里的脚本使用了Github加速源。如以后该加速源关闭,将无法正常执行脚本,可使用Github原链接,可能需要加速器。
备用链接
国内加速源
certutil -urlcache -f -split https://jihulab.com/bin456789/reinstall/-/raw/main/reinstall.bat

国外(Github原链接)
certutil -urlcache -f -split https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.bat

执行完成
脚本下载完成

执行脚本

复制以下脚本,并粘贴到Powershell终端内(右键终端界面即可粘贴)
这里要安装的为Windows 10 LTSC 2021系统,稳定且性能占用较低。如有其他系统需求,可以在https://drive.massgrave.dev/网站查找所需镜像。

./reinstall.bat windows --iso='https://drive.massgrave.dev/zh-cn_windows_10_enterprise_ltsc_2021_x64_dvd_033b7312.iso' --image-name='Windows 10 Enterprise LTSC 2021'

期间会出现软件安装的窗口,无需理会,等待其自动安装和配置。
当最后几行出现下面内容时则为初期准备完成,可以重启安装

***** INFO *****
windows
Username: administrator
Password: 123@@@
Reboot to start the installation.
You can run this command to reboot:
shutdown /r /t 0
PS C:\Users\Administrator>

脚本执行完成截图

重启云电脑自动重装

在Powershell内输入以下指令,重启系统进入Linux子系统,开始自动DD重装。

shutdown /r /t 0

系统重启后,无需任何操作,一直等待或者关闭云电脑客户端放后台慢慢装即可。花费时间取决于网速和硬盘读写速度,如云电脑为机械硬盘可能会慢一些。
由于我这个天翼云电脑带宽只有50M,因此下载速度特别慢,前前后后需要30到50分钟左右。

全程为脚本自动操作,请勿手动介入,可能会打断脚本。一直等待到系统开机输入密码阶段才算安装完成。

下载镜像中

注:天翼云电脑在重装后还是原系统卸载系统软件,都不影响在官方客户端的控制使用(截至2024/7/30是可行的)。但偶尔会出现弹窗显示异常提醒建议重启,点以后再说即可。

天翼云电脑 忽略弹窗即可

在Linux系统部署完成后,自动重启到Windows安装中。全程无需手动操作,也不要去介入操作,会打断进程。

系统自动安装中

新系统开机

安装完成后自动开机,默认开机密码:123@@@

锁屏界面

移动云电脑需要开机后用键盘打开远程软件,进行远程连接后才能控制。
使用快捷键 Win+E 打开此电脑,方向键选择D盘,并选择Todesk_lite.exe,回车键打开软件进行远程连接。

天翼云电脑可直接用官方客户端控制。

进入系统

天翼云电脑可在修改分辨率手动全盘。重装后无法进行自适应分辨率、硬盘映射等等功能,有需要可使用原系统。
刚安装好的系统分辨率不对,可以手动在桌面-右键-显示设置,手动调整分辨率为1920x1080即可。

系统激活

激活推荐使用HEU-KMS,可参考我前面的文章 安利个Windows激活工具 HEU-KMS

文件传输

最便捷的文件传输方式可使用第三方远程控制软件,进行文件传输;也可以提供各种网盘进行传输。官方客户端文件传输能力失效。

天翼云电脑修复

仔细研究了一下ecloud的驱动相关,按自己需求整理出了适用于官方客户端的驱动优化
修复以下问题:

  • 新系统后双重鼠标指针
  • 调整官方客户端窗口时自适应分辨率
  • 从云电脑内拉拽文件到外面以及相反拉拽文件
  • 剪贴板同步
  • 音频驱动
  • 客户端画质调整

驱动下载

需下载以下链接内三个文件(经fiddler抓包后未发现上报连接,但不排除定时上报。程序已精简过,去除其他服务如远程录屏、打印等服务)

https://yanhy.lanzouj.com/b033zndfuj
密码:5k43

驱动安装

clink天翼云电脑守护程序

先创建好文件夹,在C:\Program Files (x86)\ctyun\clink(也不一定要指定位置,这是原系统安装路径,为确保不出错还是推荐本路径)
解压后,将64文件夹放到clink目录内,如下图

文件夹路径

打开64文件夹,右键点击以管理员身份运行来打开clink_agent.exe和clink_cb_helper.exe。运行后没任何反应,但可以通过任务管理器看到已经在运行了。注:如不使用管理员身份运行,则在一些系统中可能因为没权限导致无法使用部分功能。

驱动软件运行

经多次测试,核心服务程序为必须运行项,否则其他程序无法正常工作,;服务程序则为跟着客户端窗口调整分辨率、剪贴板同步、文件拖拽传输等功能。

音频驱动ecloud_AudioDriver_FullSetup

音频驱动直接双击安装即可

驱动安装界面

drivers天翼云电脑显示驱动

随意解压一个位置,打开文件夹后,选择 qxldod.inf 文件,右键-安装。安装后没有弹窗,但如果第一次安装屏幕会闪烁并修改分辨率为很低的一个状态。

如果前面有安装了守护程序,只需要缩放一下官方客户端窗口,即可自动调整云电脑分辨率大小。

如果不使用守护程序,只安装驱动,可以手动在桌面-右键-显示设置,手动调整“显示器1”的分辨率为1920x1080即可,可以修复双重鼠标指针。(单独安装除了修复双重鼠标指针好像意义不大,经过测试这个驱动貌似就是配合守护程序调整分辨率使用)

结束

当云电脑DD重装后,会失去一些便利的特性,但是同时也有一些好处。使用全新系统,省去官方定制系统臃肿的性能占用和一堆无用的软件,删除官方监控后门,甚至部分云电脑可以重装后直接变成不休眠(天翼云还是会休眠),能更好的由自己控制。

本文部分内容摘抄自该博主(https://kui.li/989.html),如有版权问题请留言,会及时处理

补充:移动云电脑家庭版操作较麻烦,可以参考这篇文章获得更多移动云电脑相关内容:https://www.yuque.com/scynull/cloud/ikxva5t32sii3lrn

本文到此结束,如有更多感兴趣的话题可以关注本博客,不定期更新~

]]>
<![CDATA[文章历史分割线]]> https://yanhy.top/index.php/archives/348/ 2024-01-27T19:12:00+08:00 2024-01-27T19:12:00+08:00 yanhy2000 https://yanhy.top 三番五次更换了博客程序,最后确定留在typecho了~

如题,在此文章之前的都是从wordpress迁移到typecho再迁移到wordpress再迁移回来typecho的情况,因此不仅是非Markdown编写,而且一些格式还错乱了(悲

从该文章之后开始认真起来了,博客之所以停更了这么久,一方面是毕业了,现在找到了一份还算过得去的工作,后面可能只有零零散散的文章了,不过还是准备继续写下去的,毕竟自己写的东西都是自己的经验,自己的知识。

这次重新迁移,也整理了一下分类等,大部分属于linux的经验都扔服务器运维里面了;删了技术杂谈等分类;然后修改教程分享为教程经验,在这个分类里面将会出现各种领域的自己总结的教程和经验,当然这些并不算标准答案,我自己发现有问题也会变更。

本文就这样了,算是做个公告,或许没有多少人来访,但是哪怕留给以后的自己看,也是不错的选择~

]]>
<![CDATA[随身wifi折腾入门(2)-- 编译&刷入系统]]> https://yanhy.top/index.php/archives/333/ 2023-04-05T19:06:00+08:00 2023-04-05T19:06:00+08:00 yanhy2000 https://yanhy.top

(需更新)

社区已经有很多编译的系统可玩了,但是为了追求彻底,我还是想自己编译一个系统用用看,顺便试着调整内核进行超频...
本文参照多个文章整理后编写
编译UFI设备的Debian固件
编译410随身wifi_Debian超频版教程&经验
关于 OpenStick

如果只想刷入社区的系统镜像,可看第5节 系统刷入

系统与环境

编译需要在主机为Linux系统下进行,因此本次选择vmware虚拟机进行

系统镜像: Ubuntu2210_Desktop_amd64

编译过程中全程以普通用户进行,不能进入root用户编译,仅使用sudo提权

系统安装完成后打开终端开始换源,如果不换源后续安装软件会较慢:

sudo vi /etc/apt/sources.list

注释全部内容,更换为:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic-backports main restricted universe multiverse

# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic-security main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic-security main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu/ kinetic-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ kinetic-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic-proposed main restricted universe multiverse

工具准备

输入指令安装软件包:

sudo apt install binfmt-support qemu-user-static gcc-10-aarch64-linux-gnu kernel-package fakeroot simg2img img2simg mkbootimg bison flex gcc-aarch64-linux-gnu pkg-config libncurses-dev libssl-dev unzip git

克隆仓库代码:

git clone https://github.com/OpenStick/linux.git --depth=1

内核超频

此时不急着去编译源码,为了获得更佳的性能,先对其进行超频修改

进入目录 linux/drivers/clk/qcom 找到 a53-pll.c文件,进行修改

打开文件后,可根据下图为参考,21-27行内,第一块为运行频率,第二块则为供电电压。根据前面的规律,大致可以判断为每提升200Mhz增加10电压值,但是由于再往后就超出了芯片设计频率,同时要考虑功耗与发热,因此往后提升时要略增加一些电压值,如 { 1841600000, 96, 0x0, 0x1, 0 }

static const struct pll_freq_tbl a53pll_freq[] = {
    {  998400000, 52, 0x0, 0x1, 0 },
    { 1094400000, 57, 0x0, 0x1, 0 },
    { 1152000000, 62, 0x0, 0x1, 0 },
    { 1209600000, 63, 0x0, 0x1, 0 },
    { 1248000000, 65, 0x0, 0x1, 0 },
    { 1363200000, 71, 0x0, 0x1, 0 },
    { 1401600000, 73, 0x0, 0x1, 0 },
    { 1621600000, 84, 0x0, 0x1, 0 },
    { 1841600000, 96, 0x0, 0x1, 0 },
    { 1951600000, 103, 0x0, 0x1, 0 },
    { }
};

找到第二个目录 linux/arch/arm64/boot/dts/qcom 修改其中的 msm8916.dtsi 文件,在220行左右出现默认频率,在此之后进行增加,增加的频率需要在前一个文件内添加好

                opp-1363200000 {
            opp-hz = /bits/ 64 <1363200000>;
        };
        opp-1401600000 {
            opp-hz = /bits/ 64 <1401600000>;
        };
        opp-1621600000 {
            opp-hz = /bits/ 64 <1621600000>;
        };
        opp-1841600000 {
            opp-hz = /bits/ 64 <1841600000>;
        };
        opp-1951600000 {
            opp-hz = /bits/ 64 <1951600000>;
        };

内核编译

编译配置

回到刚刚git拉取的终端,开始执行编译前的配置

cd linux
export CROSS_COMPILE=aarch64-linux-gnu-
export ARCH=arm64
make msm8916_defconfig
make menuconfig

具体的make配置可以参考网上公共教程,也可以直接使用默认配置进行下一步

开始编译

这里的 -j4 请根据自己CPU的核心数或虚拟机分配核心数来修改

make -j4

生成软件包

生成debian格式的deb软件包:

fakeroot make-kpkg  --initrd --cross-compile aarch64-linux-gnu- --arch arm64  kernel_image kernel_headers

生成结束后,输入 ls ../ 即可查看生成的deb文件包

保留文件

在上一级目录创建bak文件夹,将必要的文件提取出来备用

路径:arch/arm64/boot/Image.gz

设备树dtb路径:arch/arm64/boot/dts/qcom/msm8916-handsome-openstick-xxxxxx 这里要根据设备型号选择,本文使用001B设备

也可以一次性打包多个设备版本,如再拉取一个 003 的棒子的设备树(与001c通用)

mkdir ../bak
cp arch/arm64/boot/Image.gz ../bak/

cp arch/arm64/boot/dts/qcom/msm8916-handsome-openstick-ufi001b.dtb ../bak/
cp arch/arm64/boot/dts/qcom/msm8916-handsome-openstick-ufi001c.dtb ../bak/

下载底包

下载debian底包,并将解压后的rootfs.img放到bak目录内

cd ../bak
wget https://github.com/OpenStick/OpenStick/releases/download/v1/debian.zip && unzip debian.zip
mv ./debian/rootfs.img ./

解包挂载

simg2img rootfs.img root.img
sudo mount root.img /mnt
sudo mount --bind /proc /mnt/proc 
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /sys /mnt/sys

将前面生成的deb软件包复制到 /mnt 目录

sudo cp ../linux-*.deb /mnt

使用 chroot 进入挂载的系统,移除系统内原有的linux-image包,并安装刚刚生成的deb软件包,安装后删除deb文件

sudo  chroot /mnt
dpkg -l | grep -E "linux-headers|linux-image" |awk '{print $2}'|xargs dpkg -P
dpkg -i *.deb
rm linux-*.deb 

系统优化

与正常debian系统一样进行换源等常规优化操作

换源:

cat>/etc/apt/sources.list<<EOF
deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian stable main contrib non-free
deb http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free
EOF

安装常用软件并调整时区 区域:6 Asia 时区:70 Shanghai

apt install locales usbutils curl wget fdisk net-tools nano
dpkg-reconfigure locales
dpkg-reconfigure tzdata

启用Root并默认自动登录,并修改root密码(本文设置为123123)

sed -i '/PermitRootLogin /c PermitRootLogin yes' /etc/ssh/sshd_config
sed -i '/PasswordAuthentication /c PasswordAuthentication yes' /etc/ssh/sshd_config
passwd root

创建 rc.local 开机启动脚本

cat>>/etc/systemd/system/rc-local.service<<EOF
[Unit]
Description=/etc/rc.local
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target
EOF
cat <<EOF >/etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#

exit 0
EOF

systemctl daemon-reload && systemctl enable rc-local
history -c

配置结束,输入 exit 可退出

/mnt/boot/initrd**.img 取出到 bak 文件夹内备用

cp /mnt/boot/initrd.img-* ./

取消挂载并打包

取消刚刚的boot.img的挂载

sudo umount /mnt/proc 
sudo umount /mnt/dev/pts
sudo umount /mnt/dev
sudo umount /mnt/sys
sudo umount /mnt

将 boot.img 转为刷机用的 rootfs.img 格式

img2simg root.img rootfs.img

将Image和dtb合并(由于前面拉了两个设备树,这里合并两次)

cat Image.gz msm8916-handsome-openstick-ufi001b.dtb>ufi001b-kernel-dtb
cat Image.gz msm8916-handsome-openstick-ufi001c.dtb>ufi001c-kernel-dtb

将前面提取出来的 initrd**.img 改名为 initrd.img

mv initrd.img-* initrd.img

生成镜像

生成001b的镜像

mkbootimg --base 0x80000000 --kernel_offset 0x00080000 --ramdisk_offset 0x02000000 --tags_offset 0x01e00000 --pagesize 2048 --second_offset 0x00f00000 --ramdisk initrd.img --cmdline "earlycon root=PARTUUID=a7ab80e8-e9d1-e8cd-f157-93f69b1d141e console=ttyMSM0,115200 no_framebuffer=true rw" --kernel ufi001b-kernel-dtb -o ufi001b-boot.img

生成001c/003的镜像

mkbootimg --base 0x80000000 --kernel_offset 0x00080000 --ramdisk_offset 0x02000000 --tags_offset 0x01e00000 --pagesize 2048 --second_offset 0x00f00000 --ramdisk initrd.img --cmdline "earlycon root=PARTUUID=a7ab80e8-e9d1-e8cd-f157-93f69b1d141e console=ttyMSM0,115200 no_framebuffer=true rw" --kernel ufi001c-kernel-dtb -o ufi001c-boot.img

整理文件,将boot与rootfs.img整理出来(可选)

mkdir ufi_debian
mv ufi001*.img ./ufi_debian/
mv rootfs.img ./ufi_debian/

最后,将这些文件从虚拟机复制到主机,接入棒子,准备下一个环节:开始刷机

刷入系统

要想把Debian刷入到棒子内,需要在棒子的fastboot模式下刷入。如果棒子是刚做完第一章的备份工作后,只需要跳过第0节继续往下跟着做即可;如果棒子已经刷入过openwrt或者Debian等linux系统,请备份好必要资料后,看下面第0节进入fastboot模式。除了esim,务必不要插入sim卡的时候刷机,否则可能会无法检测到卡,出现这种情况重新刷入就可以了(除非刷机包有要求插卡刷入)

第0节

已刷机的棒子进fastboot

如果你的棒子是新买的并且已经做完备份工作了,可以直接跳过该小节,直接使用adb重启至fastboot

备份好必要文件后,拔下棒子

按板子上的RST按钮,并插入到电脑,此时电脑会识别到9008设备

使用第一章的软件 Qualcomm Premium Tool V2.4 ,打开后扫描分区,按下图所示格式化boot分区

格式化完成后,拔掉棒子,重新插入,即可自动进入fastboot模式

打开第一章的adb工具包 tools 文件夹,在文件夹上方地址栏输入cmd,打开cmd窗口

输入指令 fastboot devices 即可查看是否有设备连接

如果连接成功,即可开始跳转到第2节

第1节

进入到fastboot模式,如果是从第0节完成,则可以跳过这一节往下看;如果棒子刚买回来且做了备份工作后,可以看这一节进入fastboot

正常插入棒子,等待其开机,设备管理器显示adb即可

如果显示如下图,同时出现adb与9091设备,代表设备还没有完全开机,稍等片刻即可

打开第一章内的adb工具包 tools 文件夹,在文件夹上方地址栏输入cmd,打开cmd窗口

输入指令 adb devices ,查看是否有adb设备连接,如有,可继续执行指令 adb reboot bootloader

此时电脑会提示新设备接入,输入指令 fastboot devices 即可查看是否有设备连接

此时棒子成功进入fastboot模式,可以进行刷机

第2节

准备Debian\linux\openwrt刷入工具包,优先刷入ufi003(001c)

如果使用社区提供的刷机镜像压缩包,里面一般有全部分区文件和 flash.bat 刷机脚本,可以直接使用包里面的 flash.bat 一键刷入;如果只准备了rootfs.img 与 boot.img 和本文一样,那就需要下载基础包,将这俩文件放基础包内,并把 *-boot.img 改名为 boot.img 即可

基础包链接:https://www.123pan.com/s/Dpq0Vv-p9UHd.html 提取码:dkdF (本文采用这一个)

源链接:https://github.com/OpenStick/OpenStick/releases/tag/v1 (建议使用前面链接,本文有改动刷入脚本,可自动刷入lk2nd与rootfs、boot)

源链接配合源教程食用更佳:https://www.kancloud.cn/handsomehacker/openstick/2636506

将基础包下载后解压,可得到一个base文件夹。将前面生成的 rootfs.imgufi001c-boot.img 复制到该文件夹内,并将 ufi001c-boot.img 改名为 boot.img ,然后运行 flash.bat 即可开始刷入,不会超过3分钟(如果rootfs包较大,耗时也会久,如果长时间不跑进度可以尝试重新刷入,进入fastboot方法看第0节)

等显示 All done!! 之后棒子会自动重启,并尝试开机

如果在电脑里面找不到设备,可以参考文章:https://www.kancloud.cn/handsomehacker/openstick/2636506

本文结束,后续折腾请等待更新

]]>
<![CDATA[Win11 安装WSA (含Magisk/root/GApps) - Local构建方案]]> https://yanhy.top/index.php/archives/281/ 2022-11-20T23:26:00+08:00 2022-11-20T23:26:00+08:00 yanhy2000 https://yanhy.top

终于想升级到win11了,结果是因为眼馋WSLg这个功能,不过既然都到Win11了,顺手也安装一下WSA吧,既然有特性就算不用也得要装(

本篇学习自:https://www.tjsky.net/tutorial/384

前景

由于很晚才升级win11,以至于想用Magisk+GApps的WSA时,却发现Github的项目页面一个醒目的提醒:This repository has been disabled.

查了一下,原来是因为太多人用Github的Action流导致项目被封禁了,看样子云端编译是没辙了。所幸LSposed团队又出了一个项目 MagiskOnWSALocal ,我们可以使用这个项目进行本地编译,只需要有WSL子系统环境或者虚拟机Linux系统都可以编译运行。正好网上也有大佬做了博客,我就根据自己的经验二次整理了一下。


环境配置

系统环境:

  • Win系统版本:Win11 >=22000.x
  • 主板支持UEFI虚拟化(能安装WSA或者WSL就可以)
  • 微软商店:>=22110.1402.6.0
  • 运行内存:>=8G

编译环境:

  • WSL (Ubuntu20Debian10)及更高版本 或 虚拟机Ubuntu等系统


准备工作

  • 卸载现有的WSA并清除数据(可以尝试保留数据,但可能会出问题)
  • Win-设置-应用程序-可选功能--更多Windows功能-打开Hyper-v虚拟机平台 (其他虚拟机组件不影响)
  • 1.png
  • 2.png
  • 安装虚拟机(可网上自行查找教程,推荐Vmware+Ubuntu21+桌面环境+最小化安装+Vmware Tools)
  • 3.png

构建WSA安装包

不想自己构建可以去下面的“安装”章节下载本篇文章构建好的

0、 (可选) 打开Github,前往作者团队的项目MagiskOnWSALocal(https://github.com/LSPosed/MagiskOnWSALocal) 并Star,支持作者团队

1、打开虚拟机,打开终端,输入指令sudo apt update来更新软件源,稍后我们要安装几个软件包(保持网络畅通)

2、切换到Home目录,然后安装Git工具并克隆项目,如果网络不好可能会很慢,耐心等待

cd ~
sudo apt install git -y
git clone https://github.com/LSPosed/MagiskOnWSALocal.git

4.png

3、等克隆完毕且没有明显报错(报错可能就是网络不好无法继续克隆)后,切换目录到项目内

cd MagiskOnWSALocal

4、开始运行一键脚本,自动安装与配置环境

sudo ./scripts/run.sh

5.png

5、经过大概20分钟的等待,终端内会显示选项,此时开始自定义安装;如果中途有选择错误,强制退出再重新执行脚本即可

接下来的小标题格式为:菜单选项 | 大致意思 | 推荐选择

5-1、Build Arch | 编译架构 | 默认
用键盘方向键选择X64 (个人电脑一般都是Intel或者AMD,大多数为X64架构,可能也有部分Arm设备,可以自行编译试试看)

6.png

5-2、WSA release type | WSA发行类型 | 默认
一般选择retail,零售版,也解释为稳定版;如果想体验预览版,可选择Beta或者Dev通道的版本

8.png

5-3、Magisk version | 面具版本通道 | 默认
顾名思义是面具的更新通道,一般来说稳定就好,和手机上刷root用的面具玩法一样

7.png

5-4、Install GApps | 安装GApps | 是
如果没有一个好的网络环境也可以不安装,可以使用第三方安装器安装软件

9.png

5-5、Which GApps do you want to install? | 安装哪种版本的GApps | OpenGApps
推荐使用OpenGapps,体验过就明白了

10.png

5-6(略过)、Variants of gapps | 选择安装什么体积的GApps | 无
此选择目前略过,因为GApps没跟上WSA安卓版本(12)的更新,目前只有Pico量级的能用,默认跳过

5-7、 Remove Amazon Appstore | 移除亚马逊市场 | 否
憨憨亚马逊市场,app真的少,大部分游戏还都是益智游戏,建议选否,不保留

11.png

5-8、Root solution | Root解决方案 | Magisk
嗯,就一个面具,就选它,或者你不想root可以选none,这样就可以构建个无root但有GApps的WSA了

12.png

5-9、Compress output | 压缩构建包 | 是
如果你是老电脑,建议选否,压缩是一件很吃cpu的事情,虚拟机推荐压缩,方便导出文件,咱这边要分享到社区,所以选择压缩

13.png

5-10、Compress format | 压缩格式 | zip
同上述,压缩很吃cpu,7z更吃,tar.xz会好一些,但是在win下需要压缩软件支持,zip适合大众需求,空格选择,回车即确定

14.png

6、选择完成后,即可开始构建WSA安装包(会下载一些软件包,需要保持好的网络环境)

15.png

7、等待十几分钟,即可构建完毕(包体大概八百多MB)

16.png

17.png


安装WSA构建包

此处为第一次安装WSA,如果之前有WSA请先卸载再安装,如果之前也是MagiskOnWSA,需要更新的话看下文,本篇文章构建包分享:https://www.123pan.com/s/Dpq0Vv-ORuHd提取码:CcO3

1、将上一步中构建完成的包(或是本文分享的构建包)解压到D盘/WSA文件夹中,文件夹可自行创建,但解压后不可删除,解压路径即为运行路径,我给解压到了D:/Users/xxxx
(一开始没改名,改名时检测被占用,一看果然这个文件夹是WSA的本体,悲,只能等下次更新的时候找机会换掉)

21.png

(和我上一次构建的版本一样,就是不知道里面小版本有没有改,本文会放出本次构建的共享链接)
(云盘校验没通过无法秒传,看样子里面小版本可能修改过,也可能只是文件属性变了)
18.png

2、进入文件夹,找到run.bat,运行即可(图中为我上一次构建的安装,稍后会讲到更新MagiskOnWSA,那时候再把我自己的包更新了)

19.png

3、等待安装完毕,会自动打开Magisk软件与Play商店,也可能只弹出一个,但是只要能运行即可代表安装完成。我参考的那篇教程里面说,Magisk默认是没开Zygisk,需要手动安装LSposed_Zygisk,但是在本文编写的时候,Zygisk就已经内置进Magisk内了

20.png


更新MagiskOnWSA

首先,请勿在微软商店内更新WSA,并且记得关掉微软商店的自动更新
更新方法:删除上一次git克隆文件夹,重新拉取代码并重新构建,得到压缩完的构建包后,先关闭WSA(用适用于Androidtm的windows子系统设置),再解压替换文件夹,并再次运行run.bat,用户数据会被保留

(确实会保留,我那小米12的Win11WSA还在(doge))
22.png

卸载MagiskOnWSA

此处摘抄原文教程(链接在顶部)

  • 打开开始菜单
  • 点击适用于Android™ 的 windows子系统设置
  • 切换到系统窗口,找到关闭适用于Android™ 的 windows子系统,点击【关闭】按钮
  • 点击重置为默认值的【重置】按钮
  • 关闭这个字窗口,重新打开开始菜单
  • 找到适用于Android™ 的 windows子系统设置在上边右键,选择【卸载】
  • 如果你要备份应用数据,可以备份
    %LOCALAPPDATA%PackagesMicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbweLocalCacheuserdata.vhdx

安装WSAHelper(https://github.com/LSPosed/WSAHelper/releases/tag/v1.0),重新恢复开始菜单里的APP图标。

]]>