Archlinux简单安装教程,适合新手超详细图文教程

1,102 阅读7分钟

虚拟机配置

VMware创建虚拟机的时候选择

其他 Linux 5.x 或更高版本内核

,其他地方默认就可以,配置尽量给高点。

VMware系统选择其他 Linux 5.x 或更高版本内核

等待加载完成就会进入安装界面。

进入安装界面

验证引导模式

执行以下命令:

ls /sys/firmware/efi/efivars

如果提示:

ls: cannot access '/sys/firmware/efi/efivars': No such file or directory

表示以BIOS方式引导,反之能看到显示了目录并且没有报错则是以UEFI模式引导。(引导模式不同安装方法略有区别,下面会说到。)

这里使用的是BIOS引导

连接网络

使用虚拟机安装的可以跳过联网这一步

Arch需要联网安装,所以要先连接网络。

有线连接

如果有线网并且路由支持DHCP的话,系统会自动获取ip。使用以下命令查看ip:

ip addr

如果没有自动获取ip的话,执行

dhcpcd

命令获取ip。

无线连接

1、使用

iwctl

连接WiFi

我用iwctl获取不到无线网卡,这里不做说明

iwctl获取不到无线网卡

2、使用

wpa_cli

连接WiFi

查看无线网卡名称(两个命令任意一个都可以):

iwconfig

ip link

我的网卡名称是wlan0

查看无线网卡名称

先建立一个最小的配置文件:

echo 'ctrl_interface=/run/wpa_supplicant'>/etc/wpa_supplicant.conf

启动 wpa_supplicant(

wlan0

是无线网卡名称):

wpa_supplicant -B -Dwext -iwlan0 -c/etc/wpa_supplicant.conf

启动wpa_supplicant

1、用

iwlist

扫描无线信号

iwlist wlan0 scan | grep ESSID


2、用

wpa_cli

扫描无线信号

执行:

wpa_cli

进入交互界面

扫描无线信号:

scan

查看扫描结果:

scan_result

扫描无线信号

连接WiFi,我的热点是:NETGEAR_2.4G,假设密码是123456789

执行

add_network

上面命令会返回一个id,后面配置需要用到,我返回的是

0

set_network 0 ssid "NETGEAR_2.4G"
set_network 0 psk "123456789"
enable_network 0
quit

连接WiFi

连接完成后执行:

ip addr

查看网络连接情况。

验证网络是否正常,执行:

ping www.baidu.com

如果能获取到ip说明网络连接正常。

查看网络连接情况、验证网络是否正常

安装系统

整个安装过程都需要敲命令完成,使用虚拟机安装或者有条件的建议通过ssh连接安装(方便复制命令)
先执行以下命令设置root密码
passwd
设置好密码后就可以连接ssh了。

更新系统时间

timedatectl set-ntp true

以上命令不一定有内容输出。

查看服务状态:

timedatectl status

更新系统时间

创建硬盘分区并格式化、挂载分区

查看硬盘列表:

fdisk -l

查看硬盘列表

结果中以 rom、loop、airoot结尾的设备可以忽略。

我虚拟机分配了

/dev/sda

/dev/sdb

两块硬盘,系统安装在sda上面(以下命令都用sda,自己安装的时候根据实际情况修改)

建立分区

根据官方维基的示例,UEFI引导模式需要建立一个类型为 EFI 的分区,如果要启动的磁盘已有一个EFI系统分区就不需要再建立另一个EFI分区,使用现有的就行,前提得排除该分区不是启动u盘上的分区。

官方分区示例:

UEFI引导

挂载点分区分区类型建议大小
/mnt/boot/dev/efi_system_partitionEFI 系统分区至少 300 MiB
[SWAP]/dev/swap_partitionLinux swap (交换空间)大于 512 MiB
/mnt/dev/root_partitionLinux x86-64 根目录 (/)剩余空间

BIOS引导

挂载点分区分区类型建议大小
[SWAP]/dev/swap_partitionLinux swap (交换空间)大于 512 MiB
/mnt/dev/root_partitionLinux x86-64 根目录 (/)剩余空间

执行以下命令进行分区

fdisk /dev/sda

输入

n

建立新分区,程序会让你选择分区类型、分区号、起始扇区,一般直接回车默认就好,最后设置分区空间大小,我建立了3个分区,一个

swap

分区,一个60G的分区挂载到

/home

,剩下的空间建立一个分区挂载到 根目录

/

建立完分区输入

p

查看建立的分区是否正确,如果不对可以重建建立。正确的话输入

w

保存。

下面是我的分区过程,仅供参考。

分区过程

格式化分区

我的分区顺序是

/dev/sda1:交换空间分区(SWAP)

/dev/sda2:挂载到 /home

/dev/sda3:挂载到 /

mkswap /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3

格式化分区

如果使用UEFI引导模式,并且是新建立的efi系统分区,不是磁盘上原本已有的,还需要格式化efi分区

sdax替换成之前建立的efi分

mkfs.fat -F32 /dev/sdax

格式化efi分区

挂载分区

使用mount命令挂载,挂载分区一定要按照顺序先挂载根目录

/

再挂载其他目录。

mount /dev/sda3 /mnt
mkdir /mnt/home
mount /dev/sda2 /mnt/home

挂载分区

如果使用UEFI引导模式的话还需要挂载efi分区

sdax替换成之前建立或者原本已有的efi分区。

mkdir /mnt/boot
mount /dev/sdax /mnt/boot

选择镜像源

Archlinux安装过程需要联网,默认的源可能偏慢,建议先修改成国内的源再安装。

可以从官网下载中国的镜像源列表

先备份当前镜像源列表,然后再使用

curl

命令下载。

cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
curl -o /etc/pacman.d/mirrorlist 'archlinux.org/mirrorlist/…'

注意最后的

CN

要大写。

下载完成后执行以下命令查看下载是否完成:

cat /etc/pacman.d/mirrorlist

如果下载成功的话,执行以上命令就可以看到镜像列表已经变成China的了,不过都是被注释掉的,需要把前面的#删掉才可以

选择镜像源

使用sed命令替换:

sed -i 's/#Server/Server/g' /etc/pacman.d/mirrorlist

安装软件包

pacstrap /mnt base base-devel linux linux-firmware dhcpcd

下载安装软件包时间可能比较久,可以先喝杯茶休息下。

配置系统

fstab

使用

genfstab

生成自动挂载分区的fstab文件

genfstab -L /mnt >> /mnt/etc/fstab

查看挂载是否正确

cat /mnt/etc/fstab

生成fstab文件

Chroot

Change root 到新安装的系统:

arch-chroot /mnt

设置时区

这里以设置为上海时区为例

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

生成

/etc/adjtime

文件

hwclock --systohc

安装常用软件工具

pacman -S vim net-tools netctl dialog wpa_supplicant

安装常用软件工具

设置语言

编辑

/etc/locale.gen

文件

en_US.UTF-8 UTF-8

zh_CN.UTF-8 UTF-8

zh_HK.UTF-8 UTF-8

这3行前面的

删掉。

sed -i 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen
sed -i 's/#zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/' /etc/locale.gen
sed -i 's/#zh_HK.UTF-8 UTF-8/zh_HK.UTF-8 UTF-8/' /etc/locale.gen

设置语言

生成locale信息:

locale-gen

创建

/etc/locale.conf

文件

echo 'LANG=en_US.UTF-8'>/etc/locale.conf

设置主机名&创建hosts文件

echo 'notevm'>/etc/hostname
echo '
127.0.0.1 localhost
::1 localhost
127.0.0.1 notevm.localdomain notevm
'>>/etc/hosts

设置 Root 密码

passwd

设置root密码

按提示输入密码即可(输入的密码是看不到的)

安装Intel(amd)-ucode

虚拟机安装的可以跳过这一步

Intel处理器

pacman -S intel-ucode

AMD处理器

pacman -S amd-ucode

安装引导程序

安装grub还有os-prober和ntfs-3g这两个包,它可以配合Grub检测已经存在的系统,自动设置启动选项。

pacman -S grub os-prober ntfs-3g

BIOS引导模式
grub-install --target=i386-pc /dev/sda
这里sda是硬盘,不是分区(sdax)
生成配置文件
grub-mkconfig -o /boot/grub/grub.cfg

BIOS安装引导

UEFI引导模式
UEFI模式需要安装多个
efibootmgr

pacman -S efibootmgr
安装完成后执行:
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
生成配置文件:
grub-mkconfig -o /boot/grub/grub.cfg

UEFI安装引导

重启

到这里系统安装就已经完成了,接下来卸载挂载并重启系统

执行

exit

退出chroot环境。

建议先卸载分区挂载再重启

UEFI模式要卸载 /mnt/boot

umount /mnt/boot

umount /mnt/home
umount /mnt
reboot

重新启动后能看到此界面就是已经安装成功了