Archlinux安装(Wiki方式)

按照 Archlinux Wiki 安装,并结合网上现有的文档进行了梳理。个人在进行双系统的 grub 部署时,windows系统启动项一直无法生成,最后仔细查阅Wiki后解决。另外中文的Wiki有些地方翻译不够准确,可对比英文食用。

一、安装准备

下载并引导安装介质。启动完成后将会自动以 root 身份登录虚拟控制台并进入 Zsh 命令提示符。

键盘布局 (使用默认即可)

控制台键盘布局默认为 us(美式键盘映射)。列出所有可用的键盘布局,可以使用:

# ls /usr/share/kbd/keymaps/**/*.map.gz

如果您想要更改键盘布局,可以将一致的文件名添加进,但请省略路径和扩展名。比如,要添加 German键盘布局:

# loadkeys de-latin1

验证启动模式

如果以在 UEFI 主板上启用 UEFI 模式,Archiso 将会使用 systemd-boot 来 启动 Arch Linux。可以列出 efivars 目录以验证启动模式:

# ls /sys/firmware/efi/efivars

如果目录不存在,系统可能以 BIOS 或 CSM 模式启动。如下图


image

连接到因特网

守护进程 dhcpcd 已被默认启用来探测 有线网络设备,并会尝试连接。如果未启用,可手动启用:

# dhcpcd

可以使用 ping 验证连接是否正常:

# ping archlinux.org

如果没有可用网络连接,利用 systemctl stop dhcpcd@网络接口,TAB 停用dhcpcd 进程,网络接口 名可以通过 Tab补全。要加载驱动配置网络等,查看Wiki。

更新系统时间

可以先使用 timedatectl status 检查服务状态,查看时间是否准确。
如果时间有问题,使用 timedatectl 确保系统时间是准确的:

# timedatectl set-ntp true

建立硬盘分区

1、查看磁盘情况

磁盘若被系统识别到,就会被分配为一个 块设备,如 /dev/sda 或者 /dev/nvme0n1。可以使用 lsblk 或者 fdisk 查看存储设备情况:

# fdisk -l

结果中以 romloop 或者airoot 结束的可以忽略。

2、分区方案

对于选择安装系统的磁盘,采用如下分配方案基本满足需求:

  • 一个根分区(挂载在根目录,必须)/;
  • 一个home分区 (建议进行分区);
  • 交换分区,Swap可以在一个独立的分区上设置,也可以直接建立 交换文件
  • 如果使用UEFI/GPT 模式引导,必须有一个 EFI 引导分区(如果安装了其他UEFI引导的系统,则记下其EFI分区路径。如果是全新的硬盘则需要新建一个EFI的引导分区)
3、建立分区

建立分区,可以使用 fdisk 或 parted。例如使用 fdisk进入分区状态

# fdisk /dev/sda

**注意: **如果需要需要创建多级存储例如 LVM、disk encryption 或 RAID,请在此时完成。

  1. 建立分区表:先执行# fdisk /dev/sda,之后按 o建立分区表
  2. 进行分区(一般建立 / , /swap , /home三个分区):执行 n ,依次选择主分区、扩展分区,第几分区,起始扇区,结束扇区或者直接使用 +30G设置分区为30G大小。
  3. 如需修改分区类型:执行t,将swap分区类型改为Linux Swap类型。
  4. 保存分区。保存之前可输入p查看分区结果,确认无误执行w保存分区。
    image.png

格式化分区

当分区建立好了,这些分区都需要使用适当的 文件系统 进行格式化。例如将 /dev/sda1 格式化成 ext4,可以运行:

# mkfs.ext4 /dev/sda1

如果您创建了交换分区(例如 /dev/sda3),使用 mkswap 将其初始化:

# mkswap /dev/sda3
# swapon /dev/sda3

分别根据分区类型进行格式化。

挂载分区

首先将根分区 挂载 到 /mnt,例如:

# mount /dev/sda1 /mnt

如果使用多个分区,还需要为其他分区创建目录并挂载它们(/mnt/boot、/mnt/home 等,swap不需要挂载)。

# mkdir /mnt/boot
# mount /dev/sda2 /mnt/boot

接下来 genfstab 将会自动检测挂载的文件系统和 swap 分区。

二、安装

选择镜像

文件 /etc/pacman.d/mirrorlist 定义了软件包会从哪个镜像源下载。在列表中越前的镜像在下载软件包时有越高的优先权。修改文件 /etc/pacman.d/mirrorlist,并将地理位置最近的镜像源挪到文件的头部。这个文件接下来还会被 pacstrap 拷贝到新系统里,所以请确保设置正确。
找到标有China的镜像源,normal模式下按下dd可以剪切光标下的行,按gg回到文件首,按P(注意是大写的)将行粘贴到文件最前面的位置(优先级最高)。其他源:

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

安装基本系统

使用pacstrap脚本,安装 basebase-devel包组:

# pacstrap /mnt base base base-devel

base-devel也可以在#Chroot之后使用pacman 手动安装软件包或组:

# pacstrap -i /mnt base base-devel

三、 配置系统

Fstab

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

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

强烈建议 在执行完以上命令后,后检查一下生成的 /mnt/etc/fstab 文件是否正确。

# nano /mnt/etc/fstab
image.png

Chroot

Change root到新安装的系统:

# arch-chroot /mnt

时区

设置时区

# ln -sf /usr/share/zoneinfo/Region/City /etc/localtime

例如:

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

运行 hwclock以生成 /etc/adjtime

# hwclock --systohc

这个命令假定硬件时间已经被设置为 UTC时间

本地化

本地化的程序与库若要本地化文本,都依赖 Locale,后者明确规定地域、货币、时区日期的格式、字符排列方式和其他本地化标准等等。在下面两个文件设置:locale.genlocale.conf
/etc/locale.gen 是一个仅包含注释文档的文本文件。指定您需要的本地化类型,只需移除对应行前面的注释符号()即可,建议选择带 UTF-8 的项:

# nano /etc/locale.gen

en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8

接着执行 locale-gen 以生成 locale 讯息,/etc/locale.gen 会生成指定的本地化文件。:

# locale-gen

生成locale

创建 locale.conf 并编辑 LANG 这一 变量,比如:

# nano /etc/locale.conf

LANG=en_US.UTF-8

Tip: 将系统 locale 设置为 en_US.UTF-8,系统的 Log 就会用英文显示,这样更容易问题的判断和处理。不推荐在此设置任何中文 locale,会导致 TTY 乱码。
另外,如果你需要修改键盘布局,并想让这个设置持续生效,编辑vconsole.conf,例如:

# nano /etc/vconsole.conf

KEYMAP=de-latin1

主机名

要设置 hostname,将其 添加/etc/hostnamemyhostname 是需要的主机名:

# nano /etc/hostname

myhostname

并且添加 对应的信息hosts

# nano /etc/hosts

127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname

如果机器有一个永久的 IP 地址,请使用这个 IP 而不是 127.0.1.1

网络配置

对新安装的系统,需要再次设置网络。具体请参考Wiki Network configuration
对于 无线网络配置安装 软件包 iwwpa_supplicantdialog 以及需要的 固件软件包

Initramfs

你通常不需要创建 initramfs,因为在你执行 pacstrap 时已经安装 linux,这时 mkinitcpio会被自动运行。
如果修改了 mkinitcpio.conf ,用以下命令创建一个 Initramfs:

# mkinitcpio -p linux

Root 密码

设置 Root 密码 :

# passwd

安装引导程序

你需要安装 Linux 引导程序以在安装后启动系统,你可以使用的的引导程序在 启动加载器 中,请选择一个并且安装并配置它,比如 GRUB
如果你使用 Intel 或者 AMD 的 CPU,那么需要 启用微码更新

  1. 安装 os-prober 包 (多系统引导需要安装)
# pacman -S os-prober
  1. 安装 grub 包:
# pacman -S grub
  1. 部署 grub (下面仅为BIOS方式):
# grub-install --target=i386-pc /dev/sdx

Note:

  • --target=i386-pc指示grub-install是为使用BIOS的系统安装.
  • /dev/sdx 是已经完成 分区 的磁盘,grub 将安装到它上面。
  1. 生成配置文件:
# grub-mkconfig -o /boot/grub/grub.cfg

Note: 如果是安装多系统引导:

  • 必须安装第1步 os-prober
  • 并且mount其他系统所在的磁盘的引导分区(例如:/dev/sda1)
    之后grub-mkconfig 才可以自动搜索已经安装的其它系统并添加到启动菜单。一般出现在其他已安装系统在别的磁盘的情况。个人卡在这一步,并且找了好多文档,都没有提到提到这一步。
  • 如果还是没有生成其他系统的入口,可能是处于U盘安装环境下无法检测到其他系统的入口,请重启登陆之后重新运行第4步命令。如下图,请核对是否搜索到所有系统:


    生成配置文件

四、重启

输入 exit 或按 Ctrl+D 退出 chroot 环境。
可选用 umount -R /mnt 手动卸载被挂载的分区:这有助于发现任何「繁忙」的分区,并通过 fuser 查找原因。
最后,通过执行 reboot 重启系统,systemd 将自动卸载仍然挂载的任何分区。不要忘记移除安装介质,然后使用 root 帐户登录到新系统。

你可能感兴趣的:(Archlinux安装(Wiki方式))