在计算机中安装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的安装过程完全要考命令行来操作,初次安装可能会有一些问题。但是具体的安装步骤都是差不多的:

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

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

相关文章
|
6天前
|
Ubuntu Linux 编译器
在Ubuntu Linux系统下如何搭建并安装EDK2
以上就是在Ubuntu Linux系统下搭建并安装EDK2的过程。这个过程可能会有些复杂,但只要按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,都可以在网上找到相应的解决方案。希望这个指南能对你有所帮助!
50 17
|
19天前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
48 10
|
12天前
|
安全 Java Linux
Linux安装Elasticsearch详细教程
Linux安装Elasticsearch详细教程
47 1
|
20天前
|
Ubuntu Linux PHP
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
66 6
|
1月前
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
161 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
1月前
|
Java Linux 应用服务中间件
在Rocky Linux 9上安装JDK并配置环境变量!
本教程介绍在Rocky Linux 9上安装JDK并配置环境变量的完整步骤。首先更新系统,清理旧版本JDK相关包及残留文件,确保环境干净。接着搜索并安装所需版本的JDK(如OpenJDK 17),验证安装是否成功。然后查找JDK安装路径,配置全局环境变量`JAVA_HOME`和`PATH`,最后验证环境变量设置。按照此流程操作,可顺利完成Java开发环境搭建,支持多版本切换(如JDK 8/11/17)。生产环境请谨慎操作,避免影响现有服务。
130 21
|
21天前
|
SQL Linux 数据库
YashanDB Linux客户端安装
本文详细介绍了YashanDB客户端在Linux系统中的安装、使用与卸载步骤。安装方法包括适用于所有Linux平台的脚本安装和专用于CentOS的rpm安装。脚本安装需解压软件包并配置环境变量,而rpm安装则需以root用户执行相关命令。此外,文章还说明了如何通过yasql连接YashanDB并进行数据库操作,以及两种安装方式对应的卸载方法,帮助用户顺利完成客户端的管理与维护。
|
1月前
|
关系型数据库 MySQL 应用服务中间件
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
106 23
|
28天前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
1月前
|
存储 NoSQL Linux
微服务2——MongoDB单机部署4——Linux系统中的安装启动和连接
本节主要介绍了在Linux系统中安装、启动和连接MongoDB的详细步骤。首先从官网下载MongoDB压缩包并解压至指定目录,接着创建数据和日志存储目录,并配置`mongod.conf`文件以设定日志路径、数据存储路径及绑定IP等参数。之后通过配置文件启动MongoDB服务,并使用`mongo`命令或Compass工具进行连接测试。此外,还提供了防火墙配置建议以及服务停止的两种方法:快速关闭(直接杀死进程)和标准关闭(通过客户端命令安全关闭)。最后补充了数据损坏时的修复操作,确保数据库的稳定运行。
83 0