ArchLinux安装(移动硬盘)流程
2023-3-1
·
hexer

务必对照archlinux官方安装wiki在可移动设备上安装 Arch Linux阅读本文

本文参考Arch Linux 实体机中文安装教程 | 2021年3月和官方wiki编写

前言

本系统是安装在固态移动硬盘上的,容量为1T,其中400G用作nfts格式的移动硬盘(在windows和linux中都可以使用),剩余容量作ArchLinux的系统盘

主要还是因为怕滚挂,以及固态的读写速度完全足够

制作启动盘

用带拓展的VirtualBox安装也可以,取代启动盘这个流程

iso文件下载地址

下载完之后记得校验一下,下载处有hash码

certutil -hashfile "下载的iso镜像文件名" sha256

我使用的工具是ventoy,它是一个多系统启动盘

其他软件制作启动盘也行,但是多系统启动盘真的香,而且它开源

Ventoy官方中文使用文档

截图

安装

前言已述,1T固态,600G作为ArchLinux系统本身,400G作为移动硬盘,即插入Windows可识别400G,用固态启动即为ArchLinux,挂载也可以使用那400G

可行性参考:https://wiki.archlinuxcn.org/wiki/%E5%9C%A8%E5%8F%AF%E7%A7%BB%E5%8A%A8%E8%AE%BE%E5%A4%87%E4%B8%8A%E5%AE%89%E8%A3%85_Arch_Linux#%E5%AE%89%E8%A3%85%E6%97%B6%E7%9A%84%E5%BE%AE%E8%B0%83

准备

flowchart LR
插入启动盘 --> 打开电脑进入BIOS --> 选择UEFI模式 --> 禁用安全启动SecureBoot并选择启动盘启动 --> 重启后进入正式安装

启动盘可能是移动硬盘也可能是U盘,取决于你把ventoy安装在哪

每个电脑进入BIOS的方式不同,请自行上网搜索

一般都采用UEFI+GPT的形式安装,旧的BIOS+MBR也可以安装但是缺点很多不赘述了

安装时不支持安全启动所以需要关闭Secure Boot

进入选择界面后,选择archlinux,然后选择normal mode即可

一般选择normal mode,具体请参考Ventoy官方中文使用文档

进入Live环境准备安装

Live CD,又译为自生系统,是事先存储于某种可移动存储设备上,可不特定于计算机硬件而启动的操作系统(通常亦包括一些其他软件

验证引导模式

ls /sys/firmware/efi/efivars

如果打印出很多信息则代表使用UEFI模式引导,否则是BIOS模式引导

连接网络

有线连接

ping baidu.com

查看网络是否可以ping通

无线连接

可以使用iwctl这个工具连接

iwctl文档

举例:iwctl->device list->station wlan0 scan->station wlan0 get-networks->station wlan0 connect <WIFI名>,最后输入密码即可

更新系统时间

timedatectl set-ntp true

建立磁盘分区

lsblk查看磁盘情况

我的固态硬盘是/dev/sda

使用gdisk分区工具清除磁盘

gdisk /dev/sda

输入?可以查看有哪些命令

我们直接先输入x再输入z,将磁盘清空设置成GPT

视频里的人一样,选择cgdisk来分区,那样更形象直观

其实gdisk也可以做到

分区过程省略,这里贴出我的分区

名字大小类型挂载点格式
/dev/sda1400Glinux和windows共用的分区/run/media/{用户名}/{硬盘名}exfat或者ntfs
/dev/sda21GEFI分区/mnt/bootefi
/dev/sda329G交换分区swapswap
/dev/sda420G根分区/mntext4
/dev/sda5剩下所有home分区/mnt/homeext4

我的固态是1T,所以一部分用来存储和windows的文件,但是需要将该分区设置为第一个分区,因为会假定可移动磁盘仅有一个分区,格式可以是exfat或者ntfs,如果是ntfs需要下载包ntfs-3g

格式化分区

分区完成后是格式化分区

# sda1到windows环境下再格式化,步骤略过
mkfs.fat -F 32  /dev/sda2
mkswap /dev/sda3
mkfs.ext4 /dev/sda4
mkfs.ext4 /dev/sda5

挂载分区

启动交换分区 swapon /dev/sda3

需要从跟分区开始挂载,不存在的文件夹需要创建

mount /dev/sda4 /mnt
mkdir /mnt/boot
mount /dev/sda2 /mnt/boot
mkdir /mnt/home
mount /dev/sda5 /mnt/home
mkdir /mnt/win_swap
mount /dev/sda1 /mnt/win_swap

正式安装

设置镜像服务器(可选)

镜像wiki

众所周知的原因,国外的源可能速度会很慢

源的文件在/etc/pacman.d/mirrorlist

我们可以使用工具将速度最快的几个源置顶

流程:

  1. 备份cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.cp
  2. 同步一下pacman-Syy
  3. 下载工具pacman -S pacman-contrib
  4. 使用命令rankmirrors -n 20 /etc/pacman.d/mirrorlist.cp > /etc/pacman.d/mirrorlist,国内最快的20个,数字自行修改

这样打开你会发现,前几个都是国内的源

在这个网站,你可以根据地理位置和协议生成新的mirrorlist文件

安装软件包

使用pacstrap命令安装,该命令专门用于从头开始创建新的系统安装

必要的包

包名描述
base用于定义基本 Arch Linux 安装的最小包集
linux-firmwarelinux固件

可以安装的包(后面再安装也可以)

包名描述
ntfs-3g读写ntfs格式,原生Linux不兼容ntfs
vimvim编辑器
nanonano编辑器

元软件包和软件包组

配置系统

用以下命令生成 fstab 文件 (用 -U-L 选项设置 UUID 或卷标):

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

fatab用于定义磁盘空间

chroot到新系统

arch-chroot /mnt

时区

ln -sf /usr/share/zoneinfo/_Region(地区名)_/_City(城市名)_ /etc/localtime # 例子:ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc # 同步

本地化

两个文件locale.gen 与 locale.conf

locale.gen中取消掉en_US.UTF-8 UTF-8zh_CN_.UTF-8 UTF-8

接着执行

locale-gen

接着然后创建 locale.conf 文件,并编辑设定 LANG 变量

export LANG=en_US.UTF-8
vim /etc/locale.conf
LANG=en_US.UTF-8

一些配置

创建/etc/hostname并写入你想给计算机取的名字

以及你可以在host文件/etc/hosts也写入

127.0.0.1 localhost
::1 localhost
127.0.1.1 XXX.localdomain XXX

xxx是你的计算机名

Initramfs

不作加密,RAID等用途就暂时无需操作

ROOT密码

输入passwd

创建非root用户

useradd -m -g users -G wheel -s /bin/bash {用户名}

wheel是系统内置的用户组,允许这个用户组使用sudo和su但是需要配置

参考:sudo用户和用户组,里面有关于wheel组的描述

配置非root用户

参考设置示例

EDITOR=vim visudo

我是只有下面这三行,其他都注释掉了

root        ALL=(ALL:ALL) ALL
%wheel      ALL=(ALL:ALL) ALL
@includedir /etc/sudoers.d

安装引导程序

sudo pacman -Syu # 更新

如果你电脑CPU是intel的就执行sudo pacman -S intel-ucode

如果你电脑CPU是AMD的就执行sudo pacman -S amd-ucode

微码,又称为微指令,微码是什么参考几句话说清楚44:什么是微码Microcode

启动加载器很多,我选择了GRUB

安装必要的包

sudo pacman -S grub efibootmgr

然后输入

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB --removable --recheck

因为是移动硬盘,所以需要加上--removable

生成主配置文件

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

安全启动

我没有配置,请参考启用安全启动

探测其他操作系统

我失败了,请参考探测其他操作系统

重启

输入 exit 或按 Ctrl+d 退出 chroot 环境。

可选用 umount -R /mnt 手动卸载被挂载的分区

最后,通过执行 reboot 重启系统,systemd 将自动卸载仍然挂载的任何分区。不要忘记移除安装介质,然后使用 root 帐户登录到新系统。

安装KDE

我选择的图形化界面是KDE

请勿安装显卡驱动,因为这不是正常的环境而是在固态硬盘中

x11仅为GUI环境构建提供了框架(还有一种Wayland,其目的是为了取代x11)

xorg是x11的一种实现

我们先安装xorg

sudo pacman -S xorg

sddm是KDE推荐的显示管理器,所以我们也安装它

sudo pacman -S sddm

最后安装KDE

sudo pacman -S plasma

然后重启即可

其他

关于其他的,软件安装,系统美化,有需要可以参考:https://archlinuxstudio.github.io/ArchLinuxTutorial/#/

不重复写了

使用感受

从22年12月安装完成,到23年3月,午休摸鱼的时间补了一下这篇博客,总的来说,正常使用无问题,四五天不关机也没事,偶尔会出现一些显示问题,例如闪烁,闪一下又好了

有时候会卡顿,但不确定是什么情况产生的

安装程序有时候会遇上问题,需要一些动手能力才能解决

sda1的ntfs使用感受,感觉还是很方便的,但400G的ntfs并不够用,archlinux空余空间也不少,下次重装或许应该调整一下大小,而且可以写一个shell脚本自动化,加上LVM和加密