入坑 Arch Linux

入坑场景

说实话,工作总是带着笔记本在公司和家里来回对肩膀的负担还是挺大的,之前也尝试过 WSL ,但是实测并不能当做生产力工具,体验还是差很多的,所以最近在家里把电脑做成了 Win10Arch 双系统,以前工作也使用过 GNOME Ubuntu 但是感觉 DiyMac 风格以后总有点怪怪的,然后尝试了 Manjaro 除了和 Arch 同样蛋疼的 VPN 以外,还有显卡驱动的问题,装了两次还是黑屏之后果断放弃了,最终还是选择了 Arch + KDE ,颜值与实用性并存。

制作启动盘

  • Arch 官网下载官方镜像(只能通过磁力链或者 BT 种子下载)
  • 下载启动盘制作工具:rufus
  • 点击选择下载的镜像直接点击 开始 ,选择以 DD 模式写入 等待完成就可以了。

Arch 安装

  • Windows 上创建 Linux 磁盘空间,右键此电脑 => 管理 => 计算机管理 => 磁盘管理 ,压缩出要给 Linux 的空间,我压缩了 150G
  • 开机进入 BIOS 选择从 U 盘启动,选择 Install x86_64
  • 联网:dhcpcd

如果是 Wifi 网络需要进行如下操作:

# 列出可用无线网络接口
$ iw dev
# 启用接口
$ ip link set 设备名 up
# 扫描附近 wifi
$ iwlist 设备名 scan | grep ESSID
# 连接到 wifi
$ wpa_supplicant -B -i 设备名 -c <(wpa_passphrase SSID 密码)
# 启动 dhcpcd 服务
$ systemctl start dhcpcd

  • 设置时间同步:timedatectl set-ntp true
  • 查看时间状态:timedatectl status
  • 查看磁盘状态:fdisk -l

如果是清除之前的分区需要进行如下操作(可重复操作):

# 进入硬盘
$ fdisk /dev/硬盘名
# 打印硬盘分区信息
$ p
# 删除分区
$ d
# 输入要删除的分区编号
$ number
# 保存
$ w
  • 分区
# 创建分区(EFI)
$ n
# 分区号
$ 默认(回车即可)
# 起始块
$ 默认(回车即可)
# 分区大小
$ +512M
# 创建分区 (Linux)
$ n
# 分区号
$ 默认
# 起始块
$ 默认(回车即可)
# 分区大小
$ 全部(回车即可)
# 分区类型
$ t
# 选择区号
$ 1
# 选择类型
$ 1
  • 格式化分区:mkfs.fat EFI 分区盘符
  • 格式化分区:mkfs.ext4 系统分区
  • 创建临时目录:mkdir mnt
  • 挂载分区:
# 挂载系统分区
$ mount <系统分区盘符> /mnt
# 进入系统分区目录,创建 boot 目录
$ cd mnt && mkdir boot
# 把 EFI 分区 挂载到 boot 目录
$ mount <EFI 分区盘符> /mnt/boot
  • 安装软件包:pacstrap /mnt base linux linux-firmware dhcpcd vim iw
  • 生成 fstabgenfstab -U mnt >> mnt/etc/fstab
  • change root:arch-chroot mnt
  • 创建密码:passwd

引导配置

  • 安装引导:pacman -Sy grub efibootmgr
  • 安装 MBR 引导:grub-install --target=i386-pc /dev/sdX
  • 安装 EFI 引导:grub-install --target=x86_64-efi --efi-directory=/boot
  • 创建引导配置:grub-mkconfig -o /boot/grub/grub.cfg
  • 配置 Grub 引导 WindowsSudo vim /boot/grub/grub.cfg
# 参照源文件中格式添加
menuentry 'Windows'{
    set root ='hd0,gpt2'
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
    boot
}

KDE 桌面安装及配置

  • 联网:dhcpcd
  • 更新:pacman -Syy
  • 安装 X 系统:pacman -S xorg 英伟达显卡追加 xorg-xrandr
  • 安装中文字体包: pacman -S ttf-dejavu wqy-microhei
  • 创建普通用户:useradd -m -g users -G wheel -s /bin/bash <your name>
  • 更新普通用户密码: passwd <your name>
  • 安装 sudopacman -S sudo
  • 修改 sudoers 赋予普通用户使用 sudo 命令权限:将 %wheel ALL = (ALL)ALL 行注释取消
  • 安装 KDE 桌面:pacman -S plasma kde-applications
  • 安装图形登录页面:pacman -S sddm sddm-kcm
  • 开启 sddm 服务: systemctl enable sddm
  • 安装网络管理:pacman -S networkmanager net-tools
  • 开启网络服务:systemctl enable NetworkManager
  • 开启 dhcpcd 服务: systemctl enable dhcpcd
  • 安装声音:pacman -S alsa-utils pulseaudio pulseaudio-alsa
  • 安装中文输入法:pacman -S fcitx fcitx-rime fcitx-im kcm-fcitx
  • 激活 fcitx 及桌面环境语言设定:vim /home/<username>/.xprofile
export LANG=zh_CN.UTF.8
export LC_ALL=zh_CN.UTF.8
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

未安装英伟达驱动的小伙伴截止到这里就可以重启了

  • 编辑自动管理器脚本 :vim /usr/share/sddm/scripts/Xsetup
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
  • 获取英伟达显卡 PCI 地址:lspci | grep -E "VGA | 3D"

如果 PCI 地址是:01:00.0 那就是和我一样的配置,否则需要更改下面的 BusID

  • 配置 xorg.conf:
Section "Module"
                Load "modesetting"
EndSection

Section "Device"
                Identifier "nvidia"
                Driver "nvidia"
                BusID "1:0:0"
                Option "AllowEmptyInitialConfiguration
EndSection

L2TP VPN 插件安装

  • yaourt -S networkmanager-l2tp

如果使用 yay 无法安装 Aur 的 L2tp 和 搜狗拼音,建议和我一样使用 yaourt ,除此之外还需要安装 swan 相关插件才可以使用 VPN 。

参考