0
点赞
收藏
分享

微信扫一扫

ubuntu用kvm安装archlinux实操

一、准备

1.kvm环境

如需要教程,可参考ubuntu20.04安装KVM虚拟机第一、二、三部分,注意:如要支持UEFI,还需要确保KVM宿主机安装了 OVMF

2. archlinux ISO镜像

下载地址:https://archlinux.org/download/ ,注意找中国的服务器下载。

3.官方文档(安装时查阅)

正如见过的其他教程一样,推荐学习官方wiki文档,因为很多专业术语都能找到相应的知识。

二、创建虚拟机

创建虚拟机有virt-manager图形化工具安装方式和virt-install命令安装方式,见ubuntu20.04安装KVM虚拟机第四部分。

这里以命令方式创建:

# 创建磁盘镜像
$ qemu-img create -f qcow2 archlinux.qcow2 40G   

# 创建archlinux虚拟机
$ sudo virt-install  --name archlinux \
--os-variant=archlinux \
--memory 2048 --vcpus 2 \
--disk path=./archlinux.qcow2 \
--cdrom=/media/hollowman/软件/ISO/archlinux-2022.03.01-x86_64.iso \
--boot uefi \
--network bridge=virbr1

三、安装虚拟机

接下来,会就进入archlinux安装虚拟机系统的界面了

在这里插入图片描述

注意: 此时的根目录位于加载iso的安装环境(可以看到操作符为:root@archiso~#),并且默认情况下已经预配置好并启用了 systemd-networkd、systemd-resolved、iwd 和 ModemManager。不过,我们需要安装系统的磁盘镜像,此时还没有进行分区,因此还需要进行一些安装操作才能正常使用。

1.连接网络

iso安装环境已经包含的基础的联网功能,硬件环境也会自动识别。

ip address 来查看网络设备:

root@archiso~# ip link

ping 检查网络连接:

root@archiso~# ping archlinux.org

2.更新系统时间

timedatectl 命令确保系统时间是准确的

root@archiso~# timedatectl set-ntp true

timedatectl status 来检查时间服务状态。

root@archiso~# timedatectl status    

3.建立硬盘分区

fdisk -l 查看设备,找到磁盘设备名,我这里查看后是/dev/vda

root@archiso~# fdisk -l

archlinux用uefi启动,至少需要三个分区(efi分区,swap交换分区和根分区/)

fdisk /dev/vda来对/dev/vda进行分区操作:

root@archiso~# fdisk /dev/vda

这里创建:/dev/vda1:500M,/dev/vda2:2G,/dev/vda3:余下的空间作为根目录,有关交互命令:

在这里插入图片描述

4.格式化分区

root@archiso~# mkfs.vfat -F 32 /dev/vda1   #/dev/vda1创建为vfat格式,作为uefi启动分区
root@archiso~# mkfs.ext4 /dev/vda3         #/dev/vda3创建为ext4格式,作为根分区
root@archiso~# mkswap /dev/vda2            #/dev/vda2创建为交换分区
root@archiso~# swapon /dev/vda2            #启用交换分区 

5.挂载分区

root@archiso~# mount /dev/vda3 /mnt        #根分区挂在到/mnt目录
root@archiso~# mkdir /mnt/boot
root@archiso~# mount /dev/vda1 /mnt/boot   #启动分区挂载到/mnt/boot目录

6.将系统安装到磁盘镜像

1) 更新安装源列表

archlinux的iso安装环境通过pacstrap脚本进行安装的,其中安装源位于/etc/pacman.d/mirrorlist文件中,并且是从上往下依次查找服务器,因此,需要将下载速率快的源(国产源)放在文件的最顶端,如清华的:Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

root@archiso~# vim /etc/pacman.d/mirrorlist  #在最上方添加清华大学的安装源

2) 安装必需的软件包

使用pacstrap脚本,安装base软件包、Linux内核以及常规硬件的固件:

root@archiso~# pacstrap /mnt base linux linux-firmware 

安装vim的原因是,后续配置系统需要编辑一些配置文件,而base基本软件包并不包含vim软件。
base-devel包中包括了gcc,make,sudo等等基础开发包,如果你是开发人员建议安装,如果仅仅使用安装base即可,这里先不安装。

3) 建议安装的常用软件包

文本编辑器vim ,联网工具dhcpcd,页面帮助工具man-db 及 openssh都是建议安装的工具,这些软件对后续安装及系统开机配置都有着重要的作用。

root@archiso~# pacstrap /mnt vim dhcpcd man-db openssh

7. 生成fstab文件

用以下命令生成 fstab 文件 (用 -U 或 -L 选项设置 UUID 或卷标):

root@archiso~# genfstab -U /mnt >> /mnt/etc/fstab

强烈建议在执行完以上命令后,检查一下生成的 /mnt/etc/fstab 文件是否正确。

root@archiso~# cat /mnt/etc/fstab

至此,基本的系统已经安装到了磁盘镜像中,只不过这个系统算是最小化安装,需要进行本地化配置、网络配置、个性化安装等操作才可以形成一个可用的个性化系统。

四、配置系统

1.改变根目录

之前的操作,根目录位于ISO的安装环境,而对磁盘镜像系统的一些配置可以切换到其本身根目录(/dev/vda3),也就是ISO安装环境的/mnt目录。

root@archiso~# arch-chroot /mnt
[root@archiso /]#

注意看,切换root目录后,命令提示符发生了变化。

2.设置时区:

[root@archiso /]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime   #将时区设为上海
[root@archiso /]# hwclock --systohc  #生成 /etc/adjtime:

3.本地化

程序和库如果需要本地化文本,都依赖区域设置,后者明确规定了地域、货币、时区日期的格式、字符排列方式和其他本地化标准。

1)字符编码设置

需在这两个文件设置:locale.genlocale.conf

编辑/etc/locale.gen,然后取消掉 en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8 前的注释(#)。

[root@archiso /]# vim /etc/locale.gen

接着执行 locale-gen 以生成 locale 信息:

[root@archiso /]# locale-gen

然后创建 locale.conf 文件,并编辑设定 LANG 变量,比如:

[root@archiso /]# vim /etc/locale.conf
LANG=en_US.UTF-8

2)键盘布局修改

制台键盘布局默认为 us(美式键盘映射),如果你的键盘布局不是这个,则需要修改。

列出所有可用的键盘布局,可以使用:

[root@archiso /]# ls /usr/share/kbd/keymaps/**/*.map.gz

如果您想要更改键盘布局,如德语键盘布局(文件名为 sunt5-de-latin1.map.gz),你只需要将与该键盘布局一致的文件名添加进 loadkeys,但请省略路径和扩展名。

[root@archiso /]# loadkeys de-latin1

4.网络配置

1) 主机名设置

[root@archiso /]# vim /etc/hostname
hollowman.cn   #添加你要设置的主机名

也可以通过hostnamectl命令直接创建主机名:

[root@archiso /]# hostnamectl set-hostname hollowman.cn

2) 其他网络配置

之前安装的 base 包并不含有任何网络管理工具。对于新安装的系统环境,请接着完成网络配置,配置过程中可能包括要安装合适的网络管理软件。 如果之前没有安装dhcpcd,这里也可以进行安装。

[root@archiso /]# pacman -S dhcpcd

5.Initramfs

通常不需要自己创建新的 initramfs,因为在执行 pacstrap 时已经安装 linux,并且已经运行过 mkinitcpio 了,因此,一般来说这一步可略过。

对于 LVM、 system encryption 或 RAID 等分区配置,请修改 mkinitcpio.conf 并用以下命令重新创建一个 Initramfs:

[root@archiso /]# mkinitcpio -P

6.Root密码

[root@archiso /]# passwd

7.安装引导程序

只有安装 Linux 引导加载程序,才能在安装后启动系统,可以使用的的引导程序已在 启动加载器 中列出,请选择一个安装并配置它,GRUB (简体中文) 是最常见的选择。

1) 安装软件包 grubefibootmgr

[root@archiso /]# pacman -S grub efibootmgr

2) 用grub-install命令命令安装grub引导程序到磁盘镜像:

[root@archiso /]# grub-install --target=x86_64-efi --efi-directory=/boot

3) 生成主配置文件

[root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg

五、重启和使用

输入 exit 或按 Ctrl+d 退出磁盘镜像根目录 ,回到 ISO安装环境。
输入 reboot 重启,需移除iso,否则仍会从iso启动
使用安装成功的archlinux系统。

在这里插入图片描述

举报

相关推荐

0 条评论