本次安装参考博客:https://www.viseator.com/categories/Linux/

下边总结我遇到的一些坑,不准确之处请多多包涵:

第一阶段

关闭安全模式

对于联想电脑,开机时按F12可以设置本次开机的启动方式,我第一次设置以USB方式启动时,计算机会警告

试了好几种方法(CSDN和一些国内网站真的不靠谱),最终解决策略:

开机时按F2进入BIOS设置,在BIOS中关闭安全模式(忘记留图)

设置启动顺序

设置启动顺序的目的是:以后开机的时候可以默认优先启动USB(当linux装好后是优先启动grub),这样就可以直接进入linux,而不需要再按F12

方法很简单,点击箭头调整顺序即可

此处的顺序似乎不正确(因为是第一次拍的照),我在实践中把USB放在第一个,把PXE放在最后,是可以成功的

连接网络

由于我用的是无线网,我输入iwctl,再输入device list,显示wlan0的状态为off

打开方式:退出iwctl,输入iwconfig wlan0 txpower on

这里顺带说一下,此处推荐连接稳定的网络。由于校园网需要认证,此处不能连校园网,而手机热点有时会自动断连,也不推荐。

挂载分区

1
2
mkdir /mnt/boot
mount /dev/sdxY /mnt/boot (请将sdxY替换为之前创建或是已经存在的引导分区)

在挂载引导分区的时候,我第一次输成了根目录的分区,之后用cat /mnt/etc/fstab查看的时候,根目录和/boot的类型都是ext4(/boot正确的类型应该是fat)

如果挂载不正确,后边安装grub的时候会报:/boot doesn’t look like an efi partition

第二阶段

连接网络

一上来就遇到了联网问题,wifi-menu是不能用的,于是求助方法二,结果遇到报错:

Error:NetworkManager is not running.

参考:https://pacesettergraam.wordpress.com/2018/12/31/error-networkmanager-is-not-running-arch-linux/

解决图片(马赛克处输入wifi密码):

交换分区

我的电脑是32G,理论上是不需要设置swap分区的…(下次直接跳过这一步)

当时按着教程执行了这句,有没有加M忘记了:

1
dd if=/dev/zero of=/swapfile bs=4096M count=512 status=progress

然后就一直在跑进度条,最后好像装了150多G,提示空间不够用了

结果我空间就满了,什么操作都执行不了,会一直报“空间不足”

最后的解决方案是删掉swapfile

删掉后,可以使用df -h查看磁盘占用情况:

df用于检查文件系统磁盘占用情况,du检查磁盘空间占用情况

提前配置网络

这一步是禁用netctl并启用NetworkManager

在enable NetworkManager时遇到报错

解决方案:

1
2
3
systemctl enable NetworkManager.service

systemctl start NetworkManager.service

第三阶段

中文乱码

安装好kde,会发现有些中文显示为[]

解决方案:下载字体包即可,执行pacman -S wqy-microhei,再重启

指令

pacman

pacman指令:https://ipcmen.com/pacman

pacman -Qs:查看本地已经装的包

pacstrap

https://man.archlinux.org/man/extra/arch-install-scripts/pacstrap.8.en

pacstrap 旨在从头开始创建新的系统安装

lsattr/chattr

lsattr用于读取文件属性,chattr命令用于改变文件属性。

这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:

  1. a:让文件或目录仅供附加用途。
  2. b:不更新文件或目录的最后存取时间。
  3. c:将文件或目录压缩后存放。
  4. d:将文件或目录排除在倾倒操作之外。
  5. i:不得任意更动文件或目录。
  6. s:保密性删除文件或目录。
  7. S:即时更新文件或目录。
  8. u:预防意外删除。
  9. e:表示ext4或ext3所持人的权限

当root用户为文件添加i属性后,即便是root本人也不能删除文件,只有把i移除后才能进行删除。

systemctl daemon-reload

taking changed configurations from filesystem and regenerating dependency trees.

从文件系统中获取更改的配置并重新生成依赖树

黑科技

tldr

使用pacman安装tldr(too long don’t read),使用它可以比man更简洁地查看某个指令的用途

bpytop

使用pacman安装bpytop,之后输入bpytop指令后可以看到 计算机资源占用情况和进程运行情况

kde的使用

alt + space 是个好东西,使用键盘,远离鼠标

在终端输入dolphin . 可以打开文件目录的gui

window + d 可以返回桌面

ctrl + F1/F2...切换多桌面

ctrl + alt + t 打开一个konsole

ctrl + shift + t 在konsole中新增一个tab

alt + F4 关闭某个窗口

custom shortcuts 里边可以设置快捷建,比如我的flameshot的截图快捷键设置为ctrl + alt + q

滚炸

在执行sudo pacman -Syu后,内核炸了两次,都是同样的报错:

Failed to start Load Kernel Modules.

原因:缺少构建内核的linux-headers(https://archlinux.org/packages/core/x86_64/linux-headers/)

Description: Headers and scripts for building modules for the Linux kernel —— Arch wiki

即headers用于构建linux内核,第一次装linux没有装headers却能正常运行,是因为其中有一些脚本产生了作用

之后更新内核的时候,linux从上游源拉到了新的内核,但此时没有headers,内核构建不起来,所以就会报错

修复过程:插上系统盘(安装时用的u盘),以USB方式启动,安装linux-headers(pacman -S linux-headers),之后退出,再以grub方式启动

知识补充

文件系统

https://zhuanlan.zhihu.com/p/44267768