鉴于笔记本可能还有潜在问题,重装系统的风险较高,这里记录一下系统重装的主要流程,以及日常使用的主要软件等,便于恢复。

准备工作

关于账号问题,目前使用outlook个人邮箱的微软账号联网登录,不使用本地账号登录,便于同步。

如果已经使用了本地ASUS管理员账号登录,可以重新添加一个联网的微软账号,然后将联网账号设置为管理员,反过来删除AUSU账号。

清理预装软件

  • 杀毒软件迈卡菲
  • 华硕大厅,华硕管家等
  • 极智浏览器
  • office365,自带的office套件(只能完整使用几天,不如直接卸载重装)
  • 预装的其他没用的东西

升级系统

默认安装的系统很可能是家庭中文版,首先随便找一个密钥升级为专业版,然后下载英文语言包,切换为英文版系统。 这里选择在安装其他软件之前切换语言,避免在中文系统中安装软件时残留了很多中文信息(注册表,右键菜单,开始菜单等)。

系统本身在切换中英文时,就有很多的中文信息残留,处理办法没有找到。有的必须的办公软件(QQ,百度网盘等)只支持中文版,这是没有办法的。

Windows在升级专业版并切换到中文版之后,会出现中文字体显示错误的问题,典型的现象是在Edge浏览器的输入框中输入这个汉字,有时会显示成日文字体,点被换成了竖线。 因为对于英文版系统,在显示中文时的查找顺序中,日文字体在中文字体之前。

解决办法是破坏性的:直接修改注册表,查找如下的项

1
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts

删除了 Yu Gothic 开头的 4 个 和 Microsoft JhengHei 开头的 3 个日语字体。 这可能导致当前系统在日语显示上的字体问题,但是我不需要显示日文字体,无所谓。

在切换英文版之后,将区域设置改成新加坡,避免一些软件的区域限制问题,然后将当前设置复制到新用户和欢迎页面上。 对non-unicode程序需要的代码页,仍然保留为简体中文(代码页chcp 936),不选择启用beta性质的utf-8代码页,否则有的中文软件和中文脚本无法正常工作。

文件目录

对于文件管理器,必须进行几处修改:显示文件后缀名,显示隐藏的文件和文件夹,不显示系统保护的文件夹,关闭对磁盘的Bitlocker加密保护(磁盘的图标有个锁)。

在文件系统中划分3个磁盘:C盘是系统盘,D盘是应用和编程,E盘是文档数据等,每一个盘约500G。对于新内容的保存位置,在设置界面中全部改成E盘。

在文件管理器中,对于几个有图标的特殊文件夹(后三个基本上是空文件夹)

  • Desktop
  • Documents
  • Downloads
  • Music
  • Pictures
  • Videos

在它们的属性页面中将其改成E盘中的路径,例如E:\<user>\Desktop

E盘用户名目录下的主要文件夹结构为:

  • Desktop
  • Downloads:默认下载位置
  • QQDownloads:QQ下载文件位置
  • WechatDownloads:微信下载文件位置
  • BaiduNetdiskDownload:百度网盘下载文件位置
  • Documents
    • MATLAB
    • Wolfram Mathematica
    • Tencent Files:腾讯软件的数据库位置,不是下载文件位置
    • Powershell:关于pwsh的插件和配置文件位置
    • ...
  • Zotero7:Zotero数据库位置,文献的PDF实际存储在里面
  • Music, Pictures, Videos:通常是空的

在安装了主要软件之后,D盘根目录下的主要文件夹结构为:

  • Dropbox
  • OneDrive
  • WSL2
  • BlogBase:Hexo博客
  • Home:启动powershell时的默认位置,用来替换C盘中的家目录
  • ProgramHuge:大型软件
  • ProgramMain:主要软件
  • ProgramLang:编程相关软件
  • ProgramSmall:小型或绿色软件
  • ProjectBackup:项目备份位置,对一些重要的项目压缩备份
  • ProjectRoot:项目文件夹
    • Develop:与学习无关的项目
    • Work:与学习强相关的项目
    • Test:简单的测试,例如TestPython,TestJava等
  • ProjectTemp:临时的项目文件夹,主要是从Github下载下来学习的仓库

记录一下目前(2024年9月5日)几个软件文件夹的目录。

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
- ProgramHuge/
- CUDA/
- Mathematica/
- MATLAB/
- texlive/
- VMwarePro17/
- ProgramLang/
- clang+llvm-18.1.2-x86_64-pc-windows-msvc/
- cmake/
- Git/
- julia-1.10.2/
- lua-5.4.6/
- miniconda3/
- ninja/
- nodejs/
- winlibs-mingw-w64-14.2.0/
- xmake/
- ProgramMain/
- BaiduNetdisk/
- Bandizip/
- Clash.for.Windows-0.20.39-win-CN/
- CloudMusic/
- Huorong/
- Microsoft VS Code/
- Steam/
- Tencent/
- Typora/
- Zotero7/
- ProgramSmall/
- Everything/
- Notepad3/
- pandoc-3.1.12.2/
- PicGo/
- ScreenToGif/
- SQLite3/
- SumatraPDF/
- wget-1.21.4-win64/

主要软件

首先列举一下日常使用的大型软件:(软件安装包比较大,下载安装比较麻烦的)

  • TeXLive 2023:安装包约5G,可以从镜像站下载,安装过程大约半个小时,安装调整一下安装位置即可,并且不建议精简其中的组件,全套安装比较省事;(后续还需要在系统中安装字体)
  • MATLAB 2023b:由于被禁了,选择下载破解版本,具体流程见下文。
  • Mathematica 14.0.0:本体安装包约2G,中文帮助文档约5G,(USTC正版软件提供了Mathematica,但是版本不是最新的),这里选择Mathematica 激活指南提供的资源,包括通过百度网盘获取的安装包和在线注册机。先安装本体,然后安装中文帮助文档,注意只有软件自身使用中文时,才会调用本地的中文帮助文档;
  • Office:直接从USTC正版软件下载一个最新版,使用USTC正版软件提供的KMS激活脚本(管理员打开)激活即可,可以使用个人账号登录。

MATLAB的安装和激活操作流程如下(参考激活指南需要断网操作!

  • 解压并装载iso文件,点击setup.exe启动安装(教程中使用的是管理员运行,但是我没有用)
  • 安装时选择使用文件安装密钥进行安装,输入资源包中提供的一串密钥数字
  • 使用许可证文件license.lic
  • 修改安装位置,正常完成安装
  • 找到安装目录下的\bin\win64\matlab_startup_plugins\lmgrimpl目录,将里面的动态库libmwlmgrimpl.dll替换为资源包中的同名文件

基础的工具软件:

  • Notepad3:用来代替默认记事本,改一下配置,开启显示:tab,空格,换行符(LF/CRLF);
  • everything:比微软提供的搜索好用无数倍
  • Typora:它限制只能支持两台设备激活,配置中值得修改的是换行符还有图片的处理
  • SumatraPDF:安装版即可(绿色版可以放到U盘里),配置中值得改的是默认打开方式和是否启用tab,为了VS Code的双向跳转,将它的路径也添加到环境变量PATH;
  • 火绒安全:这个不需要什么配置,改一下安装位置即可;
  • Bitwarden(以及edge的Bitwarden插件):无法自定义安装位置,并且初次登录时需要的真人验证很恶心;
  • Bandizip:使用的是无广告的旧版本6.26,使用祖传安装包进行安装,设置一下对压缩包的代码页自动检测,并且关联常见的压缩包格式;
  • 百度网盘:先安装这个是因为Mathematica之类的软件必须通过百度网盘下载,在网页都下载不了,安装后改一下默认下载位置;
  • Clash for windows:作者虽然删库跑路了,但是还是可以用的,下载(英文版或中文版)安装后,加上订阅链接即可,先安装这个是因为有的软件使用的是谷歌账号登录,必须先安装Clash;
  • Git:安装到合适的位置,注意它不是压缩包而是一个安装程序,有很多的安装选项,目前的选项为使用vim编辑提交文本,不将Git附带的那些工具所在的路径加入环境变量PATH。

还有日常高频使用的软件:

  • QQ(NT版),改一下安装位置,登录之后再改一下默认下载位置(E:\<user>\QQDownloads)和聊天记录保存位置(E:\<user>\Documents\Tencent Files);
  • 微信,改一下安装位置,登录之后再改一下文件下载位置(E:\<user>\WechatDownloads\WeChat Files);
  • QQ影音,这个在官网已经下架了,使用祖传安装包进行安装;
  • Zoom,安装时无法改变位置,只能装在默认位置,日常使用并不需要科学上网;
  • Onedrive,通过个人账户邮箱登录使用,改变一下Onedrive在文件系统中的位置(D:\OneDrive);(个人版的Onedrive只有5G的空间,在考虑要不要付费)
  • Dropbox,不管是下载还是使用都需要科学上网,改变一下Dropbox在文件系统中的位置(D:\Deopbox)。
  • Edge,这是系统默认的浏览器,升级一下版本,然后在登录个人微软账号同步书签和收藏等,最后加上几个插件,改一下默认下载位置即可。
  • Steam 和 Wallpaper Engine:先下载Steam,然后在Steam中下载Wallpaper Engine,注意一下Steam和Wallpaper Engine的存储位置即可,顺便把壁纸的声音关掉。
  • PicGo:图床软件,配置仓库为fenglielie/notes_image,存储路径为img/,需要设置一下Token,测试正常上传即可。

在微软应用商店中(如果微软应用商店因为Clash无法联网,在UWP应用网络回环中进行配置),有几个实用小工具

  • QuickLook,快捷预览小工具,可以装几个插件,例如预览.ipynb文件支持和预览目录支持。
  • Snipaste,快速截图小工具
  • DevToys
  • PowerToys,这个很好用,各种小工具集合

除此之外,还有一些低频使用的软件,选择暂时不安装

  • 音乐软件,视频软件
  • XShell和Xftp
  • 腾讯会议,暂时用不上,先不装了

这里有几个绝版的软件安装包:QQ影音安装包,Bandizip无广告旧版安装包,Clash for windows安装包,目前在Onedrive和百度网盘中备份。

编程环境配置

这里的配置是指在纯命令行下,顺利搭建相应语言的编程环境,可以成功运行HelloWorld程序,并不涉及VS Code。 除了下面详细讨论的Cpp和Python,以及无需配置的MATLAB和Mathematica,还有几个可以考虑的编程语言:

  • Java:暂时不需要,后面如果有空玩Minecraft,则需要安装JDK并配置。
  • NodeJS:只是用来搭建博客的,这里不作讨论。

Cpp

关于C++的编程环境配置已过时,另见单独的博客。

在windows上写C/C++代码只有两类选择:MSVC 和 MinGW,暂时没有必要安装巨大的Visual Studio,因此选择配置 MinGW 的环境。 MinGW的具体实现有很多,在MinGW downloads提供了很多种不同的实现,下面选择其中两个:

  • LLVM-MinGW:这是基于LLVM的,它提供了clang,clang++以及配置的lldb,clangd等工具;也提供了gcc,g++,但其实就是clang和clang++换了个名字。在下载页面选择llvm-mingw-<date>-ucrt-x86_64.zip即可。
  • WinLibs:这个提供了包含或者不包含LLVM/Clang/LLD/LLDB的版本,它提供的gcc和clang分别属于GNU和LLVM,而不是简单的换皮。

这两种实现提供的都是编译完成的二进制文件的压缩包,只需要将其解压到合适位置,然后将bin目录添加到环境变量PATH即可,安装完成后可以顺便测试一下它们的版本

1
2
3
4
5
gcc -v
g++ -v
clang -v
clang++ -v
clangd -v

至于很多教程中仍然推荐的sourceforge下载的离线安装程序,版本实在是太低了。

在下载页面通常一次性提供了很多名称不同的安装文件,对于标准库可以选择ucrt和msvcrt(建议选择ucrt),架构必须选择含有x86_64(或x64,amd64)的安装文件或压缩包,对于线程模型可以选择POSIX和MCF(建议选择POSIX)。

对于复杂的C++项目,有必要使用CMake来组织项目,使用Ninja替换Make来加速编译,这两个工具都需要单独下载,直接解压放置到合适的位置,然后添加到环境变量PATH。

虽然前面的LLVM-MinGW和WinLibs提供了配套的CMake,甚至还可能有Ninja,但是这里还是单独下载了一遍。

Python

选择安装Miniconda而非Anaconda,安装包会小一点。

修改一下安装位置,在安装完成后添加几个路径到环境变量PATH,为了避免冲突建议添加到靠后位置

1
2
3
D:\ProgramLang\miniconda3
D:\ProgramLang\miniconda3\Scripts
D:\ProgramLang\miniconda3\Library\bin

对于powershell和cmd,在使用conda init命令之后,避免自动激活conda环境

1
conda config --set auto_activate_base False

Miniconda默认的base环境缺失很多常用的库,需要手动下载,例如:

  • numpy
  • matplotlib
  • scipy
  • sympy
  • pandas
  • jupyter notebook

对于Jupyter Notebook可以测试一下能否正常使用。

Python(WSL2)

顺便记录一下在WSL2中安装miniconda的过程(官网文档有)

在家目录下创建miniconda3目录

1
mkdir ~/miniconda3

下载安装脚本

1
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh

执行安装

1
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3

将配置添加到bash中

1
~/miniconda3/bin/conda init bash

避免自动激活conda环境

1
conda config --set auto_activate_base False

添加镜像,例如

1
2
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/

然后下载相应的库即可。

VS Code 配置

核心代码编辑器——VSCode,下载完成后安装改一下位置即可,注意这里VS Code的位置会对其他地方的配置产生连带的影响,例如LaTeX的双向跳转功能。

登录Github账号自动同步,主要同步的内容是插件和settings.json。

关于VS Code的配置实在是太复杂了,因此这里不做详述,但是目前将profile导出为本地文件 fenglielie_profile_<date>.code-profile,并在Onedrive中备份。

WSL2 安装与配置

这部分比较复杂,单独用一篇博客记录。

Zotero 文献管理

这部分比较复杂,单独用一篇博客记录。

字体配置

虽然windows有很多默认中文字体,但是为了更好地在TeXLive中编译中文文档,还需要安装常见的中文字体,例如几个开源的方正字体,还有一整套思源中文字体等,字体必须全局安装才能被TexLive使用,安装之后使用fc-cache -fv刷新字体缓存。

对于编程字体,选择安装Meslo字体,在Windows Terminal中使用MesloLGM Nerd Font。(在VS Code中使用Cascadia Code字体)

2024年9月5日更新:这些字体全部都打包在百度网盘中保存。

Clash 配置

参考https://chenjuefei.com:444/117.html

由于clash每次更新订阅的时候都会自动应用所有规则,但是我们有时需要对规则进行自定义的修改,此时就非常不便。 可以考虑在规则之上添加parser自定义规则,它的作用是在每次更新后自动执行javascript代码,对规则以预处理的方式进行修改, 达到添加自定义规则,防止更新覆盖的目的。

下面的代码的作用是移除所有含有bing的规则

1
2
3
4
5
6
7
8
parsers:
- url: <url>
code: |
module.exports.parse = async (raw, { yaml }, { name, url, interval, selected }) => {
const obj = yaml.parse(raw);
// 过滤掉包含 "bing" 的规则
obj.rules = obj.rules.filter(rule => !rule.includes("bing"));
return yaml.stringify(obj);};

其中的url改为对应链接即可。

dotfiles同步

通过dotfiles仓库维护并同步的一些配置, 主要包括tmux,vim,git,fish,pwsh和clangd等的配置文件。

在windows上的使用:

  • git直接安装即可,dotfiles提供了用户级的.gitconfig,以软链接的形式放置在用户主目录C:\Users\<user>\下;
  • git使用的vim是git自己附带的,不单独安装windows版本的vim,在dotfiles的配置中,pwsh提供的vim命令实际上是记事本;
  • dotfiles还提供了.clang-format,.clang-tidy和.editorconfig,以软链接的形式放置在D:\ProjectRoot\目录下。
  • tmux和fish在windows上不支持;

关于pwsh的配置:

  • pwsh主要需要的如下位置的配置文件由dotfiles提供

    1
    E:\<user>\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

  • 除此之外还需要安装插件,至少需要通过winget安装oh-my-posh和posh-git这两个插件;

  • 在dotfiles中提供了基于oh-my-posh定制的主题,位置如下,直接使用即可

    1
    E:\<user>\Documents\PowerShell\Modules\mzcy_pwsh_utils