archlinux+UEFI模式在linux主机下基于KVM-QEMU命令行虚拟机安装笔记
ArchLinux十分精简,并且具有强大的滚动更新。最近在基于ubuntu的宿主机下通过KVM-QEMU虚拟机安装了archlinux,将过程记录下来以供参考。
1、下载启动盘
1.1、下载archlinux镜像文件
- 到https://www.archlinux.org/download/页面,寻找中国镜像源下载archlinux-**-x86_64.ios镜像文件,
- 或者在国内的各大mirror镜像网站下载。
1.2、确保KVM宿主机安装了ovmf
因为UEFI模式需要特殊配置,KVM虚拟机需要安装相应组件ovmf,如果没有安装则安装之。
sudo apt install ovmf
2、进入安装系统
2.1、启动安装环境
命令行创建磁盘文件:
qemu-img create -q -f qcow2 archlinux.img 40G
创建虚拟机并启动,创建脚本中需要明确指明UEFI启动模式:–boot=uefi
sudo virt-install –connect qemu:///system \
–name archlinux \
–ram 2048 \
–vcpus=2 \
–disk path=/data/archlinux/archlinux.img,device=disk,bus=ide,size=60 \
–cdrom /home/neo/iso/archlinux-2020.02.01-x86_64.iso \
–os-type=auto \
–network bridge=br0,model=virtio,model=e1000 \
–hvm \
–os-variant=auto \
–graphics vnc,listen=0.0.0.0,port=5913 \
–virt-type=kvm \
–boot=uefi \
–noautoconsole
附:如果安装失败,需要清除虚拟磁盘,则执行以下命令即可:
virsh destroy archlinux
virsh –connect qemu:///system undefine –nvram archlinux
安装过程启动以后,通过VNC客户端连接主机
在这里执行安装过程和配置。
2.2、连接网络
arch的安装环境已经包含的基础的联网功能,硬件环境也会自动识别。有线网络使用dhcpcd命令。无限网络使用wif-menu命令找到相应无线id配置密码。设置完成之后通过ping命令来看看网络是否连接。
2.3、更新系统时间
timedatectl set-ntp true
2.4、增加国内镜像源
系统自带vim编辑器。在/etc/pacman.d/mirrorlist文件的开头加入清华源:Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
vi /etc/pacman.d/mirrorlist
3、系统分区
接下来我们将对硬盘进行分区和安装文件系统。我们可以根据自己的需要进行分区方案选择。一般来说,我们需要,
一个分区:挂载我们的根目录
一个分区:挂载我们的引导目录,使用UEFI建议256M。
一个分区(可选):挂载交换分区。swap分区没有一个完美的值。你的内存紧张就多分点,反之同理。我8G的内存,分配了8G的swap空间。
如果你想把你的home目录分在一个单独的分区。你也可以再划分一个分区挂载home目录。
更多的分区知识和格式知识可以通过网络自己学习。
3.1、使用fdisk进行磁盘分区
fdisk /dev/sda
fdisk的使用方法可以通过网络学习,本次只用到几个命令,本次一共分了三个分区,1)UEFI启动分区,2)ext4分区,3)swap虚拟内存分区,最后通过w命令将分区写入磁盘。
使用parted工具将UEFI分区进行激活,否则可能会无法进行启动。
parted /dev/sda
(parted) set 1 boot on
(parted) q
3.2、创建文件系统
上节,我们分配了引导分区boot,交换分区swap,根分区/ ,对于文件系统的知识,可以去网络上搜索学习。
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
对于交换分区swap我们还要将其激活
mkswap /dev/sda2
swapon /dev/sda2
3.3、挂载分区
将根分区挂载到/mnt
mount /dev/sda2 /mnt
将引导分区挂载到/mnt/boot。
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
4、安装系统
4.1、安装基础包
pacstrap /mnt base base-devel
base-devel包中包括了gcc,make,sudo等等基础开发包。如果你是开发人员建议安装。如果仅仅使用安装base即可。
安装linux kernel
4.2、配置分区表
genfstab -U /mnt >> /mnt/etc/fstab
4.3、进入新系统
arch-chroot /mnt
此时我们就从U盘安装环境转移到我们的新安装系统中。
4.4、配置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock –systohc
4.5、安装vi编辑器
因为新系统只安装了基本环境,没有包含编辑器工具,所以需要手工安装
pacman -S vi
4.6、本地化设置
进行本地化设置以正确显示本地文字和时间等标准。
编辑 /etc/locale.gen 文件。找到zh_CN.UTF-8 UTF-8和en_US.UTF-8 UTF-8,将’#’注释去掉
vi /etc/locale.gen
然会执行 locale-gen生成locale。
locale-gen
将 LANG=en_US.UTF-8 加入 /etc/locale.conf
vi /etc/locale.conf
4.7、设置主机名
在 /etc/hostname 文件的第一行输入你的host名(自己取个喜欢的名字)
vi /etc/hostname
编辑 /etc/hosts文件,添加以下内容(hostname为你的host名)
127.0.0.1 localhost.localhost localhost
::1 localhost.localhost localhost
127.0.1.1 archlinux.myvps localhost
vi /etc/hosts
4.8、设置root密码
使用passwd命令为root用户增加密码
passwd
4.9、安装Intel-ucode(非Inter CPU不需要)
pacman -S intel-ucode
4.10、安装引导
UEFI 系统的引导如下:
pacman -S grub efibootmgr
grub-install –target=x86_64-efi –efi-directory=/boot –bootloader-id=arch_grub –recheck –debug
EFI分区挂载点根据自己的当时分区方案改变。比如我的就是 /boot。
安装linux核心
pacman -S linux
默认值回车
创建启动配置文件
grub-mkconfig -o /boot/grub/grub.cfg
5、用户管理,安装必要软件
5.1、添加用户
毕竟一直使用root用户是十分不安全的,我们需要创建一个自己的工作用户。(将Name换成自己的用户名)
useradd -m -g users -G wheel -s /bin/bash Name
修改用户密码
passwd Name
如果你没有安装base-devel,则需要安装一下sudo
pacman -S sudo
编辑/etc/sudoers文件,在 root ALL=(ALL) ALL下边添加下面一行信息。
%wheel ALL=(ALL) ALL
vi /etc/sudoers
添加完以后通过以下命令退出vi变价器
:wq!
这样你的用户就可以使用sudo命令了。
5.3、安装其他工具
因为我们只是安装了基本系统,所以需要安装一些相应的工具:
pacman -S net-tools
pacman -S dhcpcd
pacman -S man
pacman -S openssh
6、重启电脑
至此,archLinux的基本安装已经完成。我们重启电脑之后,拔掉u盘,就可进入Arch的系统了。
exit
reboot
7、执行重启命令以后,KVM可能并不会真的重启,所以需要在宿主机环境下手工重新启动一下虚拟机
virsh start archlinux
再次打开VNC客户端连接虚拟机即可正常操作系统了,进入系统以后可以通过dhcpcd连接网络,后续需要一些其他工具软件安装,等以后再写笔记。
archlinux+UEFI模式在linux主机下基于KVM-QEMU命令行虚拟机安装笔记的更多相关文章
- linux下使用无线网卡的命令行方法(wifi,iwconfig)
原文地址:linux下使用无线网卡的命令行方法(wifi,iwconfig) 作者:andyhzw (1)首先关闭开发板的有线网卡 [root@FriendlyARM /]# ifconfig eth ...
- Linux下一款可以使用命令行的pdf阅读器
Zathura是linux下一款用命令行控制打pdf阅读器,并且基本打使用方法和vim很相似.对于喜欢键盘操作的用户来说的确是一个不错的选择. ubuntu下的安装命令: sudo apt-get i ...
- Ubuntu 11.10下GRUB 2 1.99版编译安装笔记
Ubuntu 11.10下GRUB 2 1.99版编译安装笔记 以下的安装笔记,都是QLi自己学习grub2 时,所整理的,还是新手,有错误的话,请大家帮忙就别提出来了. 最新版grub V1.99官 ...
- Mac 下 Git 的基础命令行操作
Mac 下 Git 的基础命令行操作 sudo apt-get install git-core //安装Git 用户配置 git config --global user.name "Yo ...
- flutter之VSCode下Flutter常用终端命令行
https://www.cnblogs.com/lxlx1798/p/11049922.html 梁飞宇 [Flutter学习]之VSCode下Flutter常用终端命令行 Flutter 常用命令行 ...
- 配置linux平台下基于vim的开发环境
一.vim的基本配置 1.配置文件的位置在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效.而在每个用户的主目录($HOME)下,都可以自己建立私有的 ...
- 【环境配置】Linux环境下下载、配置java环境、安装eclipse、建立eclipse快捷方式详解
一.首先是下载Java JDK 到目前为止的最新版本为(jdk1.8.0_60),有两种方式进行下载: 1.使用shell来进行下载,可使用如下命令直接进行下载: wget --no-check-ce ...
- Linux系统下权限管理和命令详解
下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明.linux中除了常见的读(r).写(w).执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用, ...
- Linux 操作系统下 VI 编辑器常用命令详细介绍
一.Vi 简介 vi是unix世界中最通用的全屏编辑器,linux中是用的是vi的加强版vim,vim同vi完全兼容,vi就是"visual interface"的缩写.它可以执行 ...
随机推荐
- 开发工具篇:JAVA和IntelliJ IDEA相恋
开发工具篇:JAVA和IntelliJ IDEA相恋 idea是什么? IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之 ...
- JVM之GC回收信息详解
一.-XX:+PrintGCDetails 打印GC日志 参数配置:-Xms10M -Xmx10M -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+Pr ...
- GPL协议中国第一案尘埃落定,相关开源软件应如何风控?
导读:2019年11月6日,数字天堂(北京)网络技术有限公司(以下简称 “数字天堂公司”)诉柚子(北京)科技有限公司.柚子(北京)移动技术有限公司(以下简称 “柚子公司”)侵犯计算机软件著作权纠纷一案 ...
- HDU4352 XHXJ's LIS 题解 数位DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4352 题目大意: 求区间 \([L,R]\) 范围内最长上升子序列(Longest increasin ...
- linux入门系列3--常见的linux远程登陆管理工具
服务器一般是云服务器或者放置在机房,我们日常工作中通过远程连接工具连接到服务器进行操作,这类工具很多(如SecureCRT.XShell.Putty.FinallShell.TeamViewer以及w ...
- 计算n的阶乘
题目描述 定义一个函数,传入一个整数n,打印n!的值比如:传入3打印:6 <====1*2*3 输入 整数n 输出 整数n的阶乘 样例输入 Copy 3 样例输出 Copy 6 x=in ...
- 人群密度检测MCNN+CSRnet
MCNN(简单理解): 三列卷积神经网络,分别为大中小三种不同尺度的卷积核,表示为L列(使用大尺度卷积核: 9*9, 7*7, 7*7,7*7), M(使用中等尺度卷积核: 7*7, 5*5, 5*5 ...
- RabbitMQ入门之Hello World
RabbitMQ简介 在介绍RabbitMQ之前,我们需要了解一些最基础的概念,相信使用过或者听说过RabbitMQ的人都不会陌生,但笔者还是不厌其烦地在这里讲述,因为笔者的理念是self con ...
- Spring Boot2 系列教程 (六) | 使用 JdbcTemplates 访问 Mysql
前言 如题,今天介绍 springboot 通过jdbc访问关系型mysql,通过 spring 的 JdbcTemplate 去访问. 准备工作 SpringBoot 2.x jdk 1.8 mav ...
- 树 dfs暴力判环 题意转化
以后还是要多做题啊 这一道题我把题目想的太简单了 用并查集做了一波 但是忘了一种情况 就是同一个树上可能会有环 这就不太对了 而且还不要忘了 一棵树的根节点是一个自环 也就是说这一题的答案就是 ...