前言

实验室电脑先是搜索栏失灵,然后打更新的时候突然卡死,然后就开始无限重启。然后就只能重装系统,重装过程中,安装界面都能蓝屏,好不容易重装完发现还是会不定期突然关机重启。最后把机箱打开,研究半天,发现是内存条的问题,卸掉两根后装的内存条就没问题,白瞎了一下午的功夫重装系统。

(2023.12.18 更新软件列表 更新WSL配置)

不过系统反正也已经重装了,就好好记录一下重装以后的软件安装流程,方便以后快速重新部署。果然系统大版本升级还是全新安装最方便,从 win10 升级上去的 win11,确实总会有乱七八糟的问题。

一、系统设置

Windows 系统,默认的文档、图片、桌面这些都在 C 盘,一旦重装系统文件就全没了,所以个人一般喜欢将用户目录下的主要文件全部迁移至 D 盘。同时每块硬盘对应一个盘符,硬盘内部不再分区。具体迁移盘符自定,跟系统安装所在物理硬盘不在一起最好。同时由于长期拼团 Office 365,故而 Onedrive 的 1T 存储空间也是常用,多设备文档同步真的很好。

  1. 更改用户文件存储位置:

    开始-设置-系统-存储-高级存储设置-保存新内容的地方。新的应用离线地图仍保留在 C 盘不动,其余新的文档新的音乐新的照片和视频新的电影和电视节目几项,全部更改到 D 盘。此时 D 盘根目录会生成新用户名目录,名称为在系统安装过程中登录的微软账号前五位,这里也建议全部系统都用同样的账号登录,可以保证用户目录一致,方便多设备同步设置,尤其是涉及到用户目录的环境变量。

  2. 更改用户目录路径:(存储位置改完以后,系统快速访问的目录还是原始路径,需要额外修改)

    资源管理器-本地磁盘 C-用户-用户名。将该目录除 OneDrive 意外的文件夹全部迁移,迁移方式为右键单击文件夹-属性-位置,将C:\User改为D:

  3. 迁移 OneDrive 路径:(Onedrive 默认保存在 C 盘用户目录中,严重占用 C 盘空间)

    首先关闭 OneDrive 应用,随后在前一步提到的目录中直接删除 OneDrive,然后再次打开 OneDrive。此时会要求重新登录,登录后在提示框下方有修改存储路径的选项,将存储路径改到 D 盘对应用户名目录,随后再次修改桌面文档图片三项,将存储目录直接转移到 OneDrive 中,这样可以多设备同步数据,同时可以间接做到微信聊天记录的迁移,新设备只需要完全下载 wechat 目录下的文件,然后安装登录微信就可以无缝保留全部聊天记录。

二、软件安装

之前由于经常折腾电脑导致重装,我有备份所有安装软件的习惯,但是随着 win11 的推进,winget命令成为了我安装软件的首先。该命令类似 win 下的 choco,linux 下的 yum 和 apt,不过是微软第一方提供的。可以直接安装大部分软件,唯一的缺点就是全脚本化的安装方式,导致所有软件直接装在了 C 盘,同时不能自己设置安装选项。不过在大容量固态降价的现在,软件全装 C 盘也方面运行和管理。全部软件安装,以 winget 为主,少部分无法搜索到的软件从官网安装,坚决不用各种腾讯软件管家、360 软件管家之类的流氓软件,特定几个软件直接从微软应用商店安装。

2.1 常用工具

  1. 火绒安全(安全工具)

    1
    winget install HuorongSysdiag
  2. IDM 下载器(下载工具,付费)

    1
    winget install Tonec.InternetDownloadManager
  3. Iobit uninstall(软件安装监控工具,付费)

    1
    winget install IObit.Uninstaller
  4. Hash TabOpenHashTab(文件哈希校验)

    1
    winget install namazso.OpenHashTab
  5. Everything(搜索工具)

    1
    winget install voidtools.Everything
  6. 7-Zip(压缩工具)

    1
    winget install 7zip.7zip
  7. Adguard(广告拦截工具,付费)

    1
    winget install AdGuard.AdGuard
  8. TrafficMonitor(网速/内存/CPU/GPU 监控)

    https://url.superheaoz.top/trafficmonitor

  9. RustDesk ToDesk(远程桌面)

    1
    winget install youqu.todesk
  10. KeePass Bitwarden(密码管理工具)

    1
    winget install Bitwarden.Bitwarden
  11. PotPlayer(播放器)

    1
    winget install Daum.PotPlayer
  12. qBittorrent(BT 下载器)

    1
    winget install qBittorrent.qBittorrent
  13. OBSStudio(录屏工具)

    1
    winget install OBSProject.OBSStudio

2.2 效率&通讯工具

  1. 微信

    1
    winget install Tencent.WeChat
  2. QQ(推荐 TIM)

    1
    winget install Tencent.QQ.NT
  3. 腾讯会议

    1
    winget install Tencent.TencentMeeting
  4. 钉钉

    1
    winget install Alibaba.DingTalk
  5. 飞书

    1
    winget install ByteDance.Feishu
  6. Discord

    1
    winget install discord.discord
  7. Telegram

    1
    winget install Telegram.TelegramDesktop --source winget
  8. Office 365(文档工具,付费)

    install by Office Tool Plus

  9. Visio(流程图,付费)

    install by Office Tool Plus

  10. Xmind(思维导图)

    1
    winget install XMind.XMind
  11. Adobe Acrobat DC(PDF 阅读器,付费)

    1
    winget install Adobe.Acrobat.Reader.64-bit
  12. Zotero(文献管理工具)

    1
    winget install Zotero.Zotero
  13. 网易有道翻译

    1
    winget install Youdao.YoudaoTranslate
  14. Qsync(威联通同步工具)

    1
    winget install QNAP.Qsync
  15. MikTex(Latex 工具)

    1
    2
    3
    winget install MiKTeX
    # support for latex generate
    winget install StrawberryPerl.StrawberryPerl
  16. Pandoc(文档工具)

    1
    winget install JohnMacFarlane.Pandoc
  17. Obsidian(笔记工具)

    1
    winget install Obsidian.Obsidian
  18. 腾讯会议

    1
    winget install Tencent.TencentMeeting
  19. 腾讯文档

    1
    winget install Tencent.TencentDocs
  20. 阿里云盘

    1
    winget install Alibaba.aDrive

2.3 娱乐工具

  1. Steam

    1
    winget install Valve.Steam
  2. Wallpaper Engine(动态桌面壁纸,付费)

    from steam

  3. Epic

    1
    winget install EpicGames.EpicGamesLauncher
  4. 网易云音乐

    1
    winget install NetEase.CloudMusic.Beta

2.4 开发工具

  1. oh-my-posh(命令行美化工具)

    1
    winget install JanDeDobbeleer.OhMyPosh
  2. PowerToys

    1
    winget install Microsoft.PowerToys
  3. Termius(终端工具)

    1
    winget install Termius.Termius
  4. OpenVPN(内网工具)

    1
    winget install OpenVPNTechnologies.OpenVPNConnect
  5. Clash(内网工具)

  6. Git

    1
    winget install git.git
  7. NVS(nodejs 版本管理)

    1
    winget install jasongin.nvs
  8. MiniConda(python 版本管理)

    1
    winget install Anaconda.Miniconda3
  9. Go

    1
    winget install GoLang.Go
  10. Java

    1
    winget install  EclipseAdoptium.Temurin.21.JDK
  11. Docker

    1
    winget install Docker.DockerDesktop
  12. Postman

    1
    winget install Postman.Postman
  13. JetBrain

    1
    winget install JetBrains.Toolbox
  14. VisualStudio

    1
    winget install Microsoft.VisualStudio.2022.Community
  15. vscode

    1
    winget install Microsoft.VisualStudioCode

2.5 其他工具

  1. Nvidia GeForceExperience(显卡工具)

    1
    winget install Nvidia.GeForceExperience
  2. GHUB,Option+(罗技驱动工具)

    1
    2
    3
    winget install Logitech.GHUB

    winget install Logitech.OptionsPlus
  3. DisplayManager(Dell 显示器管理)

    1
    winget install winget install Dell.DisplayManager
  4. 小米云服务

    1
    winget install Xiaomi.XiaomiCloud
  5. 小米电脑管家

    1
    自行参考酷安教程
  6. Office Tool Plus(Office 安装工具)

    https://url.superheaoz.top/otp

2.6 微软应用商店

  1. AV1 Video Extension
  2. MPEG-2 视频扩展
  3. 原始图像扩展
  4. MicroSoft 远程桌面
  5. Dolby Atmos for headphones
  6. Dolby Access
  7. Windows Subsystem for Linux Preview
  8. Ubuntu

三、软件设置

默认安装的软件,大部分都是开箱即用,少部分需要进行一定的配置.

  1. oh-my-posh

    参考 Windows终端美化

  2. NVS

    1
    2
    nvs add lts
    nvs link lts
  3. MiniConda

    参考 镜像源修改
    注:如试图安装Stable Diffusion,请不要切换pip软件源,会找不到部分软件。

  4. WSL

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    # for system info
    sudo apt install screenfetch
    # for proxy (WSL2 版本小于2.0)
    sudo vi /etc/profile.d/proxy.sh

    host_ip=$(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ")
    export http_proxy="http://$host_ip:yourport"
    export https_proxy="http://$host_ip:yourport"

    # for node.js
    vi ~/.bashrc

    export NVS_HOME="$HOME/.nvs"
    source nvs.sh

    nvs add lts
    nvs default lts

    # for java
    sudo apt install zip unzip
    curl -s "https://get.sdkman.io" | bash
    sdk install java 21.0.1-zulu
    sdk install maven

    # for rust
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

    WSL2 2.0版本及以上,修改用户目录下.wslconfig文件,开启网络镜像模式即可。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [wsl2]
    processors=24 # CPU调用数量
    memory=16GB # WSL内存分配数量
    swap=16GB # WSL 虚拟内存数量
    localhostForwarding=true # 启动本地端口转发
    [experimental]
    networkingMode=mirrored # 启动镜像模式网络,支持IPV6
    dnsTunneling=true
    firewall=true
    autoProxy=true # 启动自动代理切换,系统设置全局代理,WSL环境会自动配置相关变量
  5. vscode(settings.json)

    以下中文注释部分需要自行修改

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    {
    // config for ignore
    "settingsSync.ignoredSettings": [
    "z-reader.fileDir",
    "projectManager.git.baseFolders"
    ],
    // config for terminal
    "terminal.integrated.fontFamily": "JetBrainsMono NF",
    "terminal.integrated.inheritEnv": false,
    // config for windows terminal
    "terminal.integrated.profiles.windows": {
    "PowerShell": {
    "source": "PowerShell",
    "icon": "terminal-powershell"
    },
    "Command Prompt": {
    "path": [
    "${env:windir}\\Sysnative\\cmd.exe",
    "${env:windir}\\System32\\cmd.exe"
    ],
    "args": [],
    "icon": "terminal-cmd"
    },
    "Git Bash": {
    "source": "Git Bash"
    }
    },
    "terminal.integrated.defaultProfile.windows": "PowerShell",
    "terminal.integrated.env.windows": {},
    // config for linux terminal
    "terminal.integrated.profiles.linux": {
    "bash": {
    "path": "bash",
    "icon": "terminal-bash"
    },
    "zsh": {
    "path": "zsh"
    },
    "fish": {
    "path": "fish"
    },
    "tmux": {
    "path": "tmux",
    "icon": "terminal-tmux"
    },
    "pwsh": {
    "path": "pwsh",
    "icon": "terminal-powershell"
    }
    },
    "terminal.integrated.defaultProfile.linux": "bash",
    "terminal.integrated.automationProfile.linux": null,
    // config for java
    "redhat.telemetry.enabled": false,
    "java.errors.incompleteClasspath.severity": "ignore",
    "java.project.importOnFirstTimeStartup": "automatic",
    //java工作环境目录,视自身安装路径设置
    "java.jdt.ls.java.home": "d:\\Workspace\\Environment\\Java\\jdk-11",
    "java.configuration.runtimes": [
    {
    "name": "JavaSE-1.8",
    "path": "d:\\Workspace\\Environment\\Java\\jdk1.8.0_261"
    },
    {
    "name": "JavaSE-11",
    "path": "d:\\Workspace\\Environment\\Java\\jdk-11",
    "default": true
    }
    ],
    "java.completion.favoriteStaticMembers": [
    "org.junit.Assert.*",
    "org.junit.Assume.*",
    "org.junit.jupiter.api.Assertions.*",
    "org.junit.jupiter.api.Assumptions.*",
    "org.junit.jupiter.api.DynamicContainer.*",
    "org.junit.jupiter.api.DynamicTest.*",
    "org.mockito.Mockito.*",
    "org.mockito.ArgumentMatchers.*",
    "org.mockito.Answers.*"
    ],
    //摸鱼插件Z-reader设置,未安装可删除
    //文件路径视需求设置
    "z-reader.fileDir": "D:\\Workspace\\Notebook\\Z-reader",
    "z-reader.onlineSite": "笔趣阁",
    "z-reader.encoding": "utf8",
    "z-reader.chapterOrder": "顺序",
    "z-reader.cookies": [],
    // config for python
    "python.defaultInterpreterPath":
    // username改为自己的用户名
    "C:\\Users\\username\\miniconda3\\python.exe",
    "python.languageServer": "Pylance",
    //config fot editor
    "diffEditor.wordWrap": "off",
    "editor.suggestSelection": "first",
    "editor.fontFamily": "'Cascadia Code',Consolas, 'Courier New', monospace",
    "editor.codeLensFontFamily": "JetBrainsMono NF",
    "editor.fontLigatures": true,
    "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
    "editor.guides.indentation": false,
    "editor.guides.bracketPairs": false,
    "editor.inlayHints.enabled": "on",
    "editor.fontSize": 16,
    "editor.defaultFormatter": "esbenp.prettier-vscode",
    "[python]": {
    "editor.defaultFormatter": "ms-python.python"
    },
    "editor.inlineSuggest.enabled": true,
    "editor.unicodeHighlight.nonBasicASCII": false,
    "editor.wordWrap": "off",
    "editor.tokenColorCustomizations": {},
    "editor.semanticTokenColorCustomizations": {},
    "editor.codeActionsOnSave": {},
    //config for workbench
    "workbench.iconTheme": "vscode-icons",
    "workbench.colorTheme": "GitHub Dark Dimmed",
    "workbench.editorAssociations": {
    "*.ipynb": "jupyter-notebook"
    },
    "workbench.colorCustomizations": {
    "editor.lineHighlightBackground": "#1073cf2d",
    "editor.lineHighlightBorder": "#9fced11f"
    },
    //config for search & flie
    "search.exclude": {
    "**/build/*": true,
    "**/bazel-out/*": true,
    "**/bazel-ray/*": true,
    "**/bazel-testlogs/*": true
    },
    "files.exclude": {
    "**/.classpath": true,
    "**/.project": true,
    "**/.settings": true,
    "**/.factorypath": true
    },
    "files.autoSave": "afterDelay",
    "files.eol": "\n",
    //config for git
    "git.ignoreLegacyWarning": true,
    //config for latex-workshop
    "latex-workshop.view.pdf.viewer": "tab",
    //config for cmake
    "cmake.configureOnOpen": true,
    //config for privacy
    "telemetry.telemetryLevel": "off",
    //项目管理器插件配置,需改为自己的目录
    "projectManager.git.baseFolders": ["D:\\Workspace\\My Project"],
    "blockman.n01LineHeight": 0,
    //系统代理配置,需根据需求自行修改
    "http.proxy": "http://127.0.0.1:7890",
    "git.autofetch": true
    }
  6. Obsidian

    参考 Post not found: Obsidan日记、记账与自动同步

四、总结

在采用 winget 方式并且大范围使用免费软件和支持云同步的软件以后,重装系统到完全恢复工作环境,在网速可靠的情况下,只需要半天时间。远快于之前动辄一天的安装流程。