TheUnknownThing的技术分享站

Stay Hungry, Stay Foolish

纯IPv6小鸡安装Windows系统踩坑记录

默认分类 0 评 36 阅读

如果你恰巧和我一样,有一台高配置的云主机(我使用的是Afly的黑五小鸡),主机上又没有提供Windows镜像。那么可以考虑尝试一下自己DD系统。

什么是DD系统?

正如其名,DD系统本意就是使用dd命令把vhd文件弄到一个特定分区中,然后配置引导文件,随后便可启动。不过随着脚本的演化,也衍生出了很多功能(比如可以通过img或者iso镜像安装,救援系统)。但这并不是重点,本教程希望介绍一下我在使用这个脚本中踩到的坑,以及具体怎么解决。

我的环境配置

先介绍本次使用的环境(这些配置可能看起来有点特别,但正是这些特殊性让我遇到了一些有趣的问题):

  • CPU:3 Core AMD Ryzen 9 9950X
  • RAM:4.5GB
  • SSD:125GB
  • Network:IPv6 /128 Only (没错,就是纯IPv6环境,没有IPv4访问权限!而且只分配了/128的IPv6,为后文埋下伏笔)

准备工作

使用的脚本

我选择了这个脚本:https://github.com/bin456789/reinstall

强烈建议你先仔细查看该脚本的README,仓库中有非常详细地关于如何使用脚本的教程。

系统镜像选择

使用的镜像来自秋水逸冰大佬的镜像,可以搜索https://teddysun.com/?s=DD来找到自己喜欢的镜像。我这次选择了Windows 10 LTSC,因为这个版本相对清爽一些。

省流版安装命令

如果你比较着急,这里是最基础的安装命令:

# 先下载脚本
curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh || wget -O reinstall.sh

# 然后执行安装
bash reinstall.sh dd --img https://dl.lamp.sh/vhd/zh-cn_windows10_ltsc.xz

记得提前安装curl(如果你系统中还没有的话)

第一个坑:DNS配置不正确

这个问题主要是因为我的特殊网络环境造成的。脚本的Alpine环境中,DNS配置不正确,导致无法从网络上下载文件。下面是我的解决方案:

#!/bin/sh

# 更改 /etc/resolv.conf 文件
echo "nameserver 2001:4860:4860::8888" > /etc/resolv.conf
echo "nameserver 2001:4860:4860::8844" >> /etc/resolv.conf

if [ -f /etc/systemd/resolved.conf ]; then
    echo "[Resolve]" >> /etc/systemd/resolved.conf
    echo "DNS=2001:4860:4860::8888" >> /etc/systemd/resolved.conf
    echo "DNS=2001:4860:4860::8844" >> /etc/systemd/resolved.conf
    systemctl restart systemd-resolved
fi

echo "DNS 已成功更改为 Google IPv6 DNS"

当然,如果你是正常的双栈环境,这个问题应该不会遇到。

第二个坑:密码设置陷阱

这个坑我觉得特别有意思:脚本一开始运行时会提示让你输入密码,但这个密码并不是你后续登录Windows的密码!尽管脚本README提示了,但是我就是眼瞎。

实际上,登录Windows的密码是由镜像决定的。比如我使用的秋水逸冰的镜像:

  • 用户名是:Administrator
  • 密码是:Teddysun.com

第三个坑:Windows的IPv6隐私保护

这是个让我困扰了好久的问题。如果你在Windows电脑上运行ipconfig /all,你可能会发现有"临时地址"这么一说。这是因为Windows会"保护你的上网隐私",但在我这种只有/128的IPv6环境下,这反而成了问题:外界访问你的机器是通过那个固定的IP地址,但你的机器访问外界网站却用临时地址,这就导致能远程桌面连接,但访问不了外网。

解决方案也很简单,用管理员权限打开命令提示符:

netsh interface ipv6 set privacy state=disable
# 然后重启网卡就好了

第四个坑:纯IPv6环境的补救方案

这个问题也是源于我的特殊网络环境。没有IPv4访问权限确实很不方便,所以我使用了Cloudflare WARP来提供IPv4访问。但是要注意,如果直接使用Windows版的WARP,开启后会导致你的IPv6地址也变成WARP的地址,这样你就再也连不上远程桌面了!

我使用了Nodeseek论坛上一位老哥提供的方案(原帖链接):

  1. 下载安装CloudFlare WARP官方客户端
  2. 在WARP设置里:

    • 点击右下角小齿轮→偏好设置
    • 高级→配置代理模式
    • 启用代理模式,设置一个好记的端口

相当于在你本地有一个Cloudflare提供IPv4出口的socks,这时候你喜欢怎么用都行了,你喜欢switchyomega,又或者是别的,你可以自己配置。这样配置后,就能在保持远程桌面连接的同时获得IPv4访问能力了。

第五个坑:LTSC的小问题

如果你和我一样选择了LTSC 2021版本的Windows,可能会发现wsappx这个服务总是在后台运行。这个问题其实在远景论坛上有解决方案,感兴趣的可以看看这个帖子:LTSC优化教程

快来做第一个评论的人吧~

:D 获取中...