Windows 11 和 Arch Linux 双系统
还不会安装 Linux?从安装 Arch Linux 开始吧!Windows 11 和 Arch Linux 双系统,启动!
下载系统镜像
前往官方下载地址,我使用的 HTTP 下载:
磁盘管理
使用 Windows 的磁盘管理从 D 盘分 170GB 空闲空间出来,如下图。
制作启动盘
空 U 盘插入电脑,如下图,使用 Rufus 制作,注意分区类型为 GPT 而非默认的 MBR,写入方式为推荐的 ISO。
禁用快速启动和休眠[1]
时间表示标准统一[2]
Windows 默认使用的时间表示标准为 localtime,Arch Linux 默认为 UTC。在此修改 Windows 的为 UTC 以保持统一,Windows 11 中执行如下命令。
1 | reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f |
重新启动 Windows 11 生效。
BIOS 设置确认
启动盘插入电脑,重启电脑,同时不停按 F2 进入 BIOS,确认以下几点:
- 引导模式为 UEFI;
- 禁用 Secure Boot;
- 如果硬盘是 NVMe 的,硬盘的启动方式需为 AHCI。
从 U 盘启动
F10 保存退出 BIOS 后不停按 F12 进入启动项选择界面,键盘上下键选择带“EFI”“USB”字样的,一般是第二个,等待。
下面就可以正式开始安装 Arch Linux:
验证引导模式
要验证引导模式,执行下列命令列出 efivars 目录。
1 | ls /sys/firmware/efi/efivars |
如果命令结果显示了目录且没有报告错误,则系统以 UEFI 模式引导。
连接无线网
进入交互式提示符(interactive prompt):
1 | iwctl |
列出所有 WiFi 设备:
1 | device list |
我的网卡名字为 wlan0,扫描:
1 | station wlan0 scan |
列出所有可用的网络:
1 | station wlan0 get-networks |
连接到一个网络:
1 | station wlan0 connect <Network name> |
输入密码后回车,没有提示的话就是连接成功了,可执行下列命令查看连接状态。
1 | station wlan0 show |
退出交互式提示符:
1 | exit |
更新系统时间
使用 timedatectl 确保系统时间是准确的:
1 | timedatectl set-ntp true |
建立硬盘分区
查看分区情况:
1 | lsblk |
我的硬盘名字为 nvme0n1,使用 cfdisk 进行管理:
1 | cfdisk /dev/nvme0n1 |
找到以上分出来的 170GB 的空闲空间,选择 New,首先是给根分区分配 32GB,再选择剩下的 138GB,如下图。
选择 New,给交换分区分配 3GB,选择 Type,设定分区类型为 Linux swap,如下图。
选择剩下的 135GB,选择 New,给家分区分配剩下的空间,选择 Type,设定分区类型为 Linux home,如下图。
选择 Write,输入 yes 回车:
选择 Quit 退出。
格式化分区
再次查看分区情况,发现多了三个分区:
1 | lsblk |
将根分区格式化为 ext4 格式:
1 | mkfs.ext4 /dev/nvme0n1p5 |
将交换分区格式化:
1 | mkswap /dev/nvme0n1p6 |
将家分区格式化为 ext4 格式:
1 | mkfs.ext4 /dev/nvme0n1p7 |
挂载分区
将根分区所对应硬盘卷挂载到/mnt
:
1 | mount /dev/nvme0n1p5 /mnt |
激活交换分区:
1 | swapon /dev/nvme0n1p6 |
建立目录 home:
1 | mkdir /mnt/home |
将家分区所对应硬盘卷挂载到目录 home:
1 | mount /dev/nvme0n1p7 /mnt/home |
查看硬盘,找到 EFI System 分区所对应硬盘卷为 nvme0n1p1。:
1 | fdisk -l |
建立目录 boot:
1 | mkdir /mnt/boot |
将 EFI System 分区所对应硬盘卷挂载目录 boot:
1 | mount /dev/nvme0n1p1 /mnt/boot |
配置镜像
使用 reflector 来获取速度最快的 6 个镜像,并将地址保存至目录 mirrorlist:
1 | reflector -c China -a 6 --sort rate --save /etc/pacman.d/mirrorlist |
更新应用软件库(源),检查下载速度:
1 | pacman -Syy |
安装必需软件包
使用 pacstrap 脚本,安装 base/base-devel 软件包、 Linux 内核、常规硬件的固件、Vim 和 AMD CPU 驱动:
1 | pacstrap /mnt base base-devel linux linux-firmware vim amd-ucode |
配置系统
fstab
用以下命令生成文件 fstab(用-U
设置 UUID):
1 | genfstab -U /mnt >> /mnt/etc/fstab |
检查生成的文件 fstab:
1 | cat /mnt/etc/fstab |
切换到装好的系统:
1 | arch-chroot /mnt |
时区
设置时区:
1 | ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
同步硬件时钟:
1 | hwclock --systohc |
本地化
编辑文件 locale.gen:
1 | vim /etc/locale.gen |
取消掉 en_US.UTF-8 UTF-8 和 zh_CN.UTF-8 UTF-8 前的注释(#)。
生成 locale 信息:
1 | locale-gen |
创建 locale.conf(5) 文件,设定 LANG 变量:
1 | vim /etc/locale.conf |
1 | LANG=en_US.UTF-8 |
网络
创建文件 hostname,自定义设定主机名:
1 | vim /etc/hostname |
1 | PC-LAPTOP |
修改文件 hosts:
1 | vim /etc/hosts |
增加行如下(中间的空白用 tab 而非空格,PC-LAPTOP 替换为你自己的主机名)。
1 | # Static table lookup for hostnames. |
Root 密码
1 | passwd |
输入并确认密码(密码没有回显,输完直接回车即可)。
安装基本软件包
安装基本软件包,使用 GRUB 为启动器:
1 | pacman -S grub efibootmgr networkmanager network-manager-applet dialog wireless_tools wpa_supplicant os-prober mtools dosfstools ntfs-3g linux-headers reflector git sudo |
编辑文件 grub:
1 | vim /etc/default/grub |
取消掉 GRUB_DISABLE_OS_PROBER=false 前的注释(#)。
再执行以下命令:
1 | grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch |
生成 grub.cfg:
1 | grub-mkconfig -o /boot/grub/grub.cfg |
重启
退出新系统:
1 | exit |
取消挂载:
1 | umount -R /mnt |
重启:
1 | reboot |
登入新系统
连接无线网
启动网络服务:
1 | systemctl enable --now NetworkManager |
设置 WiFi:
1 | nmtui |
创建个人用户并授权
创建用户 ql,创建家目录,加入 wheel 组,指定 shell:
1 | useradd -m -G wheel -s /bin/bash ql |
为用户 ql 设定密码:
1 | passwd ql |
编辑文件 sudoers:
1 | EDITOR=vim visudo |
取消掉%wheel ALL=(ALL:ALL) NOPASSWD: ALL
前的注释(#)。
安装显卡驱动
我的电脑是 AMD 集显:
1 | pacman -S xf86-video-amdgpu |
安装 Display Server
我装的是开源世界最为流行的 xorg:
1 | pacman -S xorg |
出现选择直接回车即可。
安装 Display Manager
我装的是 KDE 的:
1 | pacman -S sddm |
设置开机自动启动:
1 | systemctl enable sddm |
安装 Desktop Environment
安装 KDE:
1 | pacman -S plasma kde-applications packagekit-qt5 |
一路默认即可。
重启
1 | reboot |
以个人用户登录。
安装字体
英文字体:
1 | sudo pacman -S ttf-dejavu ttf-droid ttf-hack ttf-font-awesome otf-font-awesome ttf-lato ttf-liberation ttf-linux-libertine ttf-opensans ttf-roboto ttf-ubuntu-font-family |
中文字体:
1 | sudo pacman -S ttf-hannom noto-fonts noto-fonts-extra noto-fonts-emoji noto-fonts-cjk adobe-source-code-pro-fonts adobe-source-sans-fonts adobe-source-serif-fonts adobe-source-han-sans-cn-fonts adobe-source-han-sans-hk-fonts adobe-source-han-sans-tw-fonts adobe-source-han-serif-cn-fonts wqy-zenhei wqy-microhei |
系统语言
按 Win 键,搜索运行 language,添加简体中文(在最下方),调整其优先级到最上方,Apply(应用):
注销重新登录以生效。
添加 archlinuxcn 源
编辑文件 pacman.conf:
1 | sudo vim /etc/pacman.conf |
文件末尾空一行追加以下内容(使用的北外的镜像站)。
1 | [archlinuxcn] |
同步并安装 archlinuxcn-keyring:
1 | sudo pacman -Sy && sudo pacman -S archlinuxcn-keyring |
安装 yay
1 | sudo pacman -S yay |
安装输入法[3]
安装 fcitx、fcitx-im 和 fcitx-configtool:
1 | sudo pacman -S fcitx fcitx-im fcitx-configtool |
1 | yay -S fcitx-sogoupinyin |
一路回车即可。
创建文件 .pam_environment:
1 | vim ~/.pam_environment |
设置 IM 环境变量:
1 | GTK_IM_MODULE DEFAULT=fcitx |
注销重新登录,按 Win 键,搜索“Fcitx 配置”,回车运行,将位于第一个的“键盘 - 英语(美国)”删除,输入法即可正常使用了。
安装 Timeshift
当系统出现故障的时候,可以通过备份的快照来恢复系统。
1 | sudo pacman -S timeshift |
按 Win 键或者 Alt+Space,搜索运行 Timeshift。
快照类型一般选择 RSYNC:
选择快照位置:
选择快照等级:
默认是不备份用户目录,默认即可。
设置完成:
启用并启动 cron:
1 | sudo systemctl enable --now cronie |
安装 fish
1 | sudo pacman -S fish |
设定为默认 shell:
1 | chsh -s /usr/bin/fish |
注销重新登录以生效。
禁用休眠[4]
编辑文件 sleep.conf:
1 | vim /etc/systemd/sleep.conf |
1 | [Sleep] |
1 | [Sleep] |
安装火狐浏览器
1 | sudo pacman -S firefox |
安装中文语言包:
1 | sudo pacman -S firefox-i18n-zh-cn |
美化启动项选择界面
每次重启电脑,如下图,默认的启动项选择界面看起来比较简朴,我们可以换一个主题。
前往主题仓库,下载 Arch 主题文件:
安装 Grub Customizer:
1 | sudo pacman -S grub-customizer |
按 Win 键或者 Alt+Space,搜索运行 Grub Customizer。
点击外观设置,设定分辨率为 1920x1080:
点击主题后面的加号,选择以上下载好的主题文件,点击左上角文件,保存:
重启,至此,Windows 11 和 Arch Linux 双系统安装园满完成。