arch安装过程


从manjaro到arch,记arch的安装过程

用了大约一个月左右,可以感觉到manjaro作为一个优秀的发行版,提供了非常好的用户体验(在了解一定Linux的情况下)。 其作为对arch的一个封装,把很多安装过程自动化了,同时获取了arch的更新迅速的优势,特别是加上了archlinux-cn源之后。 不过毕竟还是arch,有一些软件还是有一定延时。 几天前因为更新了archlinux-cn上的paraview之后,对应的一个依赖在manjaro上没有更新,造成了无法使用。 而且在搜索过程中,显示的是arch上的页面,并且是已经更新了的。 而manjaro是在找了一圈才发现,是包没有更新。

已经熟悉了pacman等arch系的工具,就想着直接装个arch试试。

刚好有点空闲,就试了试,期间还是有一些值得记录的过程。 整体感觉就是没有一定了解的话,很难一次安装成功, 不过也算了解了一些其他发行版几个点击背后的过程。

大部分参照 官方wiki 和这篇 博文

下载镜像并刻录

基本大部分Linux发行版都能在 清华中科大 的镜像源里找到, arch也不例外。 可以在右侧的获取安装镜像上找到Arch Linux下载即可。

如果是校园网用户可以将网址的mirrors改成mirrors6,即可做ipv6通道。

至于刻录,可以用linux下dd,windows下的Etcher或者rufus。 Etcher需安装,但是之前安装manjaro时,只有用这个刻录的U盘才能进入安装manjaro的页面。 rufus是直接可执行文件,较为方便,arch linux用这个就行。

安装

安装过程必须要联网,所以在重启前要想好以何种方式联网。

引导至U盘启动,注意是否是UFEI。进入Arch Linux live环境。

root@archiso ~ #

这个环境是最简单的命令提示符界面,不过命令设置非常用心,向ll这种别名都存在。

按照以上提及的两个网页说明, 设置一下键盘布局,时间,验证启动方式以及网络状态之后, 然后需要做的就是挂载分区,下载安装需要文件,设置必要参数,生成引导。

挂载分区

硬盘分区之类,因为是完全即成自之前的manjaro, 我在安装的时候没有重新分,仅仅格式化,然后挂载。

因为所用的DELL电脑有比较奇怪的主板模式, 采用的/boot,boot/efi,单独分区挂载。 另外再分出/,/home,以及swap。

将各个分区用linux系统的文件结构挂载/mnt上。

下载系统文件

根据自己的网络,修改/etc/pacman.d/mirrorlist, 比如将China的tuna源剪切至第一个。

然后执行 pacstrap /mnt base base-devel。 这个过程会联网下载系统系统到挂载在/mnt上各个硬盘分区上。

设置参数

为之后启动准备需要将整个/mnt的分区信息生成并保存至/mnt/etc/fstab

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

这个是关系到安装的系统之后启动如果挂载整个文件系统的,十分关键, 最好检查一下这个fstab的是不是正确挂载了需要的分区。

然后切换至以/mnt为根节点的文件系统。

arch-chroot /mnt

此时就是刚才下载的全新系统, 基本上什么软件也没有,仅有也写必要的文件。

pacman安装一些基本软件,比如vim之类。

然后设置时区,语言,root密码,hostname,hosts。

生成引导

有这样的文件系统还不足以称为系统,因为如果这时重启,计算机是无法进入这个系统的。 需要安装设置引导程序。

在尝试了system-boot无法进入系统之后,最终使用grub。

  • 安装:

    pacman -S grub efibootmgr

  • 部署:

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

  • 生成配置:

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

这一步出现了 warning failed to connect to lvmetad,falling back to device scanning.错误。 然后按照教程中所说,将/etc/lvm/lvm.conf 中 use_lvmetad 设置成0,重新运行成功。

然后检查一下/boot/grub/grub.cfg中有arch项。

重启

退出这个以/mnt为根节点的系统,回到root@archiso。然后重启。

如果一切顺利,就能进入标记为arch的tty1命令界面。

剩下的就是安装需要的软件,如图形界面。