相关环境
MacOS Catalina 10.15.3
VMware Fusion 11.5.1 Pro
Ubuntu 18.04.4 x64
问题描述
通过 ISO 镜像安装 Ubuntu 18.04.4 的过程中出现了 “No root file system” 这样的报错信息导致没法安装。如下图所示:
问题原因
1、从报错信息上分析,“No root file system is defined.” 可以大致推断出是文件系统或者硬盘相关的问题。
2、从第 1 步的推测继续分析,如果真是第 1 步推测的那样是文件系统或者硬盘的问题,为什么会出现呢?
(1)首先,我想到的是本次安装我自定义了配置,而不是直接使用 VMware 默认的 Ubuntu 的快速安装。
(2)其次,我分析了我总共做了改动的配置,就只有两个模板的四项配置。“处理器和内存” 及 “硬盘”。而改动如下:将 CPU 由默认的 1 核改为 4 核;将内存由默认的 2 GB 改为 16 GB;将硬盘大小由 20 GB 改为了 100 GB;在硬盘的高级选项将总线类型由默认的 SATA 改为了 NVMe。
3、为什么我会将总线类型改为 NVMe 呢?因为我的电脑的硬盘是 NVMe 协议的总线类型,而 NVMe 的协议比 SATA 要快很多。因此,设置虚拟机的硬盘总线类型与我的宿主机的物理硬盘保持一致能够明显地提升虚拟器的运行速度。
4、从以上的分析来看,这四处改动中可能引发上述问题的就是最后一项更改了总线类型,且可能性非常大。但为什么改了总线类型会出现这个问题呢?
5、继续分析又可以轻松联系到引导方式的问题,传统 BIOS 的引导方式(legacy),但这种引导方式并不支持最新的 NVMe 协议,而最新的引导方式(UEFI)则支持 NVMe 协议。
6、确认当前使用的引导方式,从虚拟机设置 -> 高级 中可以看到固件类型的设置确实就是 “传统 BIOS”,所以问题基本已经定位到了。
解决方法
根据上方的问题分析,其实解决方法已经明了了,那就是把 “传统 BIOS” 改为 “UEFI” 即可
1、先将安装报错的虚拟机关机,因为不关机不能修改某些虚拟机的设置。这步略过…关机方法很多(虚拟机 -> 关机…)
2、找到虚拟机设置 -> 高级设置
有多种方法可以找到高级设置,此处介绍最常规的一种。选择 Ubuntu 虚拟机窗口 -> 菜单栏 -> 虚拟机 -> 设置 (Command + E)-> 高级
2、将固件类型修改为 “UEFI”
如下图所示,将默认的 “传统 BIOS” 改为 “UEFI” 并关机。
3、开启虚拟机安装
重新开启虚拟机,问题解决!