0%

Archlinux双系统及其软件生态配置

本文主要记录了双系统安装的过程以及clash,pycharm,vim,zsh等软件相关安装配置

双系统安装

照着下面这个up主装就行。

https://www.bilibili.com/video/BV1fk4y1w7wq/?spm_id_from=333.999.0.0

主要记录期间遇到的几个问题

1.iwctlWIFI连接遇到问题?

有可能是无线网络被锁住了,在进入iwctl前运行以下命令即可解锁

1
2
ip link
rfkill unblock wifi

2.一个电脑两个磁盘,一个磁盘放Windows,另一个磁盘放Archlinux是否可行?

Windows磁盘管理工具中将第二个磁盘所有盘符删除,整个第二块磁盘状态为未分配,在使用cfdisk时新建EIF分区(当然与第一块磁盘中的Windows共用EIF分区同样可行),GRUB在开了多系统检测之后可以检测多个磁盘上的系统。注意用mkfsFIF分区格式化即可。

1
mkfs.fat -F32 /dev/EIF所在磁盘区域

注:nvme开头是使用NVMe接口标准的存储设备

sda开头是使用SATA接口标准的存储设备

SSD是固态硬盘(Solid State Drive)的简称

NVMe接口速度更快延迟更低,主要用于高性能SSD

SATA接口标准主要用于机械硬盘和SSD

3.对自用用户赋权root组,不然权限好低,一点也不方便

1
gpasswd -a P4yl04d root    

启动盘制作及分区

iso镜像下载

1
https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/

启动盘制作工具下载

1
https://ventoy.net/cn/download.html

ventoy下载解压后,打开Ventory2Disk,设置分区类型为GPT(这里可供选择的有MBRGPT,详细介绍在《鸟哥的linux私房菜》P131)

关于分区各种格式的详细介绍可以参考这篇电脑是怎么开机的/#more)

MBR: 早期的,最大2.2TB,开头扇区记录分区信息及开机启动项,且开机管理程序区块仅446Bytes,较小

GPT: 新兴的,补充下,fdisk工具目前支持gpt分区的识别(Linux和Windows磁盘均使用的gpt),使用grub引导似乎也没啥问题

相关知识速览: https://segmentfault.com/a/1190000020850901

分区文件系统类型为exFAt即可(后面反正要重新格式化,其实无所凋萎),分区4kb对齐,簇大小默认。

点击安装,即可格式化原USB,拖入下载的iso镜像文件,完成启动盘制作。

使用windos里的磁盘管理工具可查看磁盘状态,未分配的都是可用的,删除卷,压缩卷均可腾出未分配空间

启动前记得去UEFI/BIOS里关闭安全启动选项

启动盘启动

插上USB,进入UEFI/BIOS里,选择从USB启动

页面一:选择要安装的镜像后回车(ventory支持多镜像启动盘)。

页面二:选择Boot in normal mode(第一个选项),即grub引导方式安装。

页面三:进入grub页面,选择Archlinux install...(第一个选项)即可。

由于archlinux安装在命令行下,live环境中,所以我们后面更换主板找回grub时,不用像别的系统一样还要找try un** without install的选项。

WIFI连接

解锁wifi

1
ip link
1
rfkill unblock wifi

使用iwctl连接(wlan0是我的网卡设备名,Link是我的WIFI名)

1
iwctl
1
device list
1
station wlan0 scan
1
station wlan0 get-networks
1
station wlan0 connect Link

输入密码,ctrl+d退出iwctl后,检测连接

1
ping baidu.com

分区及安装系统

更新系统时间

1
timedatectl

查看分区(图片这里是分好后的效果)

1
fdisk -l

如图/dev/nvme0n1开头是windows下的,不用动;我们所有操作都在第二块固态上,即/dev/nvme1n1开头

进入操作页面

1
cfdisk dev/nvme1n1

可以看到都是未分配的,我们在上方选中Free space,下方选中New,输入文件大小,创建四个分区,分别留作efi分区,根分区,home分区,swap分区,大小建议为0.3G随便随便内存*2G

然后分别在上方选中四个分区,下方选中Type,分区类型为分别为EFI System,Linux filename,Linux home,Linux swap

执行分区类型写入,分别在上方选中四个分区,下方选中Write,分别对四个分区写入。

写入后,下方选中Quit退出即可。

再次执行fdisk -l,检查分区情况,没问题就可以继续了,后面我们进行格式化分区。

格式化EFI分区(位置在/dev/nvme1n1p2)

1
mkfs.fat -F 32 /dev/nvme1n1p2

创建了一个FAT32文件系统,等价命令为mkfs.vfat /dev/nvme1n1p2

格式化根分区(位置在/dev/nvme1n1p3)

1
mkfs.ext4 /dev/nvme1n1p3

格式化home分区(位置在/dev/nvme1n1p4)

1
mkfs.ext4 /dev/nvme1n1p4

格式化swap分区(位置在/dev/nvme1n1p5)

1
mkswap /dev/nvme1n1p5

挂载分区(一定要先挂载根分区)

挂载根分区(位置在/dev/nvme1n1p3)

1
mount /dev/nvme1n1p3 /mnt

挂载home分区(位置在/dev/nvme1n1p4

1
mount --mkdir /dev/nvme1n1p4 /mnt/home

挂载efi分区(位置在/dev/nvme1n1p2)

1
mount --mkdir /dev/nvme1n1p2 /mnt/efi

挂载交换分区(位置在/dev/nvme1n1p5

1
swapon /dev/nvme1n1p5

配置pacman国内源

1
nano /etc/pacman.d/mirrorlist

第一行添加

1
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

保存退出,刷新缓存

1
pacman -Syyu

重新安装密钥

1
pacman -S archlinux-keyring

安装基本操作系统

1
pacstrap /mnt base base-devel linux-zen linux-zen-headers linux-firmware networkmanager grub os-prober efibootmgr ntfs-3g amd-ucode bluez bluez-utils nano

base:基础系统

base-devel: 工具包

linux-zen: 高性能内核

linux-zen-headers: 高性能内核头文件

linux-firmware: linux固件

networkmanager: 网络

grub: 引导

os-prober: 多系统检测

efibootmgr: efi启动项管理

ntfs-3g: ntfs可读写

amd-ucode: cpu编码,如果是cpu为intel的,那就intel-ucode

bluez bluez-utils: 蓝牙

nano: 文本编辑器

一路回车安装即可。

创建fstab(自动挂载配置文件)

1
genfstab -U /mnt >> /mnt/etc/fstab

arch-chroot进入系统

1
arch-chroot /mnt

设置时区

1
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

设置硬件时间

1
hwclock --systohc

本地化

编辑/etc/locale.gen

1
nano /etc/locale.gen

删除en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8前的#

生成locale

1
locale-gen

编辑/etc/locale.conf

1
nano /etc/locale.conf

添加

1
LANG=en_US.UTF-8

保存退出

设置主机名

编辑/etc/hostname

1
nano /etc/hosthome

就叫Arch

1
Arch

设置root密码

1
passwd

输两次密码即可

创建普通用户P4yl04d

1
useradd -m -G wheel P4yl04d

为普通用户创建密码

1
passwd P4yl04d

编辑/etc/sudoers赋予用户root权限

1
nano /etc/sudoers

删除%wheel ALL=(ALL:ALL) ALL前的#

启动服务

网络服务

1
systemctl enable NetworkManager 

蓝牙服务

1
systemctl enable bluetooth

编辑grub,启用多系统检测

1
nano /etc/default/grub

去掉GRUB_DISABLE_OS_PROBER=false前的#

安装grub服务

1
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=grub

更新grub引导

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

安装桌面环境KDE

基本组件

1
pacman -S xorg plasma plasma-wayland-session

开机自启动显示管理

1
systemctl enable sddm 

其他必要的东西

1
pacman -S konsole dophin ark kate

konsole: 终端

dophin: 文件管理器

ark: 解压缩软件

kate: 文本编辑器

退出系统,重启电脑即可进入Archlinux桌面环境工作

1
exit
1
reboot

重启后在grub引导中并未看到Windows选项,正常现象

我们进入Arch,重新更新下,下次就有了

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

从回显信息我们可以看到,grub找到了windows的启动项。

本地化-中文

中文字体

1
sudo pacman -S adobe-source-han-sans-cn-fonts

去设置-> Regional Settings->Region & Language->Change Language->简体中文->Apply->Restart now->OK

配置国内源下载必要应用

1
sudo nano /etc/pacman.conf

开启32位库

1
2
#[mulitlib]
#Include = /etc/pacman.d/mirrorlist

1
2
3
4
5
[mulitlib]
Include = /etc/pacman.d/mirrorlist

[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

保存退出后刷新

1
sudo pacman -Syy

导入cn源密钥

1
sudo pacman -S archlinuxcn-keyring

安装后端程序使得应用商店刷新出软件

1
sudo pacman -S archlinux-appstream-data packagekit-qt5 fwupd

安装AUR助手yay

1
sudo pacman -S yay

刷新

1
yay -Syy

安装中文输入法Fcitx5(Wiki上有)

1
sudo pacman -S fcitx5-im
1
sudo pacman -S fcitx5-chinese-addons fcitx5-rime

编辑environment

1
sudo nano /etc/environment

添加

1
2
3
4
5
6
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
INPUT_METHOD=fcitx
GLFW_IM_MODULE=ibus

不想添加environment也可以

1
yay -S fcitx5-input-support

重启后就可以在设置里找到拼音输入法了,至此,安装完成。

ERRO:主板更换后找回grub

问题描述

打开电脑后自动进入Windows系统,痛失grub引导

进入UEFI/BIOS里,启动方式那里只有windows mangemer了,原本的grub选项丢失了。

windows mangemer在windows磁盘下的efi里,grub在linux磁盘下的efi里。

解决方案

进入安装时的live环境,连接wifi(即前文中的[启动盘制作及分区,WIFI连接部分])。

挂载分区(一定要先挂载根分区)

挂载根分区(位置在/dev/nvme1n1p3)

1
mount /dev/nvme1n1p3 /mnt

挂载home分区(位置在/dev/nvme1n1p4

1
mount --mkdir /dev/nvme1n1p4 /mnt/home

挂载efi分区(位置在/dev/nvme1n1p2)

1
mount --mkdir /dev/nvme1n1p2 /mnt/efi

挂载交换分区(位置在/dev/nvme1n1p5

1
swapon /dev/nvme1n1p5

arch-chroot进入系统

1
arch-chroot /mnt

重新安装grub服务

1
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=grub

更新grub引导

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

退出系统,重启电脑即可进入Archlinux桌面环境工作

1
exit
1
reboot

重启后在grub引导中并未看到Windows选项,正常现象

我们进入Arch,重新更新下,下次就有了

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

从回显信息我们可以看到,grub找到了windows的启动项。

再次重启,验证结果,可以看到grub已经被我们成功修复。

1
reboot

软件生态配置

纯软件

Archlinux中下载软件推荐上Archwiki(输入软件名即可,内有中文社区,点AUR中也可)

1
sudo pacman -S 软件包名(官方版)
1
yay -S 软件包名(AUR包)

自己下载解压安装亦可,初始环境配置推荐下面这篇文章

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

补充:

Clash for Windows可以用Clash Verge代替

翻过高墙(passwd:horton)

系统代理设置这里和Clash for windows一致

Zsh配置

参考文章(视频):

zsh安装 来源于Youtube的一则视频

zsh安装 来源于Archwiki的一篇文章(主)

oh-my-zsh安装 来源于知乎的一篇文章

oh-my-zsh安装 来源于Youtube的一则视频(主)

p10k字体配置 来源于Github该主题作者的推荐字体(这里的字体很有用,解决了Arch图标显示不正常的问题)

官方字体下载,链接里有这四个字体,点击链接下载下来。

下载以后鼠标右键安装到系统用户即可(右键选中ttf文件有安装选项)

字体下载(主要是视频里做的,但是效果不如作者推荐的字体)

1
sudo pacman -Syu noto-fonts noto-fonts-emoji noto-fonts-extra awesome-terminal-fonts

配置

1
sudo pacman -Syu zsh
1
sudo pacman -Syu git

一切之前:

1
2
su root
cd

zsh下载

1
pacman -S zsh
1
pacman -S zsh-completions

更改shellzsh

1
chsh -l				#查看所有Shell所在位置
1
2
3
4
chsh -S 想更换的shell的完整目录
# 这里在哪个用户下更改的就是更换哪个用户的Shell
# 在root下更改后用户的shell仍然是原shell
# 重启电脑后shell生效

下载oh-my-zsh,配置文件在/root/.zshrc

1
sh -c "$(curl --insecure -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"
插件下载

语法高亮

1
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

自动补全

1
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

主题下载

1
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
文件配置
1
vim .zshrc

主题配置

1
2
3
4
5
6
7
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes

ZSH_THEME="powerlevel10k/powerlevel10k"
#ZSH_THEME="robbyrussell"

插件配置

1
2
3
4
5
6
7
8
9
10
11
12
13
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
git
zsh-autosuggestions
# zsh-syntax-highlighting must be the last
zsh-syntax-highlighting
)

source $ZSH/oh-my-zsh.sh

让配置生效,同时根据选择主题详细配置即可

1
source .zshrc

重新配置

1
p10k configure

安装i3桌面

按照个人喜好,我这里pwngdb分屏显示特别奇怪,故仅仅进行了安装,并未实际使用

i3 安装配置

blueman暂时没什么用,他给的配置文件不咋好用,不建议使用

vim/nvim配置(更推荐vim)

Archwiki_Neovim

Archwiki_Vim

wine下载配置

不推荐,很多软件都不稳定,有时候能打开,有时候不能。小问题一堆,强烈不推荐

安装必要的包:

1
sudo pacman -S wine wine-mono winetricks zenity

保存并退出,重启系统

进入桌面后运行:

1
winecfg

把操作系统改为Windows 10

安装完后输入vim ~/.bashrc,往里面插入:

1
export WINEARCH="win32"

百度网盘里下载Windows下的字体文件到~/.wine/drive_c/windows/Fonts,然后运行:

1
winetricks

选择Select the default wineprefix(选择默认的wine容器),然后再选择Run uninstaller,单击Install...选择安装包安装程序

一定要安装字体,不然打不开ida

最后在终端输入wine <exe>运行你喜欢的程序吧!

安装python_for_windows:下载后打开目录,运行

1
wineconsole

在终端执行安装命令安装python环境(必须装,不然无法载入反编译二进制文件)

1
./python-3.12.0-amd64.exe
1
chmod +777 python安装位置在linux环境的映射

参考文档:

[详解]ArchLinux下Wine的使用

使用 Wine 运行 IDA Pro

WPS

粗体字体问题

1
yay -S freetype2-wps 

启动时跳出的缺失字体问题

1
yay -S ttf-wps-fonts