全站通知:

安装和配置Arch

阅读

    

2024-09-22更新

    

最新编辑:贪睡的小爱

阅读:

  

更新日期:2024-09-22

  

最新编辑:贪睡的小爱

来自ArchWIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
页面贡献者 :
贪睡的小爱


上一页: 安装Arch前声明 下一页: Pacman包管理器与密钥管理


准备工作:

实体机安装

  1. 一台正常联网的电脑
  2. 一个大于1.5G的u盘

虚拟机安装

  1. vmware,virtualbox等虚拟机软件

下载安装arch镜像

下载iso

1: 浏览器搜索arch官网,并点击网页最右上角的 "Download" 进入下载iso的界面https://archlinux.org/download/。接着找到 “BitTorrent Download (recommended)” 那一块,选择你想要的下载的方式, 其中 “Magnet link for 2024.09.01" 是直接浏览器下载,“Torrent for 2024.09.01” 则是使用torrent种子文件下载。也可以根据需要在该页面内找到适合自己的下载方式

刻录到u盘

方法一: 直接刻录到u盘
如果是windows,则可以使用rufus或者其他u盘刻录软件进行刻录。在linux下可以用dd命令把iso镜像刻录到u盘。


方法二: 使用ventoy创建启动u盘
打开ventoy官网并点击页面上方的“下载”按钮进入下载界面https://www.ventoy.net/cn/download.html。选择适合自己系统 的包进行下载。下载并安装完成后,插入u盘并打开ventoy,在 “配置选项” 里面,选择合适自己电脑的启动方式(传统模式BIOS 或 UEFI模式)。完成后点击安装即可。
当ventoy成功安装进u盘后,在windwos下默认是只有一个空的分区,这是给你存放镜像的地方,直接把你需要引导的镜像复制到该分区下即可,在ventoy启动时,会自动扫描该分区下的系统镜像文件。

当然,该分区下仍然可以用作正常的存储文件,不会对引导造成影响。详细使用文档和细节可以参照官方使用教程: https://www.ventoy.net/cn/doc_start.html

进入安装环境

实体机

重启进入BIOS(不同的电脑根据主板的不同,进入BIOS的热键也不一样,自行上网解决),确保 “安全启动” 已被关闭,否则将会启动失败。并且确定自己的电脑的什么启动方式(传统模式还是UEFI)。

在关闭 “安全启动” 后,插入u盘并且重启进入u盘,如果是直接刻录iso的,那么会直接进入arch安装环境的引导界面,如果使用ventoy引导,则会进入ventoy的引导界面,在里面列出了当前u盘里存在的系统镜像 ,通过键盘上的方向键选择arch镜像,回车后选择 “grub2 mode”,回车进入安装环境(如果进入安装环境失败,在选择镜像后试着选择 “normal mode")。 进入镜像后,选择第一个安装archlinux,如果成功进入安装环境,屏幕上应该会显示一些彩色的色块,并且命令提示符显示的是 “root@archiso#~”

虚拟机

这里以 vmware 举例,其他虚拟机软件也是类似的配置和操作。

在vmware新建一个虚拟机,iso选择之前下载好的arch镜像,类型选linux64 bit,内存至少1G大小 硬盘至少5G(我设置了20G),cpu任意,其他默认即可。 启动虚拟机,在引导界面选择第一个 "install archlinux",如果成功进入安装环境,屏幕上应该会显示一些彩色的色块,并且命令提示符显示的是 “root@archiso#~”

安装和配置基本arch系统

要安装一个基本的arch,大致需要以下步骤:
  1. 连接网络
  2. 硬盘分区并创建文件系统
  3. 挂载文件系统(分区)
  4. 安装系统和生成fstab的文件
  5. 安装引导
  6. 配置系统
  7. 卸载文件系统并重启以完成安装

连接网络

虚拟机
进入安装环境后,通常网络直接就有,使用ping命令验证网络连接,如果使用ping命令无法连接到网络。请检查虚拟机的网络设置。
实体机
实体机进入安装环境后,如果是有线连接,则会自动联网,如果使用无线网卡,则不会自动连接网络,需要使用内置的iwctl进行网络连接,以下是对于iwctl的操作步骤:


    # 进入iwcrl命令行
    iwctl

    # 扫描网卡设备
    show devices
    
    # 扫描网络
    station 网卡名 scan

    # 显示出扫描到的网络
    station 网卡名 get-networks

    #连接到指定网络
    station 网卡名 connect 网络名

    #实例: 
    iwctl
    show devices
    station wlan0 scan
    station wlan0 get-networks
    station wlan0 connect H3C_001
成功配置好后,可用ping命令验证互联网是否连通,并且可以使用 ip addr命令查看网络具体信息。

硬盘分区并创建文件系统

linux对于使用mbr启动模式的机器来说,至少需要两个分区: 根目录(/)和交换分区(swap)。
对于UEFI启动模式的机器来说,至少需要三个分区: EFI分区,根目录(/)和交换分区(swap),其中efi分区最好在第一个。


MBR(传统模式)
首先使用lsblk命令查看你的磁盘的名字,虚拟机默认是/dev/sda形式的,实体机按照目前(2024-09)主流接口,通常是/dev/nvme0n1形式的。然后使用fdisk命令对硬盘进行分区操作,以下

是fdisk命令的解释:


    # 查看磁盘分区情况
    fdisk -l 设备名称

    # 对磁盘进行操作
    fdisk 设备名称

    # 实例: 
    fdisk -l /dev/sda
    fdisk /dev/sda
使用fdisk进入fdisk的命令行后,按照提示按m键即可打开帮助文档,以下是常用命令的中文解释:


    o   创建mbr分区表
    g   创建gpt分区表
    p   打印磁盘信息
    n   新建分区
    d   删除分区
    l   列出支持的分区格式
    t   修改分区类型
    e   重新设置分区大小
    w   保存并退出
    q   退出不保存

我的efi分区规划是:
根目录: /dev/sda2 19G
swap分区: /dev/sda3 1G
仅供参考


UEFI模式
首先使用lsblk命令查看你的磁盘的名字,虚拟机默认是/dev/sda形式的,实体机按照目前(2024-09)主流接口,通常是/dev/nvme0n1形式的。然后使用gdisk命令对硬盘进行分区操作。同样的,

gdisk和fdisk用法几乎一样,在gdisk命令行内可输入?显示帮助信息,这里不再赘述。

我的efi分区规划是:
efi分区: /dev/sda1 5MB
根目录: /dev/sda2 19G
swap分区: /dev/sda3 1G
仅供参考

分区完成并退出分区工具后,记得使用 -l 参数检查分区是否符合自己的预期。


创建文件系统
文件系统简述: 当创建好一个分区后,其本质仅在磁盘上划分了区域,此时还不能向分区内存储数据,需要分区创建文件系统。文件系统通俗点来说即如何存储和管理文件的格式,

常见的文件系统格式包括但不限于: fat32, ntfs, ext2/3/4, btrfs等。常用的windwos系统通常使用的是ntfs,linux通常使用ext家族(ext2 ,ext3, ext4),或者btrfs来作为文件系统, 值得注意的是,windwos不支持ext家族,所以在windows下默认不能识别和管理ext家族的文件系统,需要通过第三方软件实现。而linux通常支持ntfs(能识别ntfs,但不能把系统安装在ntfs上)。 我们这里安装archlinux以ext4为例,以下列出了不同分区应该被创建的文件系统格式:

注意: 如果你在分区的时候把 /etc, /opt, /usr等类似的分区单独分出来,那么其文件系统格式和linux根目录一样,为ext2/3/4。因为目前最主流也是最好用的是ext4,以下均以ext4为例
  • efi分区(esp): fat
  • linux根目录: ext2/3/4
  • 交换分区: swap
具体命令如下:


    # efi分区(esp)
    mkfs.fat -F32 分区名

    # linux根目录
    mkfs.ext4 分区名

    # 交换分区
    mkswap 分区名

    # 实例:
    mkfs.fat -F 32 /dev/sda1
    mkfs.ext4 /dev/sda2
    mkswap /dev/sda3

成功创建文件系统后,需要把swap分区打开,使用swapon命令, 用法如下:
    # 开启swap分区
    swapon 设备名

    # 实例:
    swapon /dev/sda3

挂载文件系统(分区)

在linux里需要挂载文件系统才能对其进行读写操作,使用mount命令可以做到这一点,我们通常在安装系统的时候,会把需要安装的分区挂载到/mnt下,以下是mount命令的用法:


    # 挂载文件系统
    mount -t 文件系统类型(可选) 分区的路径 挂载点

    # 实例:
    mount -t ext4 /dev/sda2 /mnt
    或
    mount /dev/sda2 /mnt
如果是efi模式的,则还需要挂载efi分区,根据规范,efi分区通常位于操作系统的 /boot/efi处,所以如果是efi模式,那么还需要创建 /boot/efi 目录,而在安装环境(live环境)里,

路径应该为 /mnt/boot/efi,其中/mnt是挂载了根目录,也就是未来新系统的根目录,挂载efi分区的完整代码如下,供参考:


    # 创建/boot/efi目录
    mkdir -p /mnt/boot/efi

    # 挂载efi分区
    mount /dev/sda1 /mnt/boot/efi
完成后使用lsblk命令检查各个分区的挂载点是否符合自己的预期

安装系统和生成fstab的文件

安装系统
到目前为止,磁盘分区相关操作已经全部完成,接下来需要在分区内安装arch系统,这一步需要联网下载,请确保网络通常。

在arch安装环境(live环境)里,自带了pacstrap安装工具,它用于初始化一个基本的arch系统,用法如下:


    # 安装系统到/mnt下(新系统的根目录)
    pacstrap 目标分区 需要向分区里安装的工具

    # 实例:
    pacstrap /mnt base base-devel linux linux-firmware 
其中/mnt作为新系统的根目录(/mnt这个路径是相对于live环境的),需要安装的软件是base, base-devel, linux, linux-firmware,其中:
  • base(必须): 基本系统结构,如/etc, /usr/, /opt等等,和基本工具,如ls, cat, grep等等
  • base-devel(可选): 基础开发包,包含了基本的编译,编译,库环境等
  • linux(必须): linux内核
  • linux-firmware(可选): 包含了,linux常见的驱动程序,如果是实体机安装建议安装该组件
使用pacstrap安装完系统后,使用ls /mnt查看是否成功安装,如果显示和正常linux根目录一样的结构,包括但不限于: /etc, /usr, /opt, /run等目录,说明安装成功。
生成fstab文件
该文件用于在系统启动的时候自动挂载分区,而不需要手动挂载,使用genfstab命令配合重定向符即可生成该文件,用法如下:


    # 生成并将输出重定向到/mnt/etc/fstab(也就是新系统的/etc/fstab)文件中
    genfstab 标识符(可选) 根据哪个挂载点生成fstab

    # 实例:
    genfstab /mnt >> /mnt/etc/fstab
    或
    genfstab -U /mnt >> /mnt/etc/fstab
其中 -U参数是使用UUID来表示磁盘的分区,而不是直接使用分区名(如/dev/sda1),使用UUID可以防止分区名因为启动顺序的变化而变化,因为UUID是唯一的。
注意:在genfstab的时候,确保根目录,efi分区,swap分区被挂载或者开启,否则在genfstab扫描的时候不会把没挂载的分区添加到fstab文件里,可以通过查看

/mnt/etc/fstab文件以验证是否符合自己的预期。

安装引导

切换根目录
到目前为止,基本的系统已经安装完毕,但是还需要安装引导来使系统可以被启动,首先我们需要使用arch-chroot命令进入新的系统:


    # 切换到新的系统(切换根目录)
    arch-chroot 根目录路径

    # 实例:
    arch-chroot /mnt
注意: arch-chroot命令和chroot差不多,只不过arch-chroot是专门为archlinux设计的根目录切换命令,而直接使用chroot在后续操作中会出现不可预料的错误。
如果这时候前面的命令提示符变成纯白色的 " [root@archiso /] # ",那么说明切换成功
安装引导
在arch中提供了一个包管理器用于管理软件,叫pacman,现在我们需要安装grub软件来管理引导程序:


    # 安装grub
    pacman -S grub
其中pacman是arch的包管理器, -S 参数表示安装软件,grub表示软件名(更多pacman参数和使用可以输入pacman --help来查看)。
注意:如果你是使用efi模式,需要另外再安装 efibootmgr 这个包,完整命令如下:


    # 使用efi时,需要安装的软件
    pacman -S grub efibootmgr
接着使用grub包里提供的工具来安装引导程序和生成配置文件:


    # 安装引导程序(MBR)
    grub-install 磁盘设备名称

    # 实例:
    grub-install /dev/sda

    # 安装引导程序(EFI)
    grub-install --target=目标架构 --efi-directory=efi分区所在路径

    # 实例:
    grub-install --target=x86_64-efi --efi-directory=/boot/efi
    # 生成grub配置文件
    grub-mkconfig -o 配置文件路径

    # 实例:
    grub-mkconfig -o /boot/grub/grub.cfg
注意:在使用grub-mkconfig生成配置文件时,路径一般是固定的,为/boot/grub/grub.cfg,不可以修改,否则会导致开机时无法引导系统。

配置系统

在配置系统的时候会涉及到编辑文件操作,但arch不自带文本编辑器,我们需要安装一个,以vim为例: pacman -S vim


到目前为止,已经完成了能成功启动的操作系统,不过为了更好的使用,我们需要为系统进行配置,arch新手建议按照以下命令完成基本配置:


    # 为root用户设置密码
    passwd root

    # 创建普通用户并设置密码
    useradd -m cancerai
    passwd cancerai

    # 设置主机名
    vim /etc/hostname

    # 设置DNS配置文件
    vim /etc/hosts

    # 设置时间(没有中国,只有上海)
    ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    # 设置字符集
    vim /etc/locale.gen
    locale-gen
    echo 'LANG=en_US.UTF-8'  > /etc/locale.conf

    # 安装CPU微码
    Intel: pacman -S intel-ucode
    AMD: pacman -S amd-ucode

卸载文件系统并重启以完成安装

配置完成后,一个新的archlinux就完成了全部的基础安装,现在我们可以重启进入新系统了,不过在此之前为了方式数据损坏,建议手动卸载文件系统:


    # 退出arch-chroot环境
    exit
    或
    Ctrl + d
    
    # 卸载文件系统
    umount -R /mnt
如果是虚拟机,直接poweroff,然后在虚拟机设置里把镜像文件取消开机自启,或者把磁盘的启动顺序调整到第一个
如果是实体机,先拔掉u盘,然后直接reboot重启即可


如果安装正确,重启后会进入grub引导界面供你选择,其中第一个选项是你新安装的archlinux操作系统。如果没有出现grub引导界面,则可能是之前使用grub-install,或者grub-mkconfig

的时候出现问题,请插入u盘或者把安装镜像作为第一启动,重新进入安装环境,并挂载根目录,efi分区(如果有),进行检查或重新使用grub-install, grub-mkconfig命令安装和生成grub。




上一页: 安装Arch前声明 下一页: Pacman包管理器与密钥管理