BNU-FZH

fengzhenhua@outlook.com

许多操作要验证电脑的唯一性,但是电脑的名字等等都是有可能相同的,使用硬盘的UUID等,也有可能因为更换硬盘而变化。电脑标识唯一性的要求在Linux中早就被解决了,这就是机器ID.

1. 简介

机器 ID 是一个由操作系统生成的字符串,用于标识特定的计算机。它在系统启动时自动生成,并且在系统的整个生命周期中保持不变。本文将详细介绍机器 ID 的作用、生成方式以及在 Linux 系统中的应用。

2. 机器 ID 的生成方式

Linux 系统中的机器 ID 是通过以下方式生成的:

2.1. systemd

在现代的 Linux 发行版中,机器 ID 是由 systemd 生成和管理的。systemd 是一个系统和服务管理器,它负责启动、停止和管理系统上的各种进程和服务。当系统启动时,systemd 会生成一个机器 ID 并将其存储在 /etc/machine-id 文件中。这个文件是一个只包含机器 ID 的纯文本文件。

2.2. 生成规则

机器 ID 是一个 32 位的十六进制字符串,由 16 个字符组成。生成机器 ID 的规则如下:

  • 首先,系统会尝试读取 /etc/machine-id 文件。如果该文件存在且内容有效,则将其用作机器 ID。
  • 如果 /etc/machine-id 文件不存在或内容无效,则系统会生成一个新的机器 ID,并将其写入 /etc/machine-id 文件中。

3. 机器 ID 的作用

机器 ID 在 Linux 系统中具有以下作用:

3.1. 唯一标识符

机器 ID 是用来唯一标识一台计算机的。通过机器 ID,系统可以识别不同的计算机,并进行一些特定的操作和配置。

3.2. 许可验证

一些软件和服务提供商可能使用机器 ID 来验证许可证和授权。通过检查机器 ID,他们可以确定软件是否在授权范围内运行。

3.3. 安全性

机器 ID 在安全性方面也起到了一定的作用。它可以用于生成一些加密密钥或用于加密通信,以确保只有具有特定机器 ID 的计算机才能解密和访问数据。

3.4. 系统配置

机器 ID 还可以用于系统配置和管理。一些配置文件和脚本可能会根据机器 ID 进行不同的操作或应用不同的设置。

4. 使用机器 ID

在 Linux 系统中,可以使用机器 ID 来进行一些操作和配置。

4.1. 查看机器 ID

要查看当前计算机的机器 ID,可以使用以下命令:

1
cat /etc/machine-id

4.2. 使用机器 ID 进行其他操作

除了查看机器 ID,还可以在以下情况下使用机器 ID 进行操作和配置:

  • 许可验证:某些软件和服务可能需要验证机器 ID 才能使用许可证进行授权。在这种情况下,你可以将机器 ID 提供给软件或服务提供商以进行许可证验证。
  • 系统配置:一些配置文件或脚本可能会使用机器 ID 进行不同的操作或应用不同的设置。你可以根据机器 ID 编写脚本或配置文件,以根据不同的机器 ID 进行特定的配置。
  • 安全性:机器 ID 可用于增加系统的安全性。例如,你可以使用机器 ID 生成一些加密密钥,以确保只有具有特定机器 ID 的计算机才能解密和访问数据。

5. 机器 ID 的注意事项

在使用机器 ID 时,需要注意以下事项:

  • 唯一性:机器 ID 应该是唯一的,每台计算机都应该有不同的机器 ID。确保在克隆或复制系统时更新机器 ID。
  • 保密性:机器 ID 是一个敏感信息,应该妥善保管。避免将机器 ID 泄露给不信任的人或系统。
  • 持久性:机器 ID 在系统的整个生命周期中保持不变。在更换硬件或重新安装操作系统时,机器 ID 通常不会改变。

6. 总结

机器 ID 是 Linux 系统中用于唯一标识计算机的标识符。它由 systemd 生成并存储在 /etc/machine-id 文件中。机器 ID 在许可验证、安全性和系统配置方面发挥着重要作用。通过机器 ID,系统可以识别不同的计算机并进行特定的操作和配置。在使用机器 ID 时,请确保唯一性、保密性和持久性,并根据需要使用相应的命令和配置文件来操作和配置系统。

引用和参考文章

简介

当我们在纸面上画曲线时会遇到三种情况: 第一种是曲线可以初等函数通过各种组合获得, 第二种是曲线可以由初等函数及其导函数确定,但是无法求出明确的函数关系,第三种就是没有任何关系的随机函数。而物理规律往往存在一定关系的,也就是各种各样的微分方程,但是有限的数学函数不可能构建出各种各样的物理规律,所以这就是根据基本微积分原理使用列表法罗列出自变量与因变量的对应关系,把这些分立的点在纸上描出,只要足够分离间隔足够小,基本上就能得到精确的数值解。然后根据曲线的变化趋势就可以找到物理规律了。这就包括了前两种情况,所以数值解法可以应用的范围极广,但是若有解析解,我们可以方便的通过一些数学手段来分析其规律,没有解析解,也就是没有初等函数组合出的具体函数,我们只能牺牲时间,来逐点计算,列表以找到映射关系。

Runge-Kutta 法的理论基础是 Taylor 展开,通过增加Taylor的幂级数项来增加精度,但是注意这隐含着那个不可解析的函数也必须是收敛的才有意义!这个需要根据具体情况判断,换言之出现无穷大的情况就要小心了。

理论细节

问题数学化

已经初始值:\(x_0\), \(y_0\) 和微分方程关系式 \(y'=f(x,y)\), 求\(y=y(x)\)的映射关系(列表法)

具体步骤

建立的基础是比卡逐次逼近法,不断增加Taylor级数的项。具体操作为:

  1. \(x_1=x_0+h\), 采用线性项做初步近似,即 \[\begin{equation}\label{eq:jie1} g_1(x_1)=y_0+hf(x_0,y_0) \end{equation}\]

  2. 若我们能求出二阶导数,则在式\(\eqref{eq:jie1}\)的基础上再追加上二阶项后记为\(g_2(x_1)\), 显然比式\(\eqref{eq:jie1}\)更加精确。按导数的定义,只要令\(h\)足够小,\((x_0,y_0)\)处的二阶导数就可以取为 \[\begin{equation}\label{eq:daoshu1} f'(x_0,y_0)=\frac{f(x_1,g_1(x_1))-f(x_0,y_0)}{h} \end{equation}\] 于是式\(\eqref{eq:jie1}\)按Taylor级数追加下一阶项后为 \[\begin{equation}\label{eq:jie2} g_2(x_1)=y_0+hf(x_0,y_0)+\frac{h^2}{2!}f'(x_1,g_1(x_1)) \end{equation}\]

  3. 按照上述步骤一直做下去,假设已经精确到了\(n\)阶项,即 \[\begin{equation}\label{eq:jieN} g_n(x_1)=y_0+hf(x_0,y_0)+\frac{h^2}{2!}f'(x_1,g_1(x_1))+\cdots + \frac{h^n}{n!}f^{(n)}(x_1,g_{n-1}(x_1)) \end{equation}\] 进一步可以求解第\(n+1\)阶导数 \[\begin{equation}\label{eq:jieN1} f^{(n+1)}(x_0,y_0)=\frac{f^{(n)}(x_1,g_n(x_1))-f^{(n)}(x_0,y_0)}{h} \end{equation}\] 将式\(\eqref{eq:jieN1}\)按Taylor展开式代入式\(\eqref{eq:jieN}\)\[\begin{align} g_{n+1}(x_1)&=y_0+hf(x_0,y_0)+\frac{h^2}{2!}f'(x_1,g_1(x_1))+\cdots +\\ &\frac{h^n}{n!}f^{(n)}(x_1,g_{n-1}(x_1))+\frac{h^{n+1}}{(n+1)!}f^{(n+1)}(x_1,g_{n}(x_1)) \label{eq:jieN2} \end{align}\]

  4. 按式\(\eqref{eq:jieN}\)到式\(\eqref{eq:jieN2}\)一直递推下去就可以得到越来越接近\(y(x_1)\)的值,所认也可以说近似精度在提高。在保持\(n\)阶近似时,可以取下一个函数点\((x_1,y_1)\), 其中\(y_1=g_n(x_1)\). 在此基础上,以\((x_1,y_1)\)为起点,将递推关系中的\(x_0\)换成\(x_1\),\(x_1\)换成\(x_2\), 重复递推过程则获得\((x_2,y_2)\), 一直执行下去就可以获得列表法的结果\((x_i,y_i)\), 其中\(i=0\),\(1\),\(2\),\(\cdots\)

  5. 上面分析了Runge-Kutta法的理论,并未直接从程序入手分析,也没有列出程序编码,其目的是理解数值计算的理论,在今后的学习和工作中更好的处理物理问题。

参考文章

2M 今天升级了一下台式机的显示器为三星LS27D806UACXXF, 这是一块4k高清屏,连接后完美驱动。但是由于分辨率由1920x1080提高到3849x2160, ArchLinuxGnome3自适应了高分屏,但是还需要做一些设置才能完美使用。

系统缩放设置

系统显示器→选择屏幕→200%

GDM 登陆界面的 4K HiDPI 缩放设置

在使用 4K 显示器时,我通常会把 Gnome 桌面的缩放设置为 200%,这样看起来眼睛不会太累。但每次开机时会发现 GDM 登陆界面并没有使用这个缩放值,还是按 100% 无缩放的效果显示的。我希望登陆界面也能使用和桌面一样的缩放值。

解决方法

1
2
cp /home/feng/.config/monitors.xml /var/lib/gdm/.config/
chown gdm:gdm /var/lib/gdm/.config/monitors.xml

在执行上述命令时,先使用su切换到root,然后再运行。其中第二条命令设置了文件的所属用户和用户组。重启系统,登录界面和桌面一样,使用2倍的缩放显示。

参考文章

GDM 登陆界面的 4K HiDPI 缩放设置

GRUB 的高分屏设置

1. 安装 whitesur 4k 主题

1
2
3
git clone https://github.com/vinceliuice/grub2-themes.git
cd ./grub2-themes
sudo ./install.sh -t whitesur -s 4k -i whitesur

注意:在安装主题时,如果之前已经安装并且修改过,那请一定将/etc/grub/config中的GRUB_FONT行注释掉,否则生成会出错。所以这应当作为首要步骤检查!!

2. 将字体转换为 GRUB 可读格式

鉴于引导前环境的限制,GRUB 字体经过优化,以确保易读性和简洁性。它们不具备在完全加载的操作系统中使用的字体所具有的抗锯齿或印刷级别的优化。所以您不能简单地将 TTFOTFWOFF 等格式的字体直接用于 GRUB, 可以借助 grub-mkfont 命令将几乎任何字体转换为 GRUB 兼容的格式。

由于在中文环境下菜单会出现中文,所以应当选择那些同时支持中文和英文的字体。因为启动过程中会有终端输出信息,所以我们选择与终端中使用相同的字体DroidSansMono Nerd Fonts.

生成grub字体的不同命令方式
1
2
3
4
5
sudo pacman -S nerd-fonts
sudo grub-mkfont -v --output=/usr/share/grub/themes/whitesur/dsmfm40.pf2 --size=40 /usr/share/fonts/OTF/DroidSansMNerdFontMono-Regular.otf
sudo grub-mkfont -v -s 40 -o /usr/share/grub/themes/whitesur/dvsm40.pf2 /usr/share/fonts/TTF/DejaVuSansMono.ttf
sudo grub-mkfont -v -s 40 -o /usr/share/grub/themes/whitesur/wqy40.pf2 /usr/share/fonts/wenquanyi/wqy-microhei/wqy-microhei.ttc
sudo grub-mkfont -v -s 40 -o /usr/share/grub/themes/whitesur/msyh40.pf2 /usr/share/fonts/Windows11/msyh.ttc

因为自定义安装了whitesur主题, 所以将生成的字体保存在相应的目录/usr/share/grub/themes/whitesur/. 此处生成了多个字体,但是由于生成GRUB配置文件时,有时不显示中文,而微软雅黑是一款中英文都支持的比较全的字体,当切换到它时一定可以同时显示中英文,只是终端输出时不太好看。然后,切换到DejaVuSansMono时,GRUB仍然可以正常显示中文,详细原因不是很清楚,暂时这样使用。2024-10-17 21:40

3. 修改 GRUB 配置文件

/etc/default/grub
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
# GRUB boot loader configuration

GRUB_DEFAULT=0
# GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=0 quiet nvidia-drm.modeset=1"
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=menu

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `videoinfo'
GRUB_GFXMODE=3840x2160,auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors. Used by normal and wallpaper
# modes only. Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
GRUB_BACKGROUND="/usr/share/grub/themes/whitesur/background.jpg"
GRUB_THEME="/usr/share/grub/themes/whitesur/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"
GRUB_FONT="/usr/share/grub/themes/whitesur/dvsm40.pf2"

# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
# GRUB_SAVEDEFAULT=true

# Uncomment to disable submenus in boot menu
# GRUB_DISABLE_SUBMENU=y

# Probing for other operating systems is disabled for security reasons. Read
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
# functionality install os-prober and uncomment to detect and include other
# operating systems.
GRUB_DISABLE_OS_PROBER=false

注意:GRUB_FONT使用绝对路径为上一步生成的字体所在位置,同时GRUB_GFXMODE修改为当前的分辨率3840x2160, auto.

4. 修改主题字体配置文件

/usr/share/grub/themes/whitesur/theme.txt
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

# GRUB2 gfxmenu Linux theme
# Designed for any resolution

# Global Property
title-text: ""
desktop-image: "background.jpg"
desktop-color: "#000000"
terminal-font: "DejaVu Sans Mono Regular 40"
terminal-box: "terminal_box_*.png"
terminal-left: "0"
terminal-top: "0"
terminal-width: "100%"
terminal-height: "100%"
terminal-border: "0"

# Show the boot menu
+ boot_menu {
left = 30%
top = 30%
width = 40%
height = 40%
item_font = "DejaVu Sans Mono Regular 40"
item_color = "#cccccc"
selected_item_color = "#ffffff"
icon_width = 64
icon_height = 64
item_icon_space = 36
item_height = 80
item_padding = 12
item_spacing = 24
selected_item_pixmap_style = "select_*.png"
}

+ image {
top = 100%-100
left = 50%-480
width = 960
height = 84
file = "info.png"
}

# Show a countdown message using the label component
+ label {
top = 82%
left = 32%
width = 36%
align = "center"
id = "__timeout__"
text = "Booting in %d seconds"
color = "#cccccc"
font = "DejaVu Sans Mono Regular 40"
}

注意:在配置文件theme.txt文件中字体使用的是字体名字,它由grub-mkfont命令生成GRUB字体时的-v选项给出,也可以由fc-list |grep msyh.ttc 查询到,然后加上生成字体的字号40或其他值即可。

5. 更新 GRUB 配置

1
sudo grub-mkconfig -o /boot/grub/grub.cfg

6. BUG 暂存

当设置GRUB4k时,启动特别慢,已经确定是GRUBBUG, 所以暂时使用现有配置待上游作者修复BUG后再更新。

7. 参考文章

2024年10月16日完成了台式机上LinuxWindows双系统的安装工作,意味着此计算机在LinuxWindows下同时具备相当程度的生产生力。但是这不免会造成一个重要的问题:如果某一软件同时支持LinuxWindows两个工作平台,为了提高效率,应当尽量保持操作习惯,所以在两个平台上尽量配置相同的软件。

问题描述

  • PDF文件、音频、视频、图片等文件,在不同的操作系统中为了访问资料就需要单独存放,同时在不同平台下经常发生变化。这不仅占用了过多的硬盘空间,也不能同步文件,于是还是会面临切换操作系统降低效率的问题。
  • 同一软件在LinuxWindows下配置了两次,工作过程中,它会产生相应的数据,占据两份硬盘空间,这导致了硬盘利用率的降低。
  • 由于有时工作在Linux,有时又切换到Windows下,所以同一软件的配置不能同步。这也导致了,有时必须切换回原系统,查找相应的资料并同步两个操作系统下的配置,所以大大降低了工作效率。

解决方案

设置共享盘

针对PDF文件、音频、视频等文件的同步和访问,可以取一块硬盘作为共享盘。由于LinuxWindows同时支持NTFS格式,所以将其格式化为NTFS格式。在启动到Windows时,这个共享NTFS硬盘就会自动挂载到Windows下,这样就可以操作文件了。同时,在Linux下,将NTFS硬盘挂载到某一目录下,比如我自己设置为/home/feng/资料, 然后在Linux双击资料就可以进入到NTFS硬盘访问资料了。不管在哪个操作系统下,只要增加或删除了文件,在切换到另一操作系统时文件肯定是同步的。同时,这些经常操作的文件只占用了一次硬盘,所以设置共享盘是一个相当实用的办法。为了将性能发挥到极致,这块共享盘使用Nvme固态硬盘,两个平台下均受益!

设置软件数据共享

在工作中,我使用的主要软件包括:ZoteroCalibreThunderbirdGoldendict。经地今天的实践,实现了它们的数据共享。

  • Zotero: 在ArchLinux下打开Zotero → 编辑→设置→ 高级→数据存储位置→自定义→选择/home/feng/资料/Zotero, 同理在Windows下也执行一遍上述操作,将路径设置到同一目录。
  • Calibre: 将书库Calibre 书库建立在共享的NTFS硬盘下,在两个操作系统中分别打开Calibre →首选项→左下角,运行欢迎向导→设置路径到Calibre 书库.
  • Thunderbird: 在Linux下执行命令Thunderbird --ProfileManager (在Windows下开始菜单→运行→thunderbird.exe -profilemanager→回车) 进入到Thunderbird的Profile配置对话框,然后删除其他的Profile, 在左侧建立Profile, 然后根据提示依次选择目录到/home/feng/资料/thunderbird.
  • Goldendict: 将存放字典、构词规则库和translatorGD.py脚本统一放在共享NTFS盘中,然后在LinuxWindows中分别设置词典即可。参考Windows下配置Goldendict

执行完成上述操作,基本上就实现了两个操作系统下同一软件使用相同的数据,可以保证任何时候都同步。这四个软件占据的硬盘空间共计107.9G, 设置共享后也就节省了107.9G的固态硬盘空间。

创建链接

1
ln -s [源文件或目录] [软链接名称]

例如,要为/usr/local/foobar程序创建一个软链接/usr/bin/foobar-link,可以使用以下命令:

1
ln -s /usr/local/foobar  /usr/bin/foobar-link

这样访问foobar-link就等于是在访问foobar,相当于foobar-linkfoobar的快捷方式,注意:foobar-link不能提前存在,如果foobar-link已经是个文件夹,会在foobar-link目录下再生成一个foobar-link.

删除链接

1
2
3
rm /usr/bin/foobar-link
或者
unlink /usr/bin/foobar-link

注意:取消软链接最后没有/, 如果加上/rm -rf /usr/bin/foobar-link/表示删除文件夹.

查看链接

1
ls -l /usr/bin/foobar-link

注意:使用命令ls -l 直接加上链接路径即可.

OriginLab是科研工作中经常使用的绘图工具,本文探讨OriginLab的破解技术,仅限于测试软件之用,若您决定长期使用,请购买正版软件。

软件下载

安装教程

下载含破解测试文件的压缩包,然后依次执行:

  1. 打开Setup文件夹,双击setup.exe, 安装好软件(安装过程中要选择:安装OriginPro试用版)
  2. 打开安装位置 C:\Program Files\OriginLab\Origin2024\Origin64.exe
  3. 复制 Crack文件夹中的ok.dllout.dll,粘贴到上述目录中,覆盖掉对应的文件,完成破解。
  4. 打开目录Origin中英文切换双击Origin2024切换中文则软件界面切换为中文。

参考网络教程

科研工作中,安装Linux+Windows双系统是一个比较好的选择,这样即可以兼顾专有软件的使用也可以发挥硬件的最大效能。但是,在安装双系统的过程中却有很多注意事项,不注意就会带来好多问题。本文从单硬盘双系统和双硬盘双系统来记录安装过程。

单硬盘双系统

对于单硬盘,最好先使用windows11的原版镜像安装windows11, 这样它在安装的过程中就会自动建立一个300MEFI分区、16MMicrosoft 保留分区、704MWindows 恢复环境分区和一个Microsoft 基本数据分区. 这四个分区是必不可少的。其中16M704M的分区是隐藏分区,而操作系统就安装在Microsoft 基本数据分区, 300MEFI分区则存储了引导程序,用以启动时引导系统加载运行。

为了方便安装windows11,建议使用rufus, 因为它可以禁用tpm验证、绕过微软帐户登录等,功能十分强大。安装完成后,再使用Ventory制成的Archlinux系统盘启动安装Linux, 参考Archlinux 安装指南 安装完成操作系统,则Grub会自动搜索windows11引导程序,进而建立多系统启动菜单,这正是教程中记录的方式。若先安装了Archlinux再安装windows11, 也可以按照Archlinux 安装指南恢复Grub,所以单硬盘安装双系统的问题彻底解决。

双硬盘双系统

所谓双硬盘双系统是指,电脑具备两个硬盘AB, 计划在A上安装Archlinux, 在B上安装windows11. 此时应当先安装Archlinux,此时在A盘上已经创建了EFI分区,安装完成时它记录了Grub引导程序。然后再安装windows11, windows的机制是安装时先探测所有硬盘中是否存在EFI分区,若检测到EFI分区,将不自动创建该分区。因此B上将会建立除EFI之外的三个分区,即

1
2
3
4
设备            起点      末尾      扇区   大小 类型
/dev/sdb1 2048 34815 32768 16M Microsoft 保留
/dev/sdb2 34816 498673663 498638848 237.8G Microsoft 基本数据
/dev/sdb3 498673664 500115455 1441792 704M Windows 恢复环境

而系统的引导程序自动安装到了AEFI分区上。如果Grub被覆盖,请按Archlinux 安装指南中记录的方法恢复即可。如果A之前就安装了ArchlinuxWindows11两个系统,则安装Windows11后发现重启电脑并不能进入到新系统的安装程序中,这是因为windows自动识别了两个Windows的引导程序,同时默认第一个Windows的引导优先启动,因此新系统不能继续安装。此时,有两个方法处理:

  • 通过系统属性设置:
    • 右击此电脑(或计算机)图标,选择属性
    • 在弹出的系统窗口中,点击左侧的高级系统设置
    • 进入系统属性界面,切换到高级选项卡,点击启动和故障恢复下的设置按钮。
    • 启动和故障恢复窗口中,找到默认操作系统一栏,通过下拉列表选择第二个系统作为默认启动项。
    • 确认设置无误后,点击确定保存更改。
  • 通过系统配置工具设置:
    • 按下Win+R键打开运行对话框,输入msconfig并回车。
    • 进入系统配置窗口,切换到引导选项卡。
    • 在引导选项中,找到并选中需要设置为默认启动项的第二系统,然后点击设为默认值
    • 确认设置后,点击确定并重启电脑,第二系统将成为默认启动项。

经过上述设置后,重启系统则安装程序继续,之后和普通安装流程一样,完成安装即可。同时,如果你计划删除A中的Windows11, 那在引导选项卡中,也可以选择删除其引导项,这样就只有第二个新的Windows11了。

互联网下载管理器(Internet download manager)将加快下载高达5倍,由于其智能动态文件分割技术。与其他下载管理器和加速器,互联网下载管理段下载的文件在下载过程中动态, 并且它重用可用的连接而无需附加的连接和登录阶段,以实现最佳的可能加速性能。

IDM无缝集成到Microsoft EdgeGoogle ChromeMozilla FirefoxOperaInternet ExplorerSafariMSN ExplorerAOLMozilla FirebirdAvant Browser傲游和所有其他流行的浏览器中,以自动处理您的下载。

当您在浏览器中单击下载链接时,IDM将接管下载并加速它。你不需要做任何特别的事情,只要像平时一样浏览互联网就行了。 IDM将捕获您的下载并加速它们。IDM支持HTTPFTPHTTPSMMS协议。

由于迅雷广告太多且各种会员提示,相比而言IDM更加纯净高效,因此本文推荐IDM的破解试用安装,测试完后请购买正版软件。

IDM 官网下载

软件安装

  • 安装前准备,请先卸载老版本的idm安装程序,卸载时选择完全卸载.重启后清理浏览器中idm插件,并运行IDM卸载后执行.bat

  • 安装IDM,安装完可能会提示需要输入序列号之类的问题,直接取消就行

  • 完全退出IDM(查看windows任务管理器有没有IDM进程在后台运行,如有请结束IDM后台进程)

  • 执行 IDM_6.4x_Crack_v19.7.exe,选择crack 即可激活

Crack下载

参考文章

2024 IDM终生激活版教程(解决弹窗)

在使用ArchLinux过程,有时候为了稳定起见可以安装多个内核,一般我习惯于安装最新的linuxlinux-lts, 这导致系统启动时需要选择内核启动。一般,系统会默认启动最后安装的内核,而多数时候linux-lts只是做为一个备用内核,而设置系统默认记住最后一个启动的内核,这会是一个更好的方案,本文记录配置方法:

修改配置文件

/etc/default/grub
1
2
3
GRUB_DEFAULT=saved      # 默认使用保存的内核条目
GRUB_SAVEDEFAULT=true # 保存最后一个使用的内核条目
GRUB_DISABLE_SUBMENU=y # 可选,禁用 GRUB 子菜单,使选择内核的操作更简单

在文件/etc/default/grub中,这三项都是明确列出的,第一项是第一行,其他两项在文件中都可以找到对应的位置,其实都已经配置好了,只需要取消注释就可以了。

更新引导配置

设置完成后,更新一下引导配置即可:

1
sudo grub-mkconfig -o /boot/grub/grub.cfg

参考文章

更换可选内核

Neovim 将部分功能交给 provider 方式支持,具体技术细节参见:Provider-Neovim docs, 对于python, ruby, node.jsclipboard等配置均比较完美。

问题描述

出现问题的是perl的配置,在我的Thinkpad T490 上发现检查Neovim的健康时无法检测到perl,但是确实已经装上perl了,根据 Provider-Neovim docs 的配置,其他的支持均没有问题,而perl出现警告:

:checkhealth provider-perl
1
2
3
4
5
6
Perl provider (optional) ~
- WARNING "Neovim::Ext" cpan module is not installed
- ADVICE:
- See :help |provider-perl| for more information.
- You may disable this provider (and warning) by adding `let g:loaded_perl_provider = 0` to your init.vim
- WARNING No usable perl executable found

解决方案(2024-10-09 22:33)

反复安装模块Neovim::Ext

1
2
3
sudo cpanm -n Neovim::Ext

Neovim::Ext is up to date. (0.06)

上述命令无论有没有-n选项都会出现这个提示,不加sudo也是这个提示,这误让我认为我已经安装好模块Neovim::Ext !!

卸载模块Neovim::Ext

1
2
3
4
5
6
sudo cpanm -U Neovim::Ext

!Neovim::Ext is not found in the following directories and can't be uninstalled.

/usr/lib/perl5/5.40/site_perl
/usr/share/perl5/site_perl

这条卸载命令让我意识到,我的系统中其实没有正确安装模块Neovim::Ext,同时新版的Neovim对于在.zshrc中设置的路径方式不再依赖!其实它现在可以直接运行sudo的命令了。

重新安装模块Neovim::Ext

1
2
3
4
5
6
sudo cpanm --reinstall Neovim::Ext

--> Working on Neovim::Ext
Fetching https://www.cpan.org/authors/id/J/JA/JACQUESG/Neovim-Ext-0.06.tar.gz ...OK
...
12 distributions installed

运行完这条命令,则模块Neovim::Ext重新安装成功,再启动nvim运行:checkhealth provider.perl 便得到下述内容:

:checkhealth provider-perl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
provider.perl: require("provider.perl.health").check()

Perl provider (optional) ~
- perl executable: /usr/bin/perl
- OK Latest "Neovim::Ext" cpan module is installed: class is experimental at (eval 8) line 2.
field is experimental at (eval 8) line 4.
method is experimental at (eval 8) line 5.
field is experimental at (eval 8) line 6.
method is experimental at (eval 8) line 7.
field is experimental at (eval 8) line 8.
method is experimental at (eval 8) line 9.
field is experimental at (eval 8) line 10.
method is experimental at (eval 8) line 11.
field is experimental at (eval 8) line 12.
method is experimental at (eval 8) line 13.
field is experimental at (eval 8) line 14.
method is experimental at (eval 8) line 15.
class is experimental at (eval 9) line 2.
field is experimental at (eval 9) line 4.
method is experimental at (eval 9) line 5.
field is experimental at (eval 9) line 6.
method is experimental at (eval 9) line 7.
0.06

总结

这个问题困扰了我一整天,因为总觉得这不应该是一个重大问题,但是两台电脑几乎配置一样,但笔记本上总是不能解决。此次计算机事故,应当牢记遇到问题一般重装程序或模块,同时使用默认配置就可以解决问题。但是,此次没有解决问题的主要原因是对cpanm不够熟悉!所以在cpanm --help后,获取其详细使用规则后就解决了问题。