Loading... <div class="tip share">请注意,本文编写于 370 天前,最后修改于 370 天前,其中某些信息可能已经过时。</div> ## 写在开头 大概一两年前用过Arch,但是那时候对linux还不是很熟悉,完全是因为arch是`最难安装的linux发行版`而尝试了它,但后期因为各种问题,让我换回了Windows~~(真香)~~。最近由于在学习编程,所以又用回了linux。~~(不要说WSL,不香)~~。本文为我安装Archlinux的记录。 <!-- more --> 先放个成果图:  --- 当然,阅读本文之前,确保你已经满足了以下条件: - 听说过Archlinux(本文不再赘述) - 简略了解过linux的各个发行版(本文不再赘述) - 略懂linux指令(本文不再详细解释) - 不轻言放弃的态度(我们称之为`determination`) --- ## 安装前的准备 1、 前往[archlinux.org](https://archlinux.org)下载iso镜像。 2、使用相应的写入工具,写入到U盘(windows用rufus,linux使用[dd命令](https://wiki.archlinux.org/index.php/USB_flash_installation_media#BIOS_and_UEFI_bootable_USB),mac也可以使用[dd命令](https://wiki.archlinux.org/index.php/USB_flash_installation_media#In_macOS))。 3、给archlinux一个硬盘空间(有图形界面>=40G,不使用则可以>=20G)。 ### 实机安装 由于不同的机器使用的启动方式不同,会导致接下来的安装步骤稍有不同。一般的启动方式有BIOS/MBR分区表(多为旧的笔记本/主板)和UEFI/GPT分区表。目前更多的应是后者。 当然,BIOS和MBR分区表不是固定搭配,在受支持的BIOS上也可以使用GPT(同理,UEFI也可以使用MBR)。 - 若使用BIOS启动,则会看到有Arch logo的启动界面 - 若使用UEFI启动,则会看到UEFI启动选项(无logo)。 启动时,选择第一项启动即可。 #### 设置键盘布局 因为目前我们用到的笔记本键盘大多都是美式布局,所以我在这里没有配置。如果你的键盘布局很奇葩,则需要手动配置一下。参考[Arch Wiki]([https://wiki.archlinux.org/index.php/Installation_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#%E9%94%AE%E7%9B%98%E5%B8%83%E5%B1%80](https://wiki.archlinux.org/index.php/Installation_guide_(简体中文)#键盘布局)) #### 联网 因为Arch安装时需要从互联网下载软件包,所以我们必须要在此步骤进行联网。 如果你的电脑使用的是wifi(例如笔记本),那么可以使用`wifi-menu`来搜索并连接到网络。 若你的电脑是使用有线网络(插网线),那么应该会自动配置。 联网后,测试一下是否已连接到网络: ```bash ping www.baidu.com #受限于国内网络环境,Baidu是个不错的测试选择 ```  按下`Ctrl+C`终止。当然,如果你看到了`time out`字样,证明连接失败了。 > 如果失败,请检查你的wifi模块是否在`linux支持的无线硬件`中。[Web](http://linux-wless.passys.nl/) > 如果不支持,建议使用有线或更换为支持的USB无线网卡。 #### 更新系统时间 使用 [timedatectl(1)](https://jlk.fjfi.cvut.cz/arch/manpages/man/timedatectl.1) 确保系统时间是准确的: ```bash timedatectl set-ntp true # 更新系统时间 timedatectl status # 检查服务状态 ``` #### 给磁盘进行分区 如果你的电脑只有一块硬盘,那么你的硬盘标识应该是`/dev/sda`,当然,为了确保没有问题,还是需要手动检查。 ```bash lsblk # 列出磁盘分区 ``` ```bash NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT # 为输出 sda 8:0 0 119.2G 0 disk ├─sda1 8:1 0 200M 0 part ├─sda2 8:2 0 4G 0 part └─sda3 8:3 0 115G 0 part ``` 按照上面的例子,`/dev/sda`是此硬盘,其中的`/dev/sda1`、`/dev/sda2`和`/dev/sda3`是不同的分区。注意,为分配的空间不会被列出,此操作的主要目的是确定需要安装的磁盘标识。其中,以`rom`、`loop`、`airoot`结尾的需要被忽略。 确定好需要安装的目标磁盘后,我们需要进行分区操作。 若是使用UEFI启动,分区一般需要三个:`EFI系统分区`(若Windows已经创建,则可忽略)、`根目录`以及`交换空间` 若是BIOS启动,则仅需要`根目录`以及`交换空间`。 **BIOS和MBR** | 挂载点 | 分区 | 分区类型 | 建议大小 | | ----------------- | ---- | ----------------- | ------------ | | /mnt | / | Linux (ext4或xfs) | 其余所有空间 | | [SWAP] (无需挂载) | | Linux swap | 大于512MB | **UEFI和GPT** | 挂载点 | 分区 | 分区类型 | 建议大小 | | ------------------- | ----------- | ----------------- | ------------ | | /mnt/boot或/mnt/efi | /boot或/efi | EFI | 200M~500M | | [SWAP] (无需挂载) | | Linux swap | 大于512M | | /mnt | / | Linux (ext4或xfs) | 其余所有空间 | **使用fdisk分区** 首先先确保你为Archlinux分配了空闲空间(在扩展分区中的空闲空间不可使用)。 ```bash fdisk /dev/sda # 此处为你要安装的磁盘,按照自己的情况输入。 ``` 输入`n`创建新分区。我们首先要创建EFI分区: ```bash Command (m for help): n Command action e extended p primary partition (1-4) #选择分区类型(扩展分区or主分区)。这里作为主分区,选择p Partition number (1-4): #默认即可 First cylinder (1-130, default 1): #默认即可 Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): +500M #分区大小 ``` 创建交换空间: ```bash Command (m for help): n Command action e extended p primary partition (1-4) #选择p Partition number (1-4): #默认即可 First cylinder (1-130, default 1): #默认即可 Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): +4G #分区大小 ``` 创建根目录分区: ```bash Command (m for help): n Command action e extended p primary partition (1-4) #选择p Partition number (1-4): #默认即可 First cylinder (1-130, default 1): #默认即可 Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): #保持默认,将所有空间分配给'/'分区。 ``` 最后,使用`w`保存我们的操作。 再次输入`lsblk`检查是否分区成功。在这里,我默认`/dev/sda1`是我的根目录分区,`/dev/sda2`是交换空间,`/dev/sda3`是EFI分区。 #### 格式化分区 分区建立后,需要使用适当的文件系统进行格式化。 ```bash mkfs.ext4 /dev/sda1 # 将根目录分区格式化成ext4文件系统 # 当然,你也可以格式化成xfs文件系统 #mkfs.xfs -f /dev/sda1 mkfs.vfat /dev/sda3 # 格式化EFI分区 mkswap /dev/sda2 # 格式化交换空间 ``` #### 挂载分区 ```bash mount /dev/sda1 /mnt # 将/dev/sda1 挂载到 /mnt mkdir /mnt/boot # 新建一个/mnt/boot目录,也可以 mkdir /mnt/efi mount /dev/sda3 /mnt/boot # 将/dev/sda3 挂载到 /mnt/boot ,若上一步是efi,这里需要将boot改为efi(BIOS/MBR用户无需挂载该分区) swapon /dev/sda2 # 启用swap ``` #### 选择镜像 文件 `/etc/pacman.d/mirrorlist` 定义了软件包会从哪个 [镜像源](https://wiki.archlinux.org/index.php/Mirrors) 下载。 受限于国内的网络环境,我们要修改默认的镜像源,提升安装过程中的下载速度。 ```bash nano /etc/pacman.d/mirrorlist # 使用nano编辑镜像源列表 ``` 在这里,我推荐用清华源。在列表的开头,加入该镜像源。 ```bash Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch ``` 当然,为了确保一定使用该源,我们可以禁用列表中所有默认的镜像源:使用`Ctrl+\`搜索`S`,将其替换成`#`(在添加清华源之前)。 最后,按下`Ctrl+O`保存,`Ctrl+X`退出编辑。 #### 安装基本包 使用`pacstrap`安装基本软件包。 ```bash pacstrap /mnt base linux linux-firmware # 安装基本包,包括部分驱动程序。 ``` #### 配置系统 **fstab**(摘抄自[Archlinux Wiki]([https://wiki.archlinux.org/index.php/Installation_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#Fstab](https://wiki.archlinux.org/index.php/Installation_guide_(简体中文)#Fstab)) 用以下命令生成 [fstab](https://wiki.archlinux.org/index.php/Fstab) 文件 (用 `-U` 或 `-L` 选项设置UUID 或卷标): ```bash genfstab -U /mnt >> /mnt/etc/fstab ``` **强烈建议** 在执行完以上命令后,后检查一下生成的 `/mnt/etc/fstab` 文件是否正确。 **chroot** 使用chroot进入新安装的系统。 ```bash arch-chroot /mnt ``` **时区** 设置为对应地区的时区。 ```bash timedatectl list-timezones # 列出可用的区域 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 设置时区为 Aisa/Shanghai hwclock --systohc --utc # 设置时间标准 ``` **本地化** 编辑`/etc/locale.gen`,指定需要的本地化类型,只需移除对应行前面的`#`。 ```bash en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_TW.UTF-8 UTF-8 ``` 然后执行`locale-gen`生成locale。 ```bash locale-gen ``` 接下来,我们需要将系统locale设置为en_US.UTF-8。若在此处设置中文locale,会导致tty乱码。 ```bash echo LANG=en_US.UTF-8 > /etc/locale.conf ``` **网络** - 设置一个主机名 创建一个hostname文件,并写入你的主机名: ```bash nano /etc/hostname myhostname # 设置你的主机名称 ``` 添加对应的信息到hosts: ```bash nano /etc/hosts 在最下方添加 127.0.1.1 myhostname.localdomain myhostname # 修改为你的主机名 ``` 如果系统有一个永久的 IP 地址,请使用这个永久的 IP 地址而不是 `127.0.1.1`。 - 安装相应网络管理程序 如果使用的是wifi,则需要安装相应的软件包管理。 ```bash pacman -S iw dialog wpa_supplicant ``` **设置用户密码** - 设置root密码(使用`passwd`) - 创建普通用户 ```bash useradd -m -G wheel username # username修改为相应的用户名 ``` - 设置用户密码(`passwd username`) **安装引导程序(Grub)** 你需要安装 Linux 引导程序以在安装后启动系统。 安装必要的软件包: ```bash pacman -S grub efibootmgr os-prober # 如果不是多操作系统的用户,请不要安装os-prober # 如果是BIOS引导,则不需要安装efibootmgr ``` 接下来,需要执行`grub-install`,把Grub安装到EFI分区。 ```bash grub-install # 如果之前的步骤创建的是efi,则需要手动指定安装路径 # grub-install --efi-directory=/efi grub-mkconfig -o /boot/grub/grub.cfg #如果之前的步骤创建的是efi,则修要将boot修改为efi ``` ### 结束安装 - 输入`exit`退出chroot环境 - 执行`reboot`重启系统 --- 下一篇文章,将会讲述安装后的基本配置。  Last modification:April 15th, 2020 at 11:56 am © 允许规范转载 Support 赞助一杯冰阔落 ×Close Appreciate the author Sweeping payments Pay by AliPay Pay by WeChat
快递单号、空包代发、快递单号出售www.dydanhw.com
最后修改:2020 年 04 月 15 日
::mafumafu:appear::
说好的“下一篇”呢,我也想学美化啊!
感觉Debian, Ubuntu, Deepin, ElementaryOS都更省心一些,Arch拿来玩就可以啦~
不过Arch的包管理器真的非常好用,如果找不到的话就用AUR(如果实在没有,也可以尝试自己手动打一下包),还有就是,Arch官网会实时更新已知问题,所以不用太担心会滚挂~
是的嗷~
牛逼!欢呼!尖叫! ::mafumafu:shy::