准备
备份
- 网络相关信息(如子网,IP地址,网卡名,网关)
- 主机名(hostname
/etc/hosts
)
- DNS服务器(
/etc/resolv.conf
)
- SSH 密钥
- Grub配置
- 硬件信息(
/etc/modules.conf
)
推荐备份完整的/etc
思考是否应该手动安装
自动化不一定是脚本小子,只是为了避免不必要的麻烦
另外,如需lvm
你可以直接按上面的脚本或者找别的教程了,原因竟是我没弄过
我还是不确定行不行,要不你试试吧,寄了别找我
正式开始
下载Bootstrap
(按实际情况修改时间及镜像,可参考Archlinux Downloads)
1
2
|
cd /tmp
wget https://geo.mirror.pkgbuild.com/iso/xxxx.xx.xx/archlinux-bootstrap-x86_64.tar.gz
|
校验
1
2
3
|
wget https://geo.mirror.pkgbuild.com/iso/xxxx.xx.xx/sha256sums.txt
cat ...
sha256sum
|
释放bootstrap
1
|
tar xzf archlinux-bootstrap-*-x86_64.tar.gz --numeric-owner
|
IMPORTANT:编辑/tmp/root.x86_64/etc/pacman.d/mirrorlist
选择镜像源
准备resolv.conf
1
2
|
rm /tmp/root.x86_64/etc/resolv.conf
cp /etc/resolv.conf /tmp/root.x86_64/etc/
|
进入chroot
1
2
3
|
mount --bind /tmp/root.x86_64 /tmp/root.x86_64
mount --bind /boot/efi "/tmp/root.x86_64/boot/efi" # 挂载efi
/tmp/root.x86_64/bin/arch-chroot /tmp/root.x86_64/
|
- 若提示
FATAL: kernel too old
应更新系统内核
- 若不支持
--fork
、--pid
请参考ArchLinux Wiki,或尝试更新系统
在执行lsblk
确认无误后,挂载磁盘,删掉旧系统
1
2
|
mount /dev/sda /mnt
rm -r ...
|
若使用LVM
,则将对应的逻辑卷挂载到对应的目录,举个例子:mount /dev/lv/root /mnt
IMPORTANT: 以下目录:/dev, /sys, /run, /tmp, /proc 不应删除
这感觉,简直是rm -rf /*
啊
使用chroot
环境
pacman-key 初始化
1
2
|
pacman-key --init
pacman-key --populate archlinux
|
安装软件包
1
2
3
|
pacman -Syu
pacstrap /mnt base linux linux-firmware
pacman -S vim man-pages mandb texinfo grub openssh lvm2
|
生成fstab
1
|
genfstab /mnt >> /etc/fstab
|
本地化
1
2
|
en_US.UTF-8
zh_CN.UTF-8
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN.UTF-8:en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_NUMERIC=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8
LC_COLLATE=en_US.UTF-8
LC_MONETARY=zh_CN.UTF-8
LC_MESSAGES=zh_CN.UTF-8
LC_PAPER=zh_CN.UTF-8
LC_NAME=zh_CN.UTF-8
LC_ADDRESS=zh_CN.UTF-8
LC_TELEPHONE=zh_CN.UTF-8
LC_MEASUREMENT=zh_CN.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
|
时区
1
2
|
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # UTC +8
hwclock --systohc
|
设置密码
开启网络、ssh
- 编辑
/etc/systemd/network/default.network
1
2
3
4
5
6
|
[Match]
Name=eth0 #改为你的网卡名
[Network]
Gateway=114.145.114.145 #你的网关
Address=114.145.114.137/24 #你的子网
|
1
2
|
systemctl enable systemd-networkd
systemctl enable sshd
|
准备引导
1
2
3
|
mount /dev/sda1 /boot/efi
grub-install --target=x86_64-efi --efi-directory=/boot/efi
grub-mkconfig -o /boot/grub/grub.cfg
|
IMPORTANT:在不支持efi的情况下
1
|
grub-install --target=i386-pc --recheck --force /dev/sda
|
Done !
现在,重启系统,就能看到Arch Linux
的字样了
啥?咋重启,好问题
怎么重启
- 先尝试
reboot
,init 6
,shutdown -r
等,如果无效(有效才有鬼了)再进行下面的步骤
- 确保所有数据写入硬盘
- 利用内核参数
- 激活
Magic System Request Key
1
|
echo 1 > /proc/sys/kernel/sysrq
|
1
|
echo "b" > /proc/sysrq-trigger
|
- 暴力重启
包括但不限于,断电,强行关机,服务器控制面板等
参考资料
- Arch Linux Wiki Install Arch Linux from existing Linux
中文页面貌似已过期
- Arch Linux Wiki Installation Guide