我和大佬说:
大佬大佬
大家想学装Linux
你能不能帮忙写个教程鸭
大佬说
么得问题
然后
。
。
。
大佬给了我Arch安装指南
为什么要装arch呢?(超小声)
因为:
Ubuntu安装太简单了
Ubuntu安装太简单了
Ubuntu安装太简单了
Ubuntu安装太简单了
(其实一点不简单,诊所每天都有人Ubuntu安装失败)
![8e2b3426c2014d62ab268f0688bec6f7.png](https://i-blog.csdnimg.cn/blog_migrate/7c64a6faedb03094a69455514ba94349.jpeg)
![1d888ffaedcc33cc7a1f77130f6b82b7.png](https://i-blog.csdnimg.cn/blog_migrate/4ccfbd270f26713eaffe651c52426708.jpeg)
总之,我手里就有了一份Arch安装指南,那么我们就来康康叭!
写在前边
注意,以下内容,请阅读一次后再操作,以免发生意外。如果实在安装不成功,或是出现什么无法解决的问题,请到电脑诊所咨询。
(还可以加裙:936335415)
什么是ArchLinux
Arch Linux 是通用 x86-64 GNU/Linux 发行版。Arch采用滚动升级模式,尽全力提供最新的稳定版软件。初始安装的Arch只是一个基本系统,随后用户可以根据自己的喜好安装需要的软件并配置成符合自己理想的系统。
为什么选择Arch
简单,跟随上游,不做不必要的更改
以用户为中心,满足你的需求
优秀的包管理系统,轻量快速
具有丰富的二进制官方包和AUR包
活跃的社区,丰富的文档(archwiki)
安装前我要准备什么
01 | 一台电脑 (你需要给硬盘预留出25GB及以上的磁盘空间) |
02 | 用于写入安装镜像的空U盘 (4GB以上) |
03 | 良好的网络连接,有线无线均可 (建议准备好有线网络,无线环境未必能用) |
04 | 一定的电脑基础 |
05 | 有Linux操作经验为佳 |
作者有话说
本文将假定读者使用一个装有Windows10操作系统,通过UEFI进行启动的电脑,为读者提供一种Arch Linux的安装方法。
强烈建议读者在安装前多次阅读Arch Linux的安装指导ArchWiki - Installation guide(网址见下)。本文内容也建立在其之上。
https://wiki.archlinux.org/index.php/Installation_guide
读者在阅读时可选择跳过本文中某些明显不适用于自己实际情况的步骤。
一些必要的约定
以井号 # 开始的命令表示命令需要root权限,以美元符 $ 开始的命令表示以普通用户运行。注意,arch安装镜像以root用户登录,因此执行的所有命令都以 # 开始。(一浅蓝色做为底色表示代码)
# 这是一行命令
使用 >>> 和 <<< 表示需要从编辑器中输入的内容的开始和结束,输入时不要输入这些符号。
使用 GNU nano 编辑器编辑文档,你也可以使用你喜欢的其他编辑器,如vim等。
对于nano编辑器,Ctrl+O或Ctrl+S组合键保存,Ctrl+X退出编辑,其他命令参见编辑器最下方的提示。
当一个命令第一次出现时,可能会给出简单的介绍或解释。
文中可能穿插一些linux基础知识,以引用格式显示。
Win下的准备工作
你的电脑安装了几块硬盘?它/它们的分区是怎样的?
右键单击开始按钮,在弹出的菜单中选择“磁盘管理”。
熟悉分区布局,找出EFI系统分区,最好记住EFI系统分区的位置。
确保磁盘为基本磁盘,即分区上面色带为深蓝色。
![43e8b356fddd278a8e8b29909277f9bc.png](https://i-blog.csdnimg.cn/blog_migrate/07e1e6ac5651560598757963f2c19df9.jpeg)
你的电脑使用哪个热键选择启动项?
本公众号已经和百度达成战略合作伙伴关系,这个问题可以上百度去问。(谷歌、bing、搜狗……都可以)
![9793e008330ead0586f11f08cc16c495.png](https://i-blog.csdnimg.cn/blog_migrate/817fe66113ce7753519e8b882068f699.jpeg)
怎么准备Arch系统?
和Win自救不太一样,这次没有现成的安装工具了,我们必须自己去下载一个系统镜像才可以安装
建议从国内镜像源进行下载,这里只列出了三个,选择日期最新的镜像下载即可。
https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/
清华镜像站
https://mirrors.ustc.edu.cn/archlinux/iso/
中科大镜像站
http://mirrors.163.com/archlinux/iso/
163镜像站
(本来希望放一个北京理工大学镜像站,
但是奈何它上边的Arch源,有一、、问题)
将启动镜像写入空U盘
这里作者建议使用Rufus写入磁盘镜像。
在Device处选择你的U盘,在 Boot Selection 处选择Arch Linux镜像,其他默认,Start进行写入。
![ed5a276c21bfa9e511fa823f1594ee53.png](https://i-blog.csdnimg.cn/blog_migrate/027aeefe86ec2f1e7585ef8bf893e871.jpeg)
我怎样把Arch装在我希望的地方?
进入“磁盘管理”,右键单击你想要压缩的分区,选择压缩卷,填入合适的空间大小,进行压缩。
注意,合适的空间应该不低于25GB,否则安装可能会失败。
怎么启动安装?
重新启动电脑,插上U盘,开机时按下启动选择热键,选择U盘进行启动。
![9afa01858d4db31d155adc5180296d09.png](https://i-blog.csdnimg.cn/blog_migrate/ce743a7259fe3bd192bf7cdc7a10d432.jpeg)
选中第一项,按下回车
![642237b795000385216f72b43848d4bb.png](https://i-blog.csdnimg.cn/blog_migrate/83ceeb583bb6ecc2dd37c1710fda5fd8.png)
![7b5ac9e9ed3306bf3042d38df5b46030.png](https://i-blog.csdnimg.cn/blog_migrate/5d44d09152432274ecbed762f8855b57.png)
为什么进不去?
一个可能的原因是 Secure Boot 没有关闭。这个选项可能会导致引导失败。
本文不处理在Linux下使用Secure Boot的情况。我们直接关闭Secure Boot以顺利启动Arch安装环境以及安装Arch Linux的引导。如果希望在Linux下使用Secure Boot,参见Secure Boot - ArchWiki(链接见下)。
https://wiki.archlinux.org/index.php/Secure_Boot
在网络上查找本机型关闭Secure Boot的方法。一般来说,需要在开机时按下热键进入BIOS固件设置界面,在相应选项卡(常为Security)中关闭Secure Boot,保存。
安装进行时
如果不出意外(或是意外被解决),现在的你应该进入到上边图示的界面,下一步便是很多人头痛不已的安装过程。
1
连接网络
有线网络:
插上网线
# systemctl start dhcpcd
开启DHCP客户端,自动获取IP地址
没有网线,可以使用USB共享网络,在手机上设置分享即可,电脑端与插网线相同
无线网络:
Linux内核集成了绝大部分Intel无线网卡驱动,一般可以正常工作。但是,由于Linux内核没有集成部分其他厂商无线网卡驱动,加之部分特定机型会加载错误的驱动,可能有部分机型无法在archiso中方便的配置使用无线网卡。
如果内核中无线网卡没有被对应驱动,在安装完成进入系统后无线网卡很可能也不能正常工作。此时可以在搜索引擎上查找相关网卡在Linux安装驱动的方法。在安装驱动时,优先考虑从AUR中安装(以后介绍)相应驱动软件包,可以避免由于版本问题导致的不兼容安装失败等问题。
检查无线网卡是否被正确驱动。
# dmesg | grep -i wlan
结果若是有:
[ 10.903597] iwlwifi 0000:07:00.0 wlp7s0: renamed from wlan0
说明驱动正常,否则说明网卡没有被正确驱动,请考虑使用其他方式连接网络。(注:该输出是从配备Intel无线网卡的笔记本中截取,其他品牌、型号输出可能有所不同)
当无线网卡驱动正常时,就可以连接无线网络了。Arch安装环境(archiso)提供了交互界面的WIFI管理器 wifi-menu。
# wifi-menu
根据其给出的提示连接合适的无线网络。
命令 dmesg 可以查看内核日志,可在其中查找硬件信息。
命令 grep 为正则表达式匹配命令,可用于查找某条信息。
另外,命令 ip 可以查看和管理系统网络情况
例如 ip link 可查看当前各网卡的连接情况,也可用于检测无线网卡是否被正确驱动。
网络连通性测试:(命令二选一即可)
# ping archlinux.org
注意:此命令需要手动终止,按下组合键Ctrl+C即可
![9690e9fbda1a5d919bbb6074bafa891f.png](https://i-blog.csdnimg.cn/blog_migrate/fe4382d8e15579a6cad8de604b17f5d2.png)
# curl t.cn
![36befa0f092bf48bdfd037995734477d.png](https://i-blog.csdnimg.cn/blog_migrate/44a90bde1b55008fdfd03299161ff8f4.png)
如图所示,网络已经连接
2
更改安装镜像源
pacman软件包管理器将从我们设置的镜像源下载所需软件安装包,为了更好的下载速度以及安装体验,建议使用国内源。
# vim /etc/pacman.d/mirrorlist
在文件开始处添加内容:
>>>
Server=http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
Server=http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server=http://mirrors.163.com/archlinux/$repo/os/$arch
<<<
![ca3a1b1779d49612fc6fd768d721d558.png](https://i-blog.csdnimg.cn/blog_migrate/fd1d64d4e9a1f317312fa6ebf7e04ad9.png)
![e376c3ca5cb4a6c1d101597668707824.png](https://i-blog.csdnimg.cn/blog_migrate/a356d8b3c753312f1b0e4e75e00bbbf8.png)
修改结果如图所示。
这样,下载软件包时,pacman将优先尝试清华镜像、中科大镜像和163镜像。
系统安装时,本文件将自动复制到我们新安装的系统中,因此在进入系统后无需再次配置。
3
分区
警告:本小节操作有风险,操作不当会损害您的数据,请确认命令正确,再执行。
Linux系统秉承一切皆文件的设计思想,她会把绝大部分设备都抽象成一个文件,并显示在 /dev 目录中。磁盘和磁盘分区都会被抽象成文件。对于ISE磁盘、SCSI磁盘和SATA磁盘,系统将其命名为形如 /dev/sdX 的文件,其中X为从a开始的小写字母。而每个硬盘的分区,将依次从1开始标号,例如:
/dev/sda /dev/sda1 /dev/sda2
/dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb3
这便表示电脑中安装了两块磁盘,分别有2和3个分区。
而对于nvme固态硬盘,由于其采用nvme协议,将被命名为形如 /dev/nvmeXnY 的形式,其中X从0开始,Y从1开始。其分区则以 /dev/nvmeXnYpZ 形式命名,其中Z从1开始,表示分区编号。
规划系统分区布局:
对于基于UEFI的平台,储存EFI引导程序的EFI系统分区(ESP)是必须的。由于本文假设读者在装有Windows的电脑安装Arch Linux双系统,我们将使用Windows的ESP分区。注意,ESP总是使用FAT文件系统(vfat)。ESP仅在系统启动时
起作用,因此我们此时不挂载ESP。一个根分区(root partition, aka /)是必须的。
对Linux只分一个根分区,可以满足大部分安装需求,并且简单不易出错,是本教程的推荐方案。
另外,用户的所有个人文件,如音乐、视频、文档、个人配置等都将位于用户的家目录(~)。因此另一种方案将 /home 目录,放到单独的分区。重装系统时的数据备份将更为方便。
更多信息,参见Partition Layout - ArchWiki。
https://wiki.archlinux.org/index.php/Partitioning#Partition_scheme
找到你规划的安装位置:
# lsblk
或者
# fdisk -l
根据电脑配备的磁盘类型和磁盘大小找到对应的磁盘文件名。
以 rom, loop 或 airoot 结尾的条目忽略,它们不是真实的物理磁盘。
![01b2b6c30fb42bdcd6ca5a962cc3f2f6.png](https://i-blog.csdnimg.cn/blog_migrate/636259d986abbf3cf66fd68322a11206.png)
建立新分区表:
Arch安装环境(archiso)提供的 parted, fdisk, cfdisk等工具可以进行分区。cfdisk提供了交互式的分区方式,建议新手使用这个工具。
例如,你将要把系统分区放到 /dev/sda 磁盘上。
# cfdisk /dev/sda按照界面的交互提示分区,并写入分区表即可。
![8599166826eff3bb49362565a1eefe93.png](https://i-blog.csdnimg.cn/blog_migrate/3b7ac12ea7cbacd099f01fb866d3bb80.png)
格式化新分区:
分区被创建后,我们必须将其格式化后才能使用。
这里我们直接使用久经考验的ext4文件系统。如果想要了解或使用其他文件系统,参见ArchWiki - File systems。
例如,根目录所在分区在/dev/sda1位置。
# mkfs.ext4 /dev/sda1
家目录在 /dev/sda2 位置
# mkfs.ext4 /dev/sda2
如果你还创建了交换分区(swap),位于 /dev/sda3 ,那么:
# mkswap /dev/sda3
# swapon /dev/sda3
![c22cefd17d51192c055923e844ebeb49.png](https://i-blog.csdnimg.cn/blog_migrate/1ca66516f4080dca43defc040f43170d.png)
4
挂载
将格式化好的分区挂载到 /mnt 位置。
如果读者为home、usr或其他位置配置了独立的分区,那么创建相应的挂载点,并把这些分区也挂载到 /mnt 的相应位置。
例如,根目录在/dev/sda1位置。
# mount /dev/sda1 /mnt
例如,为home配置单独的分区 /dev/sda2,注意这里需要手动建立挂载点目录。
# mkdir /mnt/home
# mount /dev/sdX2 /mnt/home
当储存设备连接时,Windows自动为其中包含的分区加载到系统,并分配盘符。而Linux不会像Windows那样将分区通过分配盘符的方式自动加载到系统中,而是通过一个叫做挂载(mount)的过程将其加载到Linux文件系统中。
挂载(mount)将储存设备加载到文件系统的某个位置,使用户可以通过该目录访问储存设备中的文件,对应的命令为 mount 。
不带任何参数的命令 mount 列出当前系统挂载的所有设备或分区,可用于检查挂载是否正确。
命令 findmnt 提供可读性更佳的树状系统挂载列表,也可用于检查挂载是否正确。
5
将基础系统安装至 /mnt
# pacstrap /mnt base base-devel
![6774dfd032be1e73af757159dcfa7f77.png](https://i-blog.csdnimg.cn/blog_migrate/05573038aef256a306967840c93929b0.jpeg)
其中,base包含系统必须的核心软件包,必须选择。而base-devel包含用于开发的常用组件和维护工具,如gcc、sudo等,建议安装。
接下来,安静等待,喝个猹,和npy聊会天,安装马上就完成了
6
设置一下,马上就好
其实可以说,Arch此时已经安装到你的PC上了,只是使用起来会十分反人类,根本不能体验到大佬所说的种种好处。因而我们需要进行一些必要的设置,让它变得相对正常。
创建Fstab:
fstab(5)文件可用于定义磁盘分区,各种其他块设备或远程文件系统应如何装入文件系统。
在系统启动时,fstab 中描述的磁盘分区或其他设备将由系统自动挂载(mount)到文件系统。
# genfstab -U /mnt >> /mnt/etc/fstab
切换进新系统:
直到这一步前,你还是在archiso的安装环境中
(想不到吧。jpg)
# arch-chroot /mnt
时间设置:
设置时区
设置时区(此处确实是北京时间,请复制下边的命令,不要将Shanghai改成Beijing)
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
设置与硬件时间同步:(按需执行即可)
如果你的系统硬件时间为UTC时间,执行下列命令。
# hwclock --systohc --utc
由于Windows操作系统默认把本地时间储存在硬件时钟,所以如果你的系统没有修改过硬件时间设置,我们添加 -localtime 参数使Arch linux与Windows保持一致,以防止两个系统切换时的时间错乱。
# hwclock --systohc --localtime
设置语言:
虽然我们都喜欢看汉字,但是如果全部设置为汉字,tty的命令行,会出现乱码,所以我们还是乖乖设置为嘤语。
# echo 'LANG=en_US.UTF-8' >> /etc/locale.conf
设置本地化:
# vim /etc/locale.gen
反注释(去掉行首的 ‘#’ )
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
启用汉语和英语,一般来说,嘤语为必选项。
生成本地化 locale
# locale-gen
在Linux交互shell中,# 表示root shell。而在shell脚本中,以及各种配置文件(.conf, .cfg 等)中,# 表示行注释。在 locale.gen中,就存在大量被注释的配置行。
设置网络:
填写主机名(hostname)并添加到hosts
# echo 'yourhostname' >> /etc/hostname
注意替换命令中的yourhostname为自己设置的名称(随便起一个就行)
# vim /etc/hosts
>>>
127.0.0.1 localhost
::1 localhost
127.0.1.1 yourhostname.localdomain yourhostname
<<<
设置root用户密码:
# passwd root
创建平时使用的普通用户
# useradd -m -G wheel,audio,video your_user_name
设置用户密码
# passwd your_user_name
7
安装系统启动器
这里我们选用历史悠久,应用广泛的GRUB。首先安装所需包。
# pacman -S grub os-prober dosfstools efibootmgr
os-prober 用于识别计算机上安装的其他操作系统,而 dosfstools 和 efibootmgr 用于配置UEFI启动。
![5d3d3ea166387c84b3f9f89c3197ebf7.png](https://i-blog.csdnimg.cn/blog_migrate/3da36ba94e28d3ecccd18f70a25e1ca0.png)
我们假设读者的电脑上存在基于UEFI的Windows安装,我们将使用Windows的EFI系统分区启动。
找到已有的EFI系统分区:
查找其中Type为EFI System的分区,记录其设备名称。一般而言,EFI系统分区经常为某块磁盘的第一个分区。例 如,在下图中,EFI系统分区为 /dev/nvme0n1p1 。
![014410de26a046b8d9d639267fa893c8.png](https://i-blog.csdnimg.cn/blog_migrate/364d2798b881762d41fd45723428c41c.png)
挂载EFI系统分区:
例如,EFI系统分区位于 /dev/nvme0n1p1:
# mkdir /boot/efi
# mount /dev/nvme0n1p1 /boot/efi
安装GRUB:
例如,安装GRUB,启动项名称为GRUB。
![d589f404fca44167da24560d607c9fb8.png](https://i-blog.csdnimg.cn/blog_migrate/7bb6d755e295e40243d391fda2e1fb59.png)
命令太长,为了不产生歧义,所以放上截图
生成GRUB配置文件
# grub-mkconfig -o /boot/grub/grub.cfg
![fec867618ecbeeafe81adef2c3d2dacb.png](https://i-blog.csdnimg.cn/blog_migrate/079f0f49730ac3ba110b52fae785bc30.png)
8
重启,完成安装
# exit
# reboot
安装成功!!!
Arch安装的万里长征终于完成了!!
什么?
黑漆漆的?
鼠标不能用?
那当然啦!
只有命令行界面要啥鼠标
_(:з」∠)_
![6466bd4d73da8b85219bde3f2de740af.png](https://i-blog.csdnimg.cn/blog_migrate/330daa146613d2c453f0b6aaa45bedc5.jpeg)
什么什么??
要图形操作界面??
还要好看的操作界面??
。
。
。
且看下期分解
![85e873a7e3f2dd834daed48554949ecc.png](https://i-blog.csdnimg.cn/blog_migrate/e3e38119e8b1a21f6383118a966562ad.jpeg)
![27ac9e938c600d9940b653aa8337be5e.gif](https://i-blog.csdnimg.cn/blog_migrate/689f170bce1bb65e2c16118261acecb2.gif)
供稿 |
编辑 |
审核 |
everything411
槑先森
Halcyon
![0fc4e9e02c69dc3f4929959aa7c34d9e.png](https://i-blog.csdnimg.cn/blog_migrate/f870414951ad0eea88a26ed27da0ceb2.jpeg)