Archlinux的虚拟机安装(二)
运行虚拟机#
点击开始运行虚拟机后,选择默认的第一个选项,输入回车。
显示如上图所示界面,则表示成功进入Arch Linux的安装界面。
Tips#
- 清除屏幕信息:
clear
或者CTRL+L
。当屏幕信息非常多的时候可以通过此方式清空。 - 命令补全:当输入命令时可以按下
TAB
键进行提示和补全
检测网络#
arch必须有有网络的环境下进行安装,通常有以下两种形式的网络:
- 有线网络——以太网
- 无线网络——wlan
本次教程主要进行虚拟机的安装,所以只对以太网连接进行讲解。
- 确保网络接口处于开启状态,up表示开启,down表示关闭。使用
ip link set interface up
命令可以开启网络接口,interface
更改为相应的接口名。
- 保证VMware的NAT可连接
- 使用
dpdhcd
命令,该命令将自动分配ip地址、子网掩码、默认网关。(个人装机一般不需要使用静态ip,如需请查看ArchWiki静态IP)
- 使用ping命令测试连接。如果如下图所示可以正常发送接收信息,使用组合键
CTRL+c
中断命令。(如果出现异常请逐步排查)
更新系统时间#
使用如下命令:
# 更新时间
timedatectl set-ntp true
# 确认时间正确
timedatectl status
查看磁盘#
使用如下命令查看磁盘情况:
fdisk -l
此处的两块磁盘分别是之前步骤中划定的磁盘大小,还有下载的光盘映像。当前运行的arch就是光盘映像中的系统,我们需要将arch安装到/dev/sda
这块磁盘中去。
磁盘分区知识#
通常操作系统引导方式有BIOS和UEFI两种。因此对应的分区方式也分别有两种。本文依旧指对UEFI方式进行描述。
Linux的文件系统不同于Windows,所有文件都处于根目录下,不同类型的文件有不同的路径。
/home
用户目录,保存各个用户的家目录文件夹/bin
binary 用于存放经常使用的命令/etc
用于存放各种系统配置和管理配置/mnt
mount 系统提供此文件夹用于给用户挂载其他的文件系统,例如光驱/boot
boot 启动时的一些核心文件
更多信息请自行查阅资料。
简单的分区格式只需要按照文档中的要求划分即可。
挂载点指挂载磁盘在当前系统的路径。
磁盘分区#
磁盘分区可以使用fdisk /dev/the_disk_to_be_partitioned
。但更简单的是cfdisk
方式
输入cfdisk /dev/sda
即可开始磁盘分区。(sda
为查看磁盘一节中所查看到的内容)
选择gpt
按下回车
下移至Free space
继续下一次分区。
通过New
操作新建三个分区,分别对应的是磁盘分区知识中表格内的三个分区。(SWAP分区大小可以增加至内存大小,我的虚拟机是4G内存)
最后通过Write
将分区操作执行。
对的,之前的所有步骤只是设计分区方案,如果没有执行写入,就不会执行分区操作。
整个过程中可以使用q
键退出分区,如果分区出现错误可以退出重新分区
如果你在写入后才发现分区错误,请选择Delete
操作删除错误分区后,继续操作
格式化分区#
对于三类不同分区使用不同的格式划分
mkfs.fat -F 32 /dev/sda1(EFI分区)
mkswap /dev/sda2(交换空间分区)
mkfs.ext4 /dev/sda3(根分区)
挂载#
挂载操作使用mount
命令即可
挂载顺序不能混乱:
- 根分区挂载到
/mnt
- EFI分区挂载到
/mnt/boot
- 开启
swap
分区
命令如下
# 挂载根目录
mount /dev/sda3 /mnt
# mkdir :make directory 创建目录,挂载前目录需要被创建
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
# 开启swap分区
swapon /dev/sda2
磁盘分区挂载的操作基本结束
更改pacman镜像源#
pacman是arch的包管理工具,需要使用pacman的镜像源来下载archlinux系统的内核以及软件。但是由于默认的镜像源都处于国外,下载速度非常慢,因此需要更换为国内的镜像源。
# 清华大学
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
## 163
Server = http://mirrors.163.com/archlinux/$repo/os/$arch
## aliyun
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch
本文演示添加以上的镜像源。
pacman的配置文件的默认路径是/etc/pacman.d/mirrorlist
,请使用vim或者nano等编辑器对该文件进行编辑。
vim简单介绍#
vim有三种基本模式:命令模式、插入模式和编辑模式。
当进入vim时,vim默认处于命令模式。通过按下i
即可进入插入模式,插入模式下即可移动过光标完成操作。完成操作后按下esc
返回命令模式。
在命令模式中,按下冒号键,进入底行模式,输入q
即可退出
修改完配置文件后执行pacman -Syyu
更新软件数据库
安装archlinux#
pacstrap /mnt base linux linux-firmware base-devel dhcpcd vim
pacstrap
是archlinux安装脚本可以将指定系统软件安装到指定位置。安装一些基本的软件到/mnt
中,这是被挂载的根目录。
完成安装这步后系统已经安装完成
配置系统#
安装完成后要生成对系统进行配置
Fstab(重要)#
这是非常重要的一步,用于定义磁盘分区,各种其他块设备或远程文件系统应如何装入文件系统。
genfstab -U /mnt >> /mnt/etc/fstab
使用vim查看生成后的文件
vim /mnt/etc/fstab
Chroot#
arch-chroot /mnt
使用arch-chroot 进入/mnt
中的系统,如下图所示,shell前面的内容会改变
时区#
设置时区:
ln -sf /usr/share/zoneinfo/Region(地区名)/City(城市名) /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# hwclock同步时间,改变硬件的时间,默认UTC时间
hwclock --systohc
本地化#
编辑 /etc/locale.gen
,然后取消掉 en_US.UTF-8 UTF-8
和其他需要的区域前面的注释。在这里我去除了en_US.UTF-8 UTF-8
、zh_CN.UTF-8 UTF-8
、zh_HK.UTF-8 UTF-8
、zh_TW.UTF-8 UTF-8
这几个。
# 使用该命令生成locale信息
locale-gen
# 创建locale.conf,编辑LANG变量
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
网络配置#
# 配置计算机的名字
echo 'archVM' > /etc/hostname
Root 密码#
使用passwd
为root用户设置密码
安装引导程序(重点)#
此时系统配置到了最后一步,将其单独拿出。如果此步无法完成,系统就无法启动。
这里使用当下比较流行的grub
作为系统引导。
- 首先需要安装
grub
,archlinux中安装程序或者软件需要用到包管理工具pacman
。
pacman -S grub efibootmgr
其中GRUB
是启动引导器,efibootmgr
被 GRUB 脚本用来将启动项写入磁盘。
2. 在/boot
分区中创建/boot/EFI
和/boot/EFI/GRUB
文件夹,会在MY_GRUB
文件夹中储存 EFI 二进制文件
3. 执行下面的命令来将 GRUB EFI 应用 grubx64.efi
安装到 /boot/EFI/GRUB/
,并将其模块安装到 /boot/grub/x86_64-efi/
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
- 生成著配置文件,使用 grub-mkconfig 工具来生成
/boot/grub/grub.cfg
:
grub-mkconfig -o /boot/grub/grub.cfg
启用徽码#
对于 AMD 处理器,安装amd-ucode
,对于 Intel 处理器,安装intel-ucode
。
在安装徽码后,再次生成grub配置文件。grub-mkconfig 会自动发现微码更新并更新 GRUB 配置信息。安装微码软件包后,重新生成GRUB 配置以激活更新:
grub-mkconfig -o /boot/grub/grub.cfg
安装结束#
输入exit
退出chroot
环境,umount -R /mnt
手动卸载被挂载的分区,最后,通过执行 reboot
重启系统
作者:jankin-z
出处:https://www.cnblogs.com/jankin-z/p/16226080.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
谢谢阅读
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?