安装使用Arch Linux(上篇)
目录
本教程大部分按照wiki的流程进行 【archlinux的wiki】
安装前
下载Arch Linux镜像
Arch Linux的镜像 【下载地址】
制作BIOS和UEFI下的usb启动盘
在windows下可以使用Rufus将iso镜像写入u盘中,选择你的iso镜像和你想要写入的u盘然后点击开始即可(注意:记得选择DD模式写入)。
从启动盘启动Arch Linux
启动完成后将会自动以root用户的身份登录虚拟控制台并进入zsh命令提示符。类似systemctl的常规命令都可以使用Tab自动补全。
验证boot模式
如果UEFI模式在主板中被启用,则Archiso将会通过systemd-boot启动。为了验证登录模式可以列出efivars目录,输入以下命令:
# ls /sys/firmware/efi/efivars
如果目录不存在,则说明系统可能是以BIOS或者CSM 模式启动的。
连接到因特网
守护进程dhcpcd已被默认启用来探测有线设备,并会尝试连接。如需验证网络是否正常, 可以使用 ping:
# ping www.bilibili.com
若发现网络不通,可以使用netctl进行网络配置。
对于静态ip配置,可以拷贝/etc/netctl/examples/ethernet-static的例子配置文件 到/etc/netctl下然后按照需要修改Interface(使用ip link命令查看网络接口), Address(ip地址), Gateway(网关)和DNS(域名服务器)。
# cp /etc/netctl/examples/ethernet-static /etc/netctl/ethernet-static
# vi /etc/netctl/ethernet-static
例如:
/etc/netctl/ethernet-static
Interface=enp1s0
Connection=ethernet
IP=static
Address=('10.1.10.2/24')
Gateway=('10.1.10.1')
DNS=('10.1.10.1')
最后使用下行命令设置网络连接:
#systemctl start ethernet-static
对于无线网络(WPA-PSK),同样的将示例文件 wireless-wpa 从 /etc/netctl/examples 复制到 /etc/netctl:
# cp /etc/netctl/examples/wireless-wpa /etc/netctl/wireless-wpa
例如:
/etc/netctl/wireless-wpa
Description='A simple WPA encrypted wireless connection using 256-bit PSK'
Interface=wlp2s2
Connection=wireless
Security=wpa
IP=dhcp
ESSID=your_essid
Key=\"64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
ESSID即wifi名称,Key即为密码,注意那些不想让自己的无线网络密钥以“明文”的形式保存的用户可以选择使用256位预先共享密钥(PSK)来代替,它由密钥和SSID经由标准算法计算而成,用wpa_passphrase中的方法生成你的256位PSK:
# wpa_passphrase your_essid passphrase
network={
ssid="your_essid"
#psk="passphrase"
psk=64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
}
生成的psk即为应放在配置文件中的key,注意其字符串格式为\"String
建议运行 chmod 600 /etc/netctl/<config_file>
来禁止其他用户访问该文件。
更新系统时间
用 systemd-timesyncd 确保系统时间是正确的:
# timedatectl set-ntp true
可以手动设置时区:
# timedatectl set-timezone Asia/Shanghai
建立硬盘分区
磁盘若被系统识别到,就会被分配为一个块设备,如/dev/sda。使用fdisk -l
查看当前硬盘分区。
对于一个选定的设备,以下的分区是必须要有的:
- 一个根分区(挂载在根目录) /。
- 如果 UEFI 模式被启用,你还需要一个 EFI 系统分区。
- Swap可以在一个独立的分区上设置,也可以直接建立 交换文件。
使用fdisk或gdisk分别对BMR和GPT格式的硬盘进行分区。如何选择BMR或GPT有以下考虑:
- 如果使用GRUB legacy作为bootloader,必须使用MBR。
- 如果使用传统的BIOS,并且双启动中包含 Windows (无论是32位版还是64位版),必须使用MBR。
- 如果使用 UEFI 而不是BIOS,并且双启动中包含 Windows 64位版,必须使用GPT。
- 非常老的机器需要使用 MBR,因为 BIOS 可能不支持 GPT.
- 如果不属于上述任何一种情况,可以随意选择使用 GPT 还是 MBR。由于 GPT 更先进,建议选择 GPT。
- 建议在使用 UEFI 的情况下选择 GPT,因为有些 UEFI firmware 不支持从 MBR 启动。
例如,笔者是在UEFI引导的Windows10下安装的Arch Linux,笔者想要将Arch Linux安装到Windows下的D盘上,由fdisk -l
得知D盘为/dev/sdb,则笔者将/dev/sdb划分为/dev/sdb1(512M,EFI)、/dev/sdb2(2G,swap)、/dev/sdb3(200G,/)、/dev/sdb4(剩下的空间)。
1. 格式化并挂载分区
使用如下命令格式化分区:
# mkfs.ext4 /dev/sdb3
# mkfs.ext4 /dev/sdb1
# mkswap /dev/sdb2
挂载分区:
# mount /dev/sdb3 /mnt
(先挂载根分区/)
# swapon /dev/sdb2
# mount /dev/sdb1 /mnt/boot
如果需要挂载其他分区(如/mnt/home)请分别创建并挂载它们:
# mkdir /mnt/home
# mount /dev/sdbx /mnt/home
安装
安装配置系统
通过编辑/etc/pacman.d/mirrorlist将距离您最近的镜像服务器放在最上面。
运行以下命令安装基本系统:
# pacstrap /mnt base
(在这遇到一个坑,显示error:key “xxxxxx” could not be looked up remotely,最后用pacman -S archlinux-keyring
解决)
用以下命令生成 fstab 文件 (用 -U 或 -L 选项设置UUID 或卷标):
# genfstab -U /mnt >> /mnt/etc/fstab
Change root 到新安装的系统:
# arch-chroot /mnt
设置时区
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
建议设置时间标准 为 UTC,并调整 时间漂移:
# hwclock --systohc --utc
本地化
在/etc/locale.gen文件前加上:
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
接着执行:
# locale-gen
# echo LANG=en_US.UTF-8 > /etc/locale.conf
网络配置
对于新安装的系统需要再次配置网络,对于无线网络配置,安装软件包iw, wpa_supplicant,dialog以及需要的固件软件包。详情参考上文。在安装桌面环境GNOME后,我们会使用networkmanager来进行网络管理。
设置root密码
# passwd
安装引导程序
在这里我们选用grub:
# pacman -S grub os-prober intel-ucode
(os-prober检测已存的Windows操作系统、intel-ucode是intel微指令)
# grub-mkconfig -o /boot/grub/grub.cfg
重启
接下来重启,输入:
# reboot
即可。