各位想成为Arch用家的初心者大家好,开始读之前,你只应该相信Arch Wiki的安装指南,拉到左边下面有中文版本,都是由社群的有心人翻译的。网络角落里搜出来的教程迟早都会过时,可是Wiki是永远更新的。
当汝们决定踏上Arch的不归路时,我衷心恭祝各位成功。也许你会失败,但是从此你会迈上成为技术大神的道路,Good Luck!
准备 1GB USB随身碟一只。
去官网下载最新鏡像(Mirror),使用Rufus将ISO镜象烧录到随身碟。今天我要教乃们的是UEFI模式下的安装。磁盘分割(Partition Scheme)选择gpt,烧录模式选择DD。
UEFI是一种开机引导模式,相对于Legacy BIOS,UEFI是未来的趋势,我睡起来补历史,有兴趣的人可以了解背后历史。
#TAB键可以补完命令,当你不想打字,tab一下可以根据你打了的字补完,但是回车前先看看是不是打了正确的命令,不用tab会慢到夭寿
- Boot into USB
在你想要装配的电脑上开机狂按F8进入BIOS界面,关闭Security Boot,开机模式UEFI,开机顺位USB HDD(你的U盘)滑到第一。
Pro Tip: 联想/Thinkpad笔电侧面有回复按钮,关机状态一捅就进bios。而Windows10 电脑可以通过开机时的高级启动选项重启进入。
进入你的安装盘,映入眼帘的是黑色字符界面。我们的目标是15分钟搞定走人,所以乃们可以参照wikipedia进行之后的配置,no bloat no bullshit。
出来如下的prompt,恭喜你已经进入安装媒体,不然,任何USB问题可以在官方WIki找到解释。
root@archiso ~ #
【无线网卡】
直接打wifi-menu进入图像界面跟着指示联网。
【有线以太网】
好像不需要做什么。
测试联网
root@archiso ~ # ping archlinux.org
# 如果有网,就是如下的输出,按CTRL+ C 终止命令
PING archlinux.org (138.201.81.199) 56(84) bytes of data.
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=1 ttl=49 time=361 ms
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=1 ttl=49 time=361 ms
。。。
硬盘分区
lsblk命令可以列出电脑当前的磁盘。如你所见,sda是我电脑硬盘,而sdb是我的u盘。可以透过容量简单判别。
root@archiso ~ # lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 463.9G 0 disk
├─sda1 8:1 0 512M 0 part
├─sda2 8:2 0 16M 0 part
├─sda3 8:3 0 103.4G 0 part
└─sda4 8:4 0 253.4G 0 part
sdb 8:16 1 7.5G 0 disk
└─sdb1 8:17 1 7.5G 0 part /run/archiso/bootmnt
有数据想要保留的话,备份后才进入下一步!!!!!!!!!!!!!!!!!!
备份后才进入下一步!为了便于演示,下一步会清除所有硬盘资料。
直接gdisk一套格式化糊脸,建立新的文件系统吧!
我的硬盘是sda,所以我gdisk /dev/sda, 恳请各位对号入座。硬盘操作不是闹着玩的。
root@archiso ~ # gdisk /dev/sdaGPT fdisk (gdisk) version 1.0.4
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************
Command (? for help):
直接打o,意味着create a new empty GUID partition table (GPT),回车。
跳一段话问你是不是想好了要全清硬盘,是则打y然后回车。
Command (? for help): o
接下来,打n,新建分区
回车两次
在Last sector (截止扇区)键入:+512MB
UEFI启动系统会在这个新建的EFI分区里储存引导文件。
Command (? for help): n
Partition number (1-128, default 1): #在这里按回车用它提供的默认值
First sector (34-15634398, default = 2048) or {+-}size{KMGTP}: #在这里再按回车用它提供的默认值
Last sector (2048-15634398, default = 15634398) or {+-}size{KMGTP}: +512MB
Current type is 'Apple HFS/HFS+' #无视这行
接下来Hex code or GUID (L to show codes, Enter = AF00): 这里打 EF00,因为我们要efi分区。
Hex code or GUID (L to show codes, Enter = AF00): EF00
Changed system type of partition to 'EFI System'
然后再n一次,一路回车可以直接把剩下所有区块吃完,或是按照你的喜好分配硬盘大小,直到Hex code这行,打8300,8300是linux的文件系统。
Command (? for help): n
Partition number (1-128, default 1): #在这里按回车用它提供的默认值
First sector (34-15634398, default = 2048) or {+-}size{KMGTP}: #在这里再按回车用它提供的默认值
Last sector (2048-15634398, default = 15634398) or {+-}size{KMGTP}: #在这里也按回车,easy
Current type is 'Apple HFS/HFS+' #无视这行
Hex code or GUID (L to show codes, Enter = AF00): 8300
Changed system type of partition to 'Linux Filesystem'
又来到Command (? for help): 界面,我们这次打w,写入之前的操作。处于安全措施,gdisk会问你“真的要格吗?”, 回他一个y即可。
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.
一波操作后,我们可以 gdisk -l /dev/sda 一下,输出里面你应该看到文件系统 GPT: Present,恭喜你,你已经完成此step!
看看成功与否。到这里相信只用了三分钟,但我可写了30分钟。真不知道为什么年轻人可以熬夜还拥有水亮的肌肤,伤脑筋。第二天的课是要怎么办?
PRoceed前我们先搞清楚,sda1分区是EFI,sda2分区是8300那个linux files的分區,windows俗称C盘(槽)。请各位对号入座
键入如下命令,希望你已经知道#是提示符不用打,如果你的答案是否,Linux命令提示符实战指南这本书可以翻翻,因为arch作为阴谋系统(arch being this bitch—),会令不会用的人生不如死,快快长进吧。
# mkfs.ext4 /dev/sda2
真是吹逼无限的指南,接下来将sda2挂载到/mnt;建立目录/mnt/boot;将sda1(EFI 分区)挂到这个目录上。
# mount /dev/sda2 /mnt
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot
接下来就是见证奇迹的时刻
如果我就是想三十秒屌进系统,就
# pacstrap /mnt 拜托你千万别打这行,这只是示例
但我用个系统肯定是要装软件包的
arch linux的哲学就是用户来随心所欲配置自己的系统,我抛出自己的命令供参考。
请一定装个联网的程序,不然进了系统网都上不去的说。当然如果你真的忘装了,也可以重新拿出usb安装盘,甚至不用重新安装,跟上文mount了载点后pacstrap一个进去。
# pacstrap /mnt base base-devel linux linux-firmware vim iwd
命令滚完,系统已经装好,接下来装开机引导程序。
因为写教程的妹子有精神洁癖所以本教程不使用GRUB,而是使用系统自带的systemd bootctl,理由是节约空间(我为什么要装自带的东西w),开机速度更快。
fstab(打就对了)
# genfstab -U /mnt >> /mnt/etc/fstab
进入系统
# arch-chroot /mnt
此时prompt会加【方括弧 archiso】,告知你已经更换了操作环境
bootctl 一套逆天操作
# bootctl install
# cd /boot/
# cd loader/
# vim loader.conf
方才我们用vim打开loader.conf, 按I 进入insert 模式, 改成
default arch
timeout 4
esc退出 insert模式, 按:wq 退出vim并写入文件。
接下来
# cd entries/
# vim arch.conf
老规矩,vim打 I 键进入insert 模式, 按如下格式先打
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=
棘手的一步来了,最优解来自新加坡程序员Kai Hendry:
esc键退出insert模式,打 :r !blkid
将blkid读取到 你文件里,找到sda2里面的PARTUUID, 然后将其拼凑出如下的格式。
title Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options root=PARTUUID=12345-67890-1234-123456-7890 rw
也许有人会喷用UUID除错不如卷标sda之流容易,但是见仁见智啦。
options root=/dev/sda2 rw
:wq 退出vim
# exit
# reboot
直接重启
关机过程中拔出usb
正常进入系统显示tty1登入界面则安装成功,用户名root无密码即可进入,passwd指令可设置密码。
下貼出arch wiki安裝後General recommendation.
簡中wiki
恭喜你,你已经成功安装arch linux,后续设置可以参考他人慢慢调试,自己构建系统虽不如gentoo distro如此硬核,却也多了一份淡淡的成就感,更何况是摒弃grub以自己编写的arch.conf开机呢?
如果你学了点甚么新的知识,不考虑订阅我吗?
or alternatively,你可以请熬夜的我喝杯咖啡...