+++
title = "初试openEuler（一）：windows下使用qemu安装openEuler"
date = "2020-03-27"
tages = ["安装openEuler"]
archives = "2020-03"
author = "traffic_millions"
summary = "windows下使用qemu安装openEuler虚拟机"
+++

### 【背景】
今天华为开发者大会上，openEuler开源社区发布了最新的LTS版本，本着第一个吃螃蟹的原则，赶紧下载下来玩一玩；由于手上只有一台windows机器，考虑使用qemu安装openEuler虚拟机；

### 【环境准备】
- Windows10 64位
- openEuler开源社区下载qcow2镜像：[openEuler-20.03-LTS.aarch64.qcow2.xz](http://repo.openeuler.org/openEuler-20.03-LTS/virtual_machine_img/aarch64/openEuler-20.03-LTS.aarch64.qcow2.xz) (aarch64)


![img](../2020-03-27-qemu-media/download_qcow2.png "download_qcow2.png")

### 【安装步骤】

##### 一、安装qemu-for-windows

在[QEMU home page](https://qemu.weilnetz.de/w64/2019/)下载qemu安装程序

![clip_image003](../2020-03-27-qemu-media/clip_image003.png "clip_image003.png")

安装的时候可以自定义安装路径如（D:\software\qemu）

![img](../2020-03-27-qemu-media/clip_image005.png "clip_image005.png")

安装结束之后设置qemu的环境变量：环境变量配置窗口有时候很难找到，win10可以直接在搜索框搜索“环境变量”

![img](../2020-03-27-qemu-media/clip_image007.png "clip_image007.png")

选择【编辑系统环境变量】即可；

![img](../2020-03-27-qemu-media/clip_image009.png "clip_image009.png")

高级->环境变量->系统变量->Path->新建，添加qemu的安装路径，保存退出即可，比如（D:\software\qemu）

![img](../2020-03-27-qemu-media/clip_image011.png "clip_image011.png")

##### 二、运行qemu & 安装openEuler

新建一个openEuler_test文件夹，将下载解压好的openEuler镜像文件（openEuler-20.03-LTS.aarch64.qcow2）放到该文件夹中

![img](../2020-03-27-qemu-media/show_qcow2.png "show_qcow2.png")

进入到qemu的安装路径（D:\software\qemu）将edk2-aarch64-code.fd拷贝到qcow2镜像文件的同级路径下；

![img](../2020-03-27-qemu-media/clip_image014.png "clip_image014.png")

拷贝之后如下所示

![img](../2020-03-27-qemu-media/qcow2_fd.png "qcow2_fd.png")

在dos窗口进入到该路径下，执行如下命令创建虚拟机：

`qemu-system-aarch64 -m 4096 -cpu cortex-a57 -smp 4 -M virt -bios edk2-aarch64-code.fd -hda openEuler-20.03-LTS.aarch64.qcow2 -serial vc:800x600`

![img](../2020-03-27-qemu-media/exec_qcow2_to_create.png "exec_qcow2_to_create.png")

弹出qemu显示窗口

![img](../2020-03-27-qemu-media/clip_image017.png "clip_image017.png")

在打开的qemu的虚拟化窗口中，按下Ctrl+Alt+2切换到串口控制台，如下图所示：

![img](../2020-03-27-qemu-media/qcow2_install_show.png "qcow2_install_show.png")

回车，等待出现如下界面

![img](../2020-03-27-qemu-media/wait_login.png "wait_login.png")

输入用户名：root，密码：openEuler12#$

![img](../2020-03-27-qemu-media/qcow2_install_done.png "qcow2_install_done.png")

到这里虚拟机就算是安装完成了~



---

分界线

---



可能有些小伙伴想要亲自用ISO安装一把openEuler，下面我也用ISO装了一下，不过会出现概率性安装失败，不推荐这种安装办法，当然体验一把openEuler安装界面也是可以的~

### 【环境准备】

- openEuler开源社区下载openEuler ISO：[openEuler-20.03-LTS-aarch64-dvd.iso](https://repo.openeuler.org/openEuler-20.03-LTS/ISO/aarch64/openEuler-20.03-LTS-aarch64-dvd.iso) (aarch64)

![index-arm](../2020-03-27-qemu-media/index-arm.png "index-arm.png")

### 【安装步骤】

##### 一、安装qemu-for-windows

同上

##### 二、创建qcow2镜像文件

将下载好的openEuler ISO（openEuler-20.03-LTS-aarch64-dvd.iso）放openEuler_test文件夹中

![img](../2020-03-27-qemu-media/put_iso.png "put_iso.png")

以管理员身份运行cmd，进入到openEuler_test路径下，执行如下命令创建qcow2格式的镜像文件；

`qemu-img create –f qcow2 disk.qcow2 100G`  生成disk.qcow2文件

![img](../2020-03-27-qemu-media/generate_qcow2.png "generate_qcow2.png")

##### 三、运行qemu & 安装openEuler

进入到qemu的安装路径（D:\software\qemu）将edk2-aarch64-code.fd拷贝到ISO和qcow2镜像文件的同级路径下；

![img](../2020-03-27-qemu-media/clip_image014.png "clip_image014.png")

拷贝之后如下所示

![img](../2020-03-27-qemu-media/copy_fd.png "copy_fd.png")

在dos窗口进入到该路径下，执行如下命令创建虚拟机：

`qemu-system-aarch64 -m 4096 -cpu cortex-a57 -smp 4 -M virt -bios edk2-aarch64-code.fd -cdrom openEuler-20.03-LTS-aarch64-dvd.iso -hda disk.qcow2 -serial vc:800x600`

![img](../2020-03-27-qemu-media/exec_iso.png "exec_iso.png")

弹出qemu显示窗口，在打开的qemu的虚拟化窗口中，按下Ctrl+Alt+2切换到串口控制台，如下图所示：

![img](../2020-03-27-qemu-media/clip_image017.png "clip_image017.png")

将光标停留在Install openEuler 20.03 LTS处，并按e键，进入grub2引导参数界面：

![img](../2020-03-27-qemu-media/clip_image018.png "clip_image018.png")

由于此时的串口控制台是被-serial参数重定向到vc monitor中，故需要修改一下openEuler引导菜单中的启动参数，删除console=tty0  (注意删除console=tty0的时候，移动光标要逐步移动，不要长按“—>”按钮，是个大坑~) 

注：由于windows没有图形化所必要的驱动程序，故qemu for windows安装openEuler的过程，只能使用文本安装模式。

![img](https://media.giphy.com/media/ZeX112ImfdnHvYv7Z0/giphy.gif)

在此界面中删除console=tty0参数，注意删除的时候需要将光标移动到console=tty0的左端，再按“<---”

![img](../2020-03-27-qemu-media/clip_image020.png "clip_image020.png")

删除之后按下Ctrl+x键执行OS的引导过程，稍等一会之后，便可看到qemu的控制台提示系统安装

![img](../2020-03-27-qemu-media/clip_image021.png "clip_image021.png")

按下2回车，使用文本模式安装openEuler：

![img](../2020-03-27-qemu-media/clip_image022.png "clip_image022.png")

安装程序总共有8个过程，分别是：语言设置，时区设置，安装源设置，安装软件选择，安装位置，网络设置，root密码，用户创建。其中，[x]表示已经设置完成，[!]表示未设置完成。在所有的配置选择完毕之后，我们即可进行安装（用户创建不是必选项）：

![img](../2020-03-27-qemu-media/clip_image023.png "clip_image023.png")

有时候这个qemu显示窗口出现滞留的情况，导致相互遮盖看不清选项 

![img](../2020-03-27-qemu-media/clip_image024.png "clip_image024.png")

这个显示也是一个大坑~，根本看不清选项，推荐使用一串神秘代码进行安装（5+回车+c+回车+2+回车+c+回车+c+回车+7+回车+密码+回车+密码+回车+b+回车）

![img](https://media.giphy.com/media/RiWWsA60e3bXrwrdb9/giphy.gif)

执行完这串神秘代码之后，显示如下（这个时候等着就行了…）

![img](../2020-03-27-qemu-media/clip_image025.png "clip_image025.png")

出现如下显示，表示正在安装软件包(58/523, 继续等着吧…）

![img](../2020-03-27-qemu-media/clip_image026.png "clip_image026.png")

安装完成之后，按下回车重启，输入用户名root和密码openEuler12#$即可~

![img](../2020-03-27-qemu-media/ended.png "ended.png")