因为当前环境是win10
+debian
双系统,grub
装在debian
上,此篇将介绍如何安装第三个系统Arch
Before this:
- 确保你有一个可以格式化的U盘
- 一台用来装Arch的电脑
Step1:下载及刻录镜像
可以去arch官网下载页面下载最新的arch系统镜像,之后用rufus刻录镜像到U盘即可(建议使用dd刻录方式),如果你本地有linux系统直接用本地系统的dd刻录更省事。例如你的U盘设备为/dev/sda4
,执行以下命令即可:
dd if=./arch.iso of=/dev/sda4
Step2:启动到live
环境
重启系统进入BIOS,把U盘调整为第一启动项即可,如果你用的是nvdia显卡,这时候直接进去arch后可能会出现显示器黑屏,但键盘鼠标等是正常亮的,是因为这个启动盘系统没有加载n卡驱动,这时候把它禁用掉用核显即可。
按E编辑arch iso界面的第一项,编辑内核参数,在最后面添加:
nomodeset i915.modeset=0 nouveau.modeset=0
之后按回车进入即可
Step3:键盘布局
其实这一步如果你是个中国人的话可以跳过,默认用的是us
键盘布局,即美式键盘布局
列出所有的键盘布局:
ls /usr/share/kbd/keymaps/**/*.map.gz
如果您想要更改键盘布局,可以将一致的文件名添加进loadkeys
,但请省略路径和扩展名。比如,要添加 German 键盘布局:
loadkeys de-latin
Step4:连接到因特网
1.确保有可用的网卡:
ip link
2.联网
- 连接WiFi
wifi-menu
之后选取WiFi名输入密码即可
唤醒网卡,比如eth0:ip link set eth0 up
- 网线直连
设置一个临时的静态IP即可:ip addr add 192.168.1.123/24 dev eth0
同样唤醒网卡,并且打开dhcpcd:
dhcpcd
3.检查网络连接:
ping baidu.com
Step5:更新系统时间
使用
timedatactl
同步时间:timedatectl set-ntp true
可使用可以使用
timedatectl status
检查服务状态.
Step6: 建立硬盘分区
使用fdisk对硬盘进行分区,首先使用fdisk -l
查看当前硬盘分区,比如想把arch装在/dev/nvme0n1p3上(机械硬盘则是/dev/sdx),则使用:
fdisk /dev/nvme0n1p3
之后按n增加分区,w把修改写入分区,按m打印查看具体使用帮助
Step7:格式化分区
比如上一步创建了/dev/nvme0n1p3 /
和/dev/nvme0n1p4 swap
两个分区,格式化它们(格式化其实就是一个创建文件系统的过程):
mkfs.ext4 /dev/nvme0n1p3
mkfs.swap /dev/nvme0n1p4
Step8:挂载分区
将根分区挂载到/mnt:
mount /dev/nvme0n1p3 /mnt
接下来genfstab
将会自动检测挂载的文件系统和交换空间。
Step9:选择更快的镜像源
因为安装过程取决于镜像源的速度,如果用国外的话安装速度会非常缓慢,所以我们使用国内镜像源即可:
sed -ni.bak -e '/China/,+1p' /etc/pacman.d/mirrorlist
Step10:安装基本系统
使用pacstrap
脚本,安装 base 组:
pacstrap /mnt base
Step11:配置系统
- Fstab
用以下命令生成fstab
文件 (用 -U 或 -L 选项设置UUID 或卷标):
genfstab -U /mnt >> /mnt/etc/fstab
强烈建议:在执行完以上命令后,后检查一下生成的 /mnt/etc/fstab 文件是否正确
- Chroot
Change root
到新安装的系统:
arch-chroot /mnt
- 时区
使用以下命令设置时区为上海:ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
运行
hwclock
以生成/etc/adjtime
:hwclock --systohc
Step12:本地化
本地化的程序与库若要本地化文本,都依赖
Locale
,后者明确规定地域、货币、时区日期的格式、字符排列方式和其他本地化标准等等。在下面两个文件设置locale.gen
与locale.conf
/etc/locale.gen
是一个仅包含注释文档的文本文件。指定您需要的本地化类型,只需移除对应行前面的注释符号(#)即可,建议选择带 UTF-8 的项:
# vi /etc/locale.gen
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
接着执行 locale-gen 以生成 locale 讯息:
# locale-gen
/etc/locale.gen
会生成指定的本地化文件。
创建locale.conf
并编辑LANG
这一变量,比如:
# vi /etc/locale.conf
LANG=en_US.UTF-8
不推荐在此设置任何中文 locale,会导致 TTY 乱码。
-
修改主机名
创建 hostname 文件写入主机名:echo myhostname >/etc/hostname
添加对应的信息到
hosts
:# vi /etc/hosts 127.0.0.1 localhost ::1 localhost 127.0.1.1 myhostname.localdomain myhostname
-
修改
root
密码:passwd
-
添加普通用户:
日常使用root用户存在风险,添加普通用户更安全:useradd -m -g users -s /bin/bash archuser passwd archuser
-
安装networkmanager
pacman -S NetworkManager
Step13:安装引导程序
因为我目前存在win10
和Debian
两个系统,grub用了一个单独EFI分区并且挂载到了Debian
的/boot
,只要在Debian
上执行update-grub2
即可重新生成grub.cfg
文件并且读取到arch系统,所以这里不再安装grub。
如果当前是单系统,首先安装os-prober
这个包,它可以配合Grub检测已经存在的系统,自动设置启动选项:
pacman -S os-prober
- 如果为BIOS/MBR引导方式
安装及部署grub包:
pacman -S grub
grub-install --target=i386-pc /dev/sdx (将sdx换成你安装的硬盘)
生成配置文件:
grub-mkconfig -o /boot/grub/grub.cfg
- 如果为EFI/GPT引导方式
安装grub与efibootmgr两个包及部署grub:
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
生成配置文件:
grub-mkconfig -o /boot/grub/grub.cfg
Step14:安装桌面
这里只介绍如何安装gnome、kde、xfce这三个桌面,其他桌面可以参考arch维基获取更多帮助
首先安装图形化环境Xorg:
pacman -S xorg xorg-xinit
-
GNOME
# pacman -S gnome # for i in intel keyboard mouse synaptics;do pacman -S xf86-vedio-$i;done # pacman -S wqy-zenhei # cp -a /etc/X11/xinitrc ~/.xinitrc # vi ~/.xinitrc exec gnome-session # pacman -S gdm # systemctl enable gdm # reboot
-
KDE
# pacman -S plasma-meta kde-applications sddm # for i in intel keyboard mouse synaptics;do pacman -S xf86-vedio-$i;done # pacman -S wqy-zenhei # cp -a /etc/X11/xinitrc ~/.xinitrc # vi ~/.xinitrc exec startkde # systemctl enable sddm # reboot
-
XFCE
# pacman -S xfce4 xfce4-goodies lightdm lightdm-gtk-greeter # systemctl enable lightdm.service # for i in intel keyboard mouse synaptics;do pacman -S xf86-vedio-$i;done # pacman -S wqy-zenhei # echo 'startxfce4' >> ~/.bash_profile # reboot
至此三系统中的arch已成功安装: