• N100低功耗win11安装wsl2当入门nas


    前言

    最近入了一台16gb+512gb的N100,想着用来存些资源,当个nas,偶尔要用用windows系统,所以想直接在这上面搞个虚拟机算了,WSL2似乎是一个不错的选择,下面介绍捣鼓的教程。

    没用公网情况下 使用tailscale

    之前向电信申请了一个公网ip,后来公网ip被收回了,打电话要了几次还是没有公网ip,只能以tailscale代替,如果有公网ip,则可以跳过这一步。

    Download · Tailscale

    进入上述链接下载,然后注册账户登录即可

    安装JellyFin

    [231129]Jellyfin中国特供版+Docker镜像,含驱动,免折腾开箱即用 - 电脑讨论(新) - Chiphell - 分享与交流用户体验

    JellyFin使用这个版本进行安装

    安装WSL2

    需要在BIOS开启虚拟化选项,可以在任务管理器看到有没有开启:

    image-20231214171820407

    开启下述三个功能:

    image-20231214172143225

    image-20231214171907581

    打开Power Shell 以管理员命令输入下方代码:

    bcdedit /set hypervisorlaunchtype auto
    

    使用下述命令安装WSL

    wsl --install -d Ubuntu
    

    完成完成后可以使用以下命令

    升级内核的命令

    wsl --update
    

    重启命令

    内核升级完成以后,电脑重启才会生效,这个可以用命令重启

    wsl -l -shutdown
    

    查看当前系统版本

    wsl -l -v
    

    切换版本命令

    wsl --set-default-version 2 #切换到WSL2
    wsl --set-default-version 1 #切换到WSL1
    

    【重要】开启wsl2镜像模式

    在镜像模式下,wsl2的网络模式和wsl1的网络模式相同,都是处于同一网络,有以下的好处:

    1. 在wsl2跑的服务,在windows里面通过localhost:端口号即可访问。

    2. Windows本地使用代理(如clash)后,WSL2也可以走clash代理。(需要开启tun模式)

    3. 在前面装的内网穿透工具(Tailscale),也可以直接打洞到wsl2。

    操作步骤:

    1. 使用镜像模式需要将win11升级到23H2,没有收到推送的可以加入 Windows Insider即可收到推送

    2. 更新WSL到2.0版本以上,使用wsl —update,如果版本还是低,则用 wsl —update —pre-release

    3. 在Windows用户目录下,新建.wslconfig的配置文件,写入如下信息:

    [wsl2]
    memory=8G  #配置虚拟机最大使用内存,按需,默认Windows主机内存的1/2
    [experimental]
    autoMemoryReclaim=gradual # 检测到空闲CPU后自动释放缓存内存。设置gradual为缓慢释放,设置dropcache为立即释放缓存内存。
    sparseVhd=true
    networkingMode=mirrored # 如果值为mirrored则这将打开镜像网络模式。默认会设置为NAT。
    dnsTunneling=true
    firewall=true
    hostAddressLoopback=true # 允许使用如192.168.1.10+端口这种方式来访问(不加的话只能通过localhost)
    autoProxy=true #强制WSL使用Windows的HTTP代理信息
    

    保存文件后重启

    `wsl —shutdown`
    

    再启动WSL。

    如果在WSL中使用Docker,从本机访问不了Docker中启动的服务的话,给Docker添加下面配置( sudo vim /etc/docker/daemon.json

    {
      "iptables": false
    }
    

    然后重启Docker

    sudo service docker restart
    

    在WSL2开启ssh和root账户

    WSL2下的Ubuntu默认是支持SSH的,需要开启的,手动编辑下SSH服务的配置文件。

    切换到root用户之后,用vi命令打开SSH的配置文件。

    vi /etc/ssh/sshd_config
    

    进入之后,修改以下配置

     Port = 22 去掉这行的#,代表启用端口号22
     ListenAddress 0.0.0.0 去掉这行的#,代表监听所有地址
     PasswordAuthentication yes 将这行的no改成yes
    

    将下面这行改为yes

    PermitRootLogin prohibit-password
    

    修改为:

    PermitRootLogin yes
    

    esc-> wq,,重启一次SSH服务

    sudo service ssh restart
    

    设置开机自启ssh

    sudo systemctl enable sshd
    

    测试在外网使用tailscale,用tailscale的ip+22端口,成功用root账户登录。

    在WSL2里面安装CasaOS与Docker

    使用以下命令,安装casaos的时候会自动安装docker,装的过程会出现推荐使用docker for windows的字样,等待20s即可

    curl -fsSL get.casaos.io/install.sh | sudo bash
    
    

    不装casaos 只装docker

    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
    sudo service docker start
    

    常用的Docker镜像和使用

    这里给出迅雷,aria2 pro,ariang,alist四个镜像

     docker run -d --name=xunlei --hostname=mynas -p 2345:2345  -v /mnt/c/Docker/xunlei:/xunlei/data -v /mnt/c/Docker/downloads:/xunlei/downloads --restart=unless-stopped --privileged cnk3x/xunlei:latest
    
    docker run -d --name aria2 --restart unless-stopped --log-opt max-size=1m -e PUID=$UID -e PGID=$GID -e UMASK_SET=022 -e RPC_SECRET=12345678 -e RPC_PORT=6800 -e LISTEN_PORT=6888 -p 16800:6800 -p 16888:6888 -p 16888:6888/udp -v /mnt/c/Docker/aria2/config:/config -v /mnt/c/Docker/downloads:/downloads  p3terx/aria2-pro
    
    
    docker run -d     --name ariang     --log-opt max-size=1m     --restart unless-stopped     -p 6880:6880     p3terx/ariang
    
    
    docker run -d --restart=always -v /mnt/c/Docker/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest
    

    一键安装的docker-compose.yml文件:

    version: '3'
    
    services:
      aria2:
        image: p3terx/aria2-pro
        container_name: aria2
        restart: unless-stopped
        logging:
          options:
            max-size: 1m
        environment:
          - PUID=$UID
          - PGID=$GID
          - UMASK_SET=022
          - RPC_SECRET=12345678
          - RPC_PORT=6800
          - LISTEN_PORT=6888
        ports:
          - "16800:6800"
          - "16888:6888"
          - "16888:6888/udp"
        volumes:
          - /mnt/c/Docker/aria2/config:/config
          - /mnt/c/Docker/downloads:/downloads
    
      ariang:
        image: p3terx/ariang
        container_name: ariang
        restart: unless-stopped
        logging:
          options:
            max-size: 1m
        ports:
          - "6880:6880"
    
      alist:
        image: xhofe/alist:latest
        container_name: alist
        restart: always
        volumes:
          - /mnt/c/Docker/alist:/opt/alist/data
        ports:
          - "5244:5244"
        environment:
          - PUID=0
          - PGID=0
          - UMASK=022
    
      xunlei:
        image: cnk3x/xunlei:latest
        container_name: xunlei
        hostname: mynas
        restart: unless-stopped
        privileged: true
        ports:
          - "2345:2345"
        volumes:
          - /mnt/c/Docker/xunlei:/xunlei/data
          - /mnt/c/Docker/downloads:/xunlei/downloads
    
    

    保存文件后,运行 docker-compose up -d 启动所有服务。

    挂载目录均是C盘下的Docker文件夹。

    aria2的使用可以参考这篇博客:

    docker安装aira2 pro与ariang以及alist推送下载的配置 - Scotyzh - 博客园 (cnblogs.com)

  • 相关阅读:
    为华生物胆固醇聚乙二醇氨基CLS-PEG-NH2的简介及应用说明
    Spring Security(6)
    【20221105】【每日一题】删除二叉搜索树中的节点
    计算机毕业设计ssm+vue基本微信小程序的手机预约维修系统
    使用Axure RP和内网穿透技术制作静态站点并实现公网访问
    处理 S4过账时的错误:“更正统一日记账分类账的定制设置”
    [无监督学习] 15.详细图解混合高斯分布
    spring学习小笔记
    LeetCode20.有效的括号
    “综合”web项目编写------手把手0基础教学(一)
  • 原文地址:https://www.cnblogs.com/Johnyzh/p/17901999.html