在计算机中安装Arch Linux

简介: Arch Linux是一个优秀的linux操作系统。其优点是滚动发行、软件包比较新,并且可以深度可定制。缺点是由于深度可定制,所以开始安装的时候只有命令行可用,对于linux新手来说会有一些难度。

Arch Linux是一个优秀的linux操作系统。其优点是滚动发行、软件包比较新,并且可以深度可定制。缺点是由于深度可定制,所以开始安装的时候只有命令行可用,对于linux新手来说会有一些难度。我也是练习安装了好多次,才逐渐从安装过程中学习到linux的组成部分并体会到Arch的优美之处的。

另外,Arch Linux一大特色就是拥有完善的wiki,因此如果想要了解更多信息的话,还是仔细的研究Arch Wiki最好了。我在这里的安装方案是UEFI+GPT Win、Deepin、Arch三系统方案

安装准备

  • 2G以上的空闲U盘
  • 最新的ArchLinux安装镜像
  • 启动盘制作工具,推荐rufus
  • 关闭BIOS中安全启动选项
  • 有网并且网络质量很好

然后制作一个Arch启动盘。我这里使用rufus制作的是UEFI+GPT方案。如果需要在MBR磁盘上安装的话,最好在Arch Wiki上查找对应的方法。

img_5887836615e78a5859a5cd8a2cd8aa89.jpe
rufus制作启动盘

制作好启动盘之后,将其插入电脑之中,重启进入BIOS并设置U盘为第一启动顺序,然后然后再次重启,就可以进入到Arch安装环境了。记着关闭BIOS中安全启动的选项,否则无法安装。另外Arch Linux在安装过程中需要全程联网下载最新的包。因此必须在有网环境下才能安装。

安装过程

确定UEFI启动

我选择的是UEFI的启动方案。所以首先需要确定当前安装介质是否以UEFI方式启动的。如果是UEFI启动的,那么就是下图这样的。

img_f6a7f63d0589bbfe24fd56e6f49ef0e7.jpe
UEFI启动

如果没注意这个地方就进入了命令行界面,也不用着急。这个命令可以确定当前是否以UEFI模式启动。如果是的话,会列出一堆UEFI变量来;如果什么都没有,则说明是BIOS方式启动的。

# ls /sys/firmware/efi/efivars

或者这样也可以查看当前的efi变量:

# efivar -l

测试是否有网络

如果是使用网线的话,直接测试就可以了:

# ping -c 4 www.baidu.com

如果使用的是无线网卡的话,需要先连接到网络。利用wifi-menu命令即可连接到无线网络。连接成功之后再次输入上面的命令来测试网络是否连通。

# wifi-menu

分区和格式化

分区

首先需要查看一下存储设备的状态,使用lsblk命令即可。这样会列出当前所有的存储设备。sdx(x是字母)代表不同的物理磁盘,而sdxi(i是数字)则是每个物理磁盘下的分区。

下图显示的是我的分区方案:

  1. sda是我的SSD,分区是安装Windows的时候由Windows分配的:sda1是恢复分区;sda2是EFI分区;sda3是保留分区,忽略即可;sda4是Windows系统下的C盘。
  2. sdb是我的普通硬盘。sdb1准备安装Arch Linux,sdb2准备安装Deepin,sdb4准备作为交换分区使用,剩下的分区作为Windows下的普通分区使用。剩下的sdc是我的移动硬盘,和安装过程没有关系。
img_99571a098d0ab627d3a2b870b2403a8e.jpe
使用lsblk查看存储设备

我在这里使用的是UEFI+GPT的方案,需要GPT格式的磁盘。如果不熟悉的话,可以在windows下事先分好区。我这硬盘就是在windows下将MBR转成GPT并重新分的区。

如果要在Arch的环境下分区也很容易。cfdisk是一个简单好用的终端模拟图形化的分区工具。如果有多个磁盘的话,需要添加命令行参数指定要操作的磁盘:

# cfdisk /dev/sdb

第一次使用cfdisk对未格式化的磁盘进行操作时会首先询问你是用什么分区表类型,推荐使用GPT。如果因为误操作点成DOS的话也没有关系,可以使用parted命令重新修改回GPT分区表。但是需要注意,分区表的修改会清楚磁盘上的所有数据,所以最好在一开始就想好要分配什么类型并提前将有用数据移出。

# parted /dev/sdb
(parted) mklabel gpt
(parted) quit

格式化

前面已经说了我的分区方案。在开始安装之前还需要将其格式化。首先格式化/dev/sdb1为ext4分区:

# mkfs.ext4 /dev/sdb1

然后格式化交换分区并启用:

# mkswap /dev/sdb4
# swapon /dev/sdb4

由于已经安装了Windows系统,所以EFI分区不需要再次格式化。

挂载

首先需要挂载根分区,如果需要挂载其他分区,也要在挂载根分区之后。

# mount /dev/sdb1 /mnt

然后挂载EFI分区,这需要先在根分区之下创建一个对应的文件夹:

# mkdir -p /mnt/boot/EFI
# mount /dev/sda2 /mnt/boot/EFI

交换分区不需要挂载。挂载完成之后,就变成这样的了:


img_449e35d7e9e208f52539595a9d04eba6.jpe
挂在完之后

安装基本系统

修改安装源

默认的镜像是美国的,在中国速度比较慢。这样的话就需要将软件安装位置修改成中国的镜像。软件源的配置文件在/etc/pacman.d/mirrorlist中。

用nano编辑器打开该文件,找到中国的源,使用Ctrl+K剪切行,然后Ctrl+U粘贴到文件最前面即可,不需要全部粘贴,只需要粘贴几个离你最近的源即可。别忘了去掉源前面的#号。

nano /etc/pacman.d/mirrorlist

修改之后的文件应该类似这样。

## China
Server = http://mirrors.163.com/archlinux/$repo/os/$arch
Server = http://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch
......

开始安装

修改完软件源之后,刷新一下软件仓库列表,就可以开始安装了。

# pacman -Syy
# pacstrap -i /mnt base base-devel

配置fstab

fstab是一个关于文件系统的配置文件,在开机时候会由mount命令读取并挂载其中的分区。在安装完基本系统之后,就可以将fstab信息写入新安装的系统中了。生成之后最好查看一下fstab是否生成成功。

# genfstab -U -p /mnt >> /mnt/etc/fstab
# nano /mnt/etc/fstab

新系统的配置

下面的配置都需要进入新系统进行配置。

进入新系统:

# arch-chroot /mnt /bin/bash

创建初始ramdisk环境,安装的时候这一步会自动进行,所以不需要手动执行。但是如果以后更改了内核配置的话,可能就需要重新生成一下ramdisk环境了。

# mkinitcpio -p linux

使用不带参数的passwd命令设置root密码:

# passwd

配置主机名:

# echo myhostname > /etc/hostname

然后将主机名添加到/etc/hosts文件中localhost和::1两行的末尾:

#<ip-address> <hostname.domain.org> <hostname>
127.0.0.1 localhost.localdomain localhost myhostname
::1 localhost.localdomain localhost myhostname

安装grub

grub是一个启动引导器,同时支持EFI和BIOS方式的启动。安装和配置起来也比较简单。首先要安装grub。如果使用UEFI方式启动,还需要安装efibootmgr。如果同时还装有其他操作系统,还要安装os-prober:

# pacman -S grub os-prober efibootmgr

安装好之后,还需要将其安装到EFI分区之中,这里不需要指明具体是哪个分区,因此不用数字:

# grub-install --recheck /dev/sda

如果提示error:cannot find EFI directory,说明找不到EFI文件夹的位置,还需要加上--efi-directory参数指明安装位置:

# grub-install --recheck /dev/sda --efi-directory=/boot

没有错误则说明安装成功。安装完毕之后还需要生成一个grub配置文件。这一步会探测系统上已经安装的系统并写入到配置文件中。但是由于在安装介质环境中,此时Windows系统可能会探测不到。等到一会重启真正进入Arch环境之后,还需要重新执行一下这个命令,这样就会正常地探测到所有系统了。

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

配置网络

如果使用有线网的话,令dhcp服务开机启动:

# systemctl enable dhcpcd.service

如果使用无线网络的话,要安装这几个包,否则重启之后无法连接无线网络:

# pacman -S iw wpa_supplicant dialog

退出并重启系统

前面的所有都配置完了之后,就可以退出chroot环境并重新启动了,当然不要忘了拔掉启动盘或者重新修改BIOS的启动顺序。

# exit
# reboot

正常情况下,应该就会进入到新安装的Arch环境了。使用root用户和前面设置的root密码登录进tty之后,重新执行一下grub-mkconfig命令即可搜索到所有的操作系统。

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

这样,一个最基本的Arch Linux就安装完成了。

总结

安装完成之后梳理一下可以发现,安装Arch Linux和安装其他Linux系统并没有什么大的区别,只不过Arch的安装过程完全要考命令行来操作,初次安装可能会有一些问题。但是具体的安装步骤都是差不多的:

  • 制作启动盘
  • 重启进入安装环境
  • 选择分区并进行挂载
  • 安装系统
  • 配置用户等设置

关于时区、时间、具体用户等配置我在这里并没有提及,准备放到以后的美化部分一起说。

相关文章
|
10天前
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像
安装【银河麒麟V10】linux系统--并挂载镜像
61 0
|
10天前
|
Linux C语言
linux yum安装ffmpeg 图文详解
linux yum安装ffmpeg 图文详解
28 0
|
10天前
|
NoSQL Linux Redis
linux 下和win下安装redis 并添加开机自启 图文详解
linux 下和win下安装redis 并添加开机自启 图文详解
15 0
|
10天前
|
Linux
linux yum 安装rar和unrar
linux yum 安装rar和unrar
35 0
|
3天前
|
关系型数据库 MySQL Linux
Linux联网安装MySQL Server
Linux联网安装MySQL Server
13 0
|
10天前
|
Java Linux 开发工具
linux jdk的安装
linux jdk的安装
16 0
|
18天前
|
Ubuntu Linux 虚拟化
【Linux】ubuntu安装samba服务器
【Linux】ubuntu安装samba服务器
|
18天前
|
NoSQL Linux Redis
Linux安装Redis
Linux安装Redis
26 0
|
18天前
|
Linux
Linux安装bind9搭建自己的域名服务器
Linux安装bind9搭建自己的域名服务器
11 0
|
22天前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
18 0