Arch_Linux.png

之前也有试过用 Virtual Box 装 Linux,所有的发行版都试过了,Arch Linux 也试过了。不过也就是装好了一遍,没有往日常使用好好配置过,有些甚至装好了就再也没碰过了。不得不说,虚拟机的局限性真的太大了。

  • 内存占用大,Windows 作为 Host 本来就占用了大量的内存,虚拟机也需要占用不少的内存。在学校只有一台 8G RAM 的笔记本,日常使用 FireFox 都能吃满内存,根本无法好好使用虚拟机,家里台式的 16G 或许还有希望。
  • 难以文件互访,这个是最重要的问题。用 Virtual Box 或者 VMware Workstation 要实现共享文件夹,还需要使用插件重新编译 Linux 内核。每次更新内核都需要重写编译一次,实在是有点不现实。

由于这两个问题,先是尝试了在 USB 3.0 的 U 盘上装,但是装好就知道有多难受了,U 盘的读写性能实在是差,随便打个命令都卡,甚至用 Tab 自动补全都会卡。既然自己的重要数据早就备份到了 OneDrive 上,遂决定直接在硬盘上安装。

这里做一个不完整的安装记录,主要是安装过程自己遇到的一些问题。

磁盘分区调整

首先就是缩小现有分区,创建一个未格式化的新分区给 Arch Linux 作为主分区,这里有几个小问题。

Windows 10 安装时默认会创建三个无盘符分区:Recovery(500MB)、EFI(100MB)、预留分区(16MB),100MB 的 EFI 分区根本装不下 GRUB + intel-ucode,这个我一直到安装完系统,安装 GRUB 的时候才发现,又不得不去重新分区,把 EFI 分区扩容到 500MB。

用微 PE 做了个 WinPE 的 U 盘,在 WinPE 环境下使用自带的 Disk Genius 进行操作。这里出现了个很奇怪的问题:如果直接选择后面的分区去给 EFI 分区扩容,会莫名其妙被识别为对预留分区的操作,然而又无法对预留分区进行任何操作。尝试把后面的分区移动至 EFI 分区和预留分区之间,也因为预留分区而无法正常进行。Disk Genius 对 Windwos 的预留分区的支持似乎有些问题。

尝试了自己下载的最新版 Disk Genius ,依然有这个问题。之后发现 WinPE 还自带了一个分区软件,就叫分区助手.虽然没见过,但也懒得管那么多了,直接用。分区助手可以正常识别和操作预留分区,直接把空余出来的硬盘空间移动到 EFI 分区和预留分区之间,再合并,一切正常。

系统

系统的安装与配置主要参考了 Arch Linux 官方的 Installation guideArchWiki,还有 viseator 的 "以官方Wiki的方式安装ArchLinux" 以及他其他的两篇关于 Arch Linux 博文。

镜像源现在已经没有必要修改了,最新的默认镜像源已经从中国科大换成了清华。以前在虚拟机安装的时候,如果用默认的中国科大的镜像源,下载速度慢的不行,导致安装时间极大地延长。

arch-chroot /mnt

在执行命令切换至安装好的系统后,如果使用 WiFi 连接网络,一定要在拔下 U 盘重启前,安装好 dialog 和 wpa_supplicant 这两个软件包,也可以顺便装上 vim 。

pacman -S vim dialog wpa_supplicant

如果没有装上 dialog 和 wpa_supplicant,重启至新系统后,wifi-menu 是无法正常使用的。dialog 是必须的依赖,而 wpa_supplicant 则是用于连接到使用 WPA 加密的信号。

不知道为什么 U 盘内精简的系统都自带 dialog、 wpa_supplicant 和 vim 的,然后安装的全新系统又是不带的。我平常使用 WiFi 联网,一开始不知道需要安装,结果无法联网,又从 U 盘启动去安装。

硬件时间

参考 Time - ArchWiki#Windows_.E7.B3.BB.E7.BB.9F.E4.BD.BF.E7.94.A8_UTC)

由于 Windows 和 Linux 对硬件时钟的默认处理方式不同:Windows 将硬件时间作为本地时间进行读写,而 Linux 则将其作为 UTC。使用双系统的时候就会出现问题。在切换系统后,系统显示的时间会发生变化,最开始我还没搞明白为什么时间发生了变化,严重影响正常使用。

Linux 可以将硬件时间修改为本地时间,这样两个系统的时间就不会不一致,而将 Windows 修改为 UTC 需要修改注册表,相对来说麻烦点。

timedatectl set-local-rtc true

GRUB

由于安装了双系统,需要启动到不同的系统。安装 os-prober 可以对硬盘内的其他系统进行检测,避免手动配置 GRUB 的双系统引导。

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

第一次执行命令生成配置,并没有检测到 Windows 并生成相应的引导,重启之后再运行

os-prober

才能正常检测到 Windows Boot Manager。

配置一下启动顺序,默认直接就是启动 Arch Linux 并不合适。

vim /etc/default/grub

我选择记住上次启动项,把 GRUB_DEFAULT 的值从 0 修改为 saved。这里有个坑,只是改成 saved 并不能记住上次的启动项,同时需要加入一行 GRUB_SAVEDEFAULT=true。把等待时间从五秒修改为三秒,将 GRUB_TIMEOUT 的值改为 3.

KDE

桌面环境的安装与配置参考了这篇博文 "寒假折腾Archlinux的一些经验(新手向)--桌面配置篇"

主要是看看有哪些软件包是不必要的,把 KDE 内不必要的软件包全部删了:kdegames、kdeedu、kdeartwork、kdeplasma-addons、 kdeaccessibilit、kdewebdev

Fcitx 和中文字体

参考 Fcitx - ArchWiki)

使用 Fcitx 作为输入法,需要安装 fcitx 和 fcitx-im 两个软件包,fcitx-im 用于提供对 Gtk+/Qt 的输入支持。

使用 fcitx-libpinyin 作为中文输入,fcitx-anthy 作为日语输入,在安装完成后需要重启系统才能正常使用输入法。

要正常显示汉字需要手动安装汉字字体,否则中文字体会乱码。安装官方源内的 noto-fonts-cjk,包含中日韩三国的汉字字体。

Last modification:May 29, 2022