转载请注明出处,本文链接 https://blog.csdn.net/ZGY_121/article/details/103574658
TL;DR
echo 'Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch' > /etc/pacman.d/mirrorlist
rootfs="/dev/sda2"
efifs="/dev/sda1"
mkfs.ext4 -f $rootfs
mkfs.fat -F 32 $efifs
mount $rootfs /mnt
mkdir -p /mnt/boot/EFI
mount $efifs /mnt/boot/EFI
pacstrap -K /mnt base base-devel neovim git wget iwd grub efibootmgr os-prober linux-firmware linux
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
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
locale-gen
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
echo 'hostname' > /etc/hostname
echo -e '127.0.0.1 localhost\n::1 localhost' >> /etc/hosts
grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg
passwd
useradd -m -G wheel -s [shell绝对路径] [用户名]
passwd [用户名]
exit
umount -R /mnt
reboot
安装前准备
启动LiveCD(Live Environment)
设置键盘布局
查看所有可用布局:
# ls /usr/share/kbd/keymaps/**/*.map.gz
在中国的话,默认的US布局是可以正常使用,无需更改
如果需要更改 使用 loadkeys 工具,键盘布局省略路径和文件后缀。比如设置德国键盘布局:
# loadkeys de-latin1
确定启动模式
本人以UEFI作为启动方式。如已确认支持UEFI,则可省略该步骤。
如果该目录不存在,则不支持UEFI启动。
# ls /sys/firmware/efi/efivars
连接网络
archlinux的liveCD环境支持大多数的有线和无线网卡,而且有现成的工具。
但是 安装之后的环境可能就没那么幸运了。详见配置
部分的相关内容
注意: archlinux的LiveCD使用的WIFI网络管理器是iwctl
。使用wifi的话需要配置一下wifi。使用网线的话可以跳过这一步。
这里简单介绍一下iwctl的基本用法
$ wctl #进入软件内部界面
#列出支持wifi的设备 (注意命令提示符的改变)
[iwd]# device list
#扫描可用wifi, device为你的wifi设备名称(上个命令的结果)
[iwd]# station device scan
#获取可用wifi列表,device为你的wifi设备名称
[iwd]# station device get-networks
#链接到某个SSID。device为你的wifi设备名称,SSID为某个热点的名称
# 如果热点需要密码,该命令会提示你输入密码
[iwd]# station device connect SSID
# 如果你知道你的设备名,热点名,也可以直接用命令连接
$ iwctl --passphrase passphrase station device connect SSID
更新系统时钟
系统时钟不再需要手动更新。不放心的话可以手动查看一下系统时间。
# timedatectl
磁盘分区、格式化、挂载
如果你的硬盘已有系统,并且想保留原有的系统,请先阅读多系统引导部分
按照自己的想法分区就好。
注意4k对齐,和特殊功能分区的格式(启动分区为fat32)
磁盘分区使用 fdisk或parted
格式化 | 命令 |
---|---|
extX(X=2/3/4) | mkfs.extX |
fat32 | mkfs -t vfat |
swap | mkswap(启用:swapon/关闭:swapoff) |
以下给出我使用的分区方案: | |
挂载点 | 分区 |
:----: | :--------: |
/mnt/boot | /dev/sdX1 |
/mnt | /dev/sdX2 |
/mnt/home | /dev/sdX3 |
无 | /dev/sdX4 |
其实,根目录分区完全没有必要这么大,一般来说 20GB左右就完全够用,建议最小不要少于8G。家目录分区也可有可无。如果磁盘紧张 的话可以参照这个,但是长期使用可能导致磁盘不足,如果只是学习用、虚拟机用则完全可以: | |
挂载点 | 分区 |
:----: | :--------: |
/mnt/boot | /dev/sdX1 |
/mnt | /dev/sdX2 |
安装
选择镜像
修改镜像列表文件
/etc/pacman.d/mirrorlist
我使用的是ustc源 Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
镜像列表有非常多的镜像站点,但具体到个人使用时,建议只保留最快的一个到两个。
安装必要的包
如果你不想看这部分下面的文字,直接运行这个命令
# pacstrap /mnt base base-devel linux linux-firmware
其中 /mnt是根分区挂载的路径
base 是必须的组包
另外内核包也不许有至少一个:
linux 是内核包
linux-lts 是长期支持内核包
考虑稳定性 可以使用长期支持版本的内核包(linux-lts
),追求新版本可以用linux
包
其他的包都是可选的。考虑纯净安装的话,可以不选,之后可以再根据需要用包管理器安装
linux-firmware 是驱动包(如果使用WiFi作为主要的网络链接方式,则强烈建议安装此包,除非你确定内核对你的网卡有相应的驱动)
base-devel 是基本开发工具包
我自己使用的命令是
# pacstrap /mnt base base-devel linux-lts linux-firmware
配置系统
更新fstab
-U 使用UUID -L 使用label
# genfstab -U /mnt >> /mnt/etc/fstab
检查一下/mnt/etc/fstab是否已有相应内容
Chroot
# arch-chroot /mnt
建议在chroot之后立即安装的包
- vim (或者其他文本编辑器)
- 网络管理器
iwd
/networkmanager
(使用图形界面后者可能会支持更好一些 )
本地化
时区设置
# ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
常用的中国(+8)时区(亚洲-上海)
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
调整时间
# hwclock --systohc
语言设置
编辑 /etc/locale.gen
文件,去掉en_US.UTF-8 UTF-8
那行的注释和你想要使用的语言(简体中文是zh_CN.UTF-8 UTF-8
)的注释:
.....
#en_US.UTF-8 UTF-8
.....
#zh_CN.UTF-8 UTF-8
.....
改成
.....
en_US.UTF-8 UTF-8
.....
zh_CN.UTF-8 UTF-8
.....
然后运行以下程序使更改生效:
# locale-gen
创建/etc/locale.conf文件并写入LANG
环境变量的值
/etc/locale.conf |
---|
LANG=en_US.UTF-8 |
如果你改变了键盘布局,那么还需要写入这个文件以永久保存设置(没改就不用) |
/etc/vconsole.conf |
:- |
KEYMAP=de-latin1 |
网络配置(可选)
主机名设置
/etc/hostname |
---|
myhostname |
hosts设置 |
/etc/hosts |
---|
127.0.0.1 localhost |
::1 localhost |
安装microcode
关于microcode详细介绍请查看wiki: MicroCode
如果是intel的CPU则执行:
# pacman -S intel-ucode
如果是amd的CPU则执行:
# pacman -S amd-ucode
系统引导
系统引导有相当多的工具,参见 Boot loader
本人使用的是GRUB,在此记录详细过程
再次强调:UEFI 启动方式
如果想装双系统,请在阅读完 多系统引导 部分之后再来操作本节的命令
首先,安装 grub
efibootmgr
和os-prober
(用于探测其他系统(windows)引导,可选)
然后,挂载efi分区
之后,执行下面的命令。其中 esp
是挂载efi分区的目录(按照我的目录分区那一节操作的话,是/boot
).GRUB
是该引导的ID,可以用任意值替代,之后更改BIOS启动项时会看到这个ID(本人使用GRUB-ARCH)
这个操作会创建
# grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB
# os-prober #需要挂载windows启动分区
# grub-mkconfig -o /boot/grub/grub.cfg
0x04配置
这个时候系统已经基本能够使用了,但我们还需要做一些简单配置。
基本软件的安装(必看)
网络相关软件
ArchLinux的安装镜像内含了丰富的网络支持,然而我们新安装的系统显然并没有这样的条件。所以我们需要 沾着安装镜像的光 把必要的网络软件安装好。
- 网络管理器 networkmanager(官方使用的是netctl)
networkmanager有官方GUI的支持,netctl有非官方的GUI包,其余功能基本相同。 - 有线部分暂缺(
因为我没用过有线连接)
注意,networkmanager服务需要手动开启:
# 设置开机自启动,注意大小写
# systemctl enable NetworkManager
创建一个普通用户
不再赘述
# useradd -m -G wheel [用户名]
如果你想指定默认的shell,则用下面的命令
# useradd -m -G wheel -s [shell绝对路径] [用户名]
(自己用的用户,给个wheel用户组不过分吧)
还有别忘了设置密码
# passwd #root用户密码
# passwd [用户名] #刚创建的用户密码
下一篇:我的Arch永远在安装(二:桌面环境的安装)(待更新)