当前位置: 首页 > news >正文

虚拟机安装Arch Linux

准备工作

在开始安装 Arch Linux 之前,需要先下载安装映像文件并创建好虚拟机环境。

下载安装镜像

下面是 Arch Linux 官方的安装文件下载地址:

Arch Linux - DownloadsArch Linux 安装映像下载地址。

点击并打开这个页面后,可以看到目前 Arch Linux 最新的版本和下载包的文件信息。往下翻页,在页面下方有各个国家可用的下载加速镜像。

选择距离自己所在位置最近的加速镜像可以有效提升安装包的下载速度,我们找到 "China",然后选择其中一个任意可用的加速镜像地址,比如 163.com。

点击镜像链接后,就会打开一个类似文件列表的页面,我们选择 iso 后缀的那个文件,直接点击文件名称进行下载操作。

 创建虚拟机

VMWARE是一个开源免费的虚拟机软件。下载后安装,创建一个新的虚拟机,并把上面下载的 ISO 文件加载到启动光盘。

安装 Arch Linux

启动虚拟机,一切操作正常的话,开机后会看到如下画面:

 通过上下方向键可以自由选择相关的菜单。选择第一项“Arch Linux Install medium (x86_64, BIOS)“,按回车键确认,进入 Arch Linux 的安装环境。

磁盘分区

开始正式安装系统前,需要先对硬盘做分区操作。这需要指定可操作的硬盘,可以通过以下命令来确定当前系统有哪些可用的硬盘设备:

fdisk -l

命令会返回类似如下的输出结果:

 其中 /dev/sda 就是一个可用的硬盘设备。记下这个名称,等下分区时会用的上。在正式开始分区前,需要先确定好分区规划。

对于正式使用的场景,我会建议你多参考一些 Linux 分区方案,可以使日后在磁盘的利用方面更加妥当。不过对于本文仅做体验的场景,我自己的方案如下:

  • 一个交换分区,大小为 1 GiB。
  • 最后所有的空间都留给根分区。

如果不熟悉 Linux 分区的相关概念,可以通过查看这篇文章来了解,可以查看我另一篇文章

有了分区方案,输入以下命令开始分区操作:

fdisk /dev/sda

命令执行后,会进入如下界面:

 这就是 fdisk 提供的分区操作界面了,通过如下操作来创建一个 1 GiB 的交换分区:

  1. 输入 n 新建分区。
  2. 输入 p 新建主分区。
  3. 分区编号输入 1
  4. 开始扇区不用输入,直接回车键进入下一项。
  5. 结束扇区输入 +1G

然后用同样的流程完成主分区的创建。这一步的分区号为 2,后面的扇区输入都保持空,然后直接回车键就可以了,程序会自动分配剩余的所有空间。

以上操作完成后,输入 w 写入分区信息。然后再次输入 fdisk -l 命令,会发现输出信息中多了如下内容:

 这说明分区操作成功了。

格式化分区

硬盘分区后,还需要做格式化操作。Linux 针对不同的分区类型,提供了有不同的格式化命令。首先来格式化交换分区:

mkswap /dev/sda1

主分区使用 ext4 格式的分区:

mkfs.ext4 /dev/sda2

挂载分区

完成分区格式化后,接下来需要挂载分区。首先挂载根分区:

mount /dev/sda2 /mnt

然后启用交换分区:

swapon /dev/sda1

安装系统

完成了以上磁盘操作步骤,就可以正式开始安装 Arch Linux 系统了。不过开始之前,为了提升安装包的下载速度,可以通过以下命令自动更新并保存 5 个速度最快的软件包镜像加速地址:

reflector \
    --save /etc/pacman.d/mirrorlist \
    --country China \
    --protocol https \
    --latest 5

然后安装基础软件包,Linux 内核,常见硬件的固件和常用软件工具:

pacstrap /mnt base linux linux-firmware vim sudo

等待安装完成。

结束后,生成新的自动挂载文件,并写入到新安装的系统:

genfstab -U /mnt >> /mnt/etc/fstab

然后进入到新安装的系统:

arch-chroot /mnt

接下来,将开始对新系统做配置操作。

配置 Arch Linux

配置网络

安装网络 DHCP 动态 IP 软件包和网络管理软件包:

pacman -S dhcpcd networkmanager

启用相关服务:

systemctl enable dhcpcd
systemctl enable NetworkManager

配置时区

Arch Linux 默认为 UTC 时区,调整为国内时区使用下面的命令:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

配置本地字符编码

  • 编辑 /etc/locale.gen 文件,取消 en_US.UTF-8 UTF-8 这一行前的注释信息。
  • 执行 locale-gen 命令生成本地字符集信息。
  • 创建 /etc/locale.conf 文件,内容为:LANG=en_US.UTF-8

使用 en_US.UTF-8 而不使用中文字符编码的原因是为了避免系统输出无法显示的中文信息,以方便排查问题。

配置用户

设置 root 账号密码:

passwd

添加新的普通用户,并加入到 wheel 用户组,以方便使用 sudo 命令来执行一些需要超级用户权限的操作:

useradd -m -G wheel -s /bin/bash zzxworld

最后面的 zzxworld 是新用户名称,需要自己定义。

编辑 /etc/sudoers 文件,移除 # %wheel ALL=(ALL) ALL 这一行前的井号,使 wheel 用户组的用户都可以正常执行 sudo 命令。

给新用户设置密码:

passwd zzxworld

再次提示:最后面的 zzxworld 是上面创建的新用户名称,请替换成自己的。

配置系统引导程序

安装 GRUB 启动加载器:

pacman -S grub

安装 GRUB 引导信息至指定的硬盘:

grub-install --recheck /dev/sda

生成并写入 GRUB 配置信息:

grub-mkconfig -o /boot/grub/grub.cfg

登录新系统

完成以上步骤后,Arch Linux 的基础安装工作就完成了,可以尝试退出安装环境并进入新系统。

首先输入以下命令退出 chroot 环境:

exit

然后卸载之前挂载的分区:

umount -R /mnt

把挂载的安装镜像文件取消,然后重新启动系统。正常的话,应该会看到新的启动选项选择界面:

 直接按回车键,就可以进入新安装的 Arch Linux 系统了。

这里需要注意新安装的archlinux没有桌面环境以及窗口管理,这些需要自己安装

相关文章:

  • 云计算推动重塑与转型,游戏行业进入以技术驱动“新纪元”
  • 22年8月工作笔记整理(前端)
  • 11---OpenCV:图像进阶操作之①轮廓②凸包操作
  • C语言运算符与表达式
  • Python从入门到实践:字节串与字符串
  • k8s教程:使用cert-manager证书管理工具在集群中提供https证书并自动续期
  • MIKE水动力笔记13_数字化海图2之克里金插值
  • QuantLib 金融计算库
  • OpenSergo CloudWeGo 共同保障微服务运行时流量稳定性
  • 全网最牛自动化测试框架系列之pytest(8)-参数化
  • App Store上架iOS App的详细流程
  • 链动2+1模式系统,如何抓住酒业新局的机遇?
  • 携创教育:2022年自考大专需要什么条件?怎么报名?
  • 基于Cookie-Editor与curl实现跨设备的文件下载
  • 百度智慧交通组-EdgeBoard基础操作合集
  • 【mysql】环境安装、服务启动、密码设置
  • 【node学习】协程
  • Android 控件背景颜色处理
  • HTML-表单
  • jdbc就是这么简单
  • JS 面试题总结
  • JS变量作用域
  • pdf文件如何在线转换为jpg图片
  • PV统计优化设计
  • Python实现BT种子转化为磁力链接【实战】
  • tweak 支持第三方库
  • vue.js框架原理浅析
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 判断客户端类型,Android,iOS,PC
  • 我建了一个叫Hello World的项目
  • 一些css基础学习笔记
  • 追踪解析 FutureTask 源码
  • 最近的计划
  • ​VRRP 虚拟路由冗余协议(华为)
  • #{}和${}的区别是什么 -- java面试
  • #Ubuntu(修改root信息)
  • #前后端分离# 头条发布系统
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (6)设计一个TimeMap
  • (安卓)跳转应用市场APP详情页的方式
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .gitignore
  • .gitignore文件_Git:.gitignore
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET MVC第三章、三种传值方式
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .net 验证控件和javaScript的冲突问题
  • ?
  • @EnableConfigurationProperties注解使用
  • @拔赤:Web前端开发十日谈
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory