N100低功耗win11安裝wsl2當入門nas

2023-12-15 06:00:47

前言

最近入了一臺16gb+512gb的N100,想著用來存些資源,當個nas,偶爾要用用windows系統,所以想直接在這上面搞個虛擬機器器算了,WSL2似乎是一個不錯的選擇,下面介紹搗鼓的教學。

沒用公網情況下 使用tailscale

之前向電信申請了一個公網ip,後來公網ip被收回了,打電話要了幾次還是沒有公網ip,只能以tailscale代替,如果有公網ip,則可以跳過這一步。

Download · Tailscale

進入上述連結下載,然後註冊賬戶登入即可

安裝JellyFin

[231129]Jellyfin中國特供版+Docker映象,含驅動,免折騰開箱即用 - 電腦討論(新) - Chiphell - 分享與交流使用者體驗

JellyFin使用這個版本進行安裝

安裝WSL2

需要在BIOS開啟虛擬化選項,可以在工作管理員看到有沒有開啟:

開啟下述三個功能:

開啟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)