在新建虚拟机时出现问题?

无法访问配置存储:找不到指定文件的虚拟磁盘支持提供程序(0xC03A0014)。请问这种情况怎么办?(⊙o⊙)!

JConsole

JConsole 图形用户界面是一种符合 Java 管理扩展(JMX)规范的监视工具。JConsole 使用 Java 虚拟机 (Java VM) 的广泛检测来提供有关在 Java 平台上运行的应用程序的性能和资源消耗的信息。

使用方法 本地

    使用jconsole命令:监视本地运行的所有 Java 应用程序,JConsole 可以连接到这些应用程序。

    使用jconsole PID命令:监视指定PID的Java应用程序。

    获取java PID的方法:通过任务管理器查看、通过Java提供的jps命令查看。远程

    使用jsconsole hostName:portNum命令:hostName是运行应用程序的系统的名称,portNum是您在启动Java VM时启用 JMX 代理时指定的端口号。

    使用service:jmx::命令:使用 JMX 服务 URL 进行连接。

    内容分析

    将 JConsole 连接到应用程序后,JConsole 由六个选项卡组成。

    概述:显示有关 Java VM 和受监视值的概述信息。

    内存:显示有关内存使用的信息。

    线程:显示有关线程使用的信息。

    类:显示有关类加载的信息。

    VM:显示有关 Java VM 的信息。

    MBeans:显示有关 MBeans 的信息。

    组成部分 概览

    显示有关 CPU 使用情况、内存使用情况、线程计数和在Java VM中加载的类的图形监视信息。

    提供执行GC的操作,可以随时点击按钮进行垃圾回收

    伊甸园空间(堆):最初为大多数对象分配内存的池。

    幸存者空间(堆):包含在伊甸园空间垃圾回收中幸存下来的物体的池。

    终身代(堆):包含在幸存者空间中存在一段时间的对象的池。

    永久生成(非堆):包含虚拟机本身的所有反射数据的池,如类和方法对象。使用类数据共享的 Java VM,这一代分为只读和读写区域。

    代码缓存(非堆):HotSpotJava VM 还包括一个代码缓存,其中包含用于编译和存储本机代码的内存。

    堆和非堆内存

    Java VM管理两种类型的内存:堆内存和非堆内存,这两种内存都是在 Java VM 启动时创建的。

    堆内存是Java VM为所有类实例和数组分配内存的运行时数据区域。堆的大小可能是固定的或可变的。垃圾回收器是一个自动内存管理系统,用于回收对象的堆内存。

    非堆内存包括所有线程之间共享的方法区域和Java VM的内部处理或优化所需的内存。它存储每类结构,如运行时常量池、字段和方法数据,以及方法和构造函数的代码。方法区域在逻辑上是堆的一部分,但是,根据实现,Java VM 可能不会对它进行垃圾回收或压缩。与堆内存一样,方法区域可能为固定大小或可变大小。方法区域的内存不需要连续。

    内存池和内存管理器

    内存池和内存管理器是Java VM内存系统的关键方面。

    内存池表示Java VM管理的内存区域。Java VM至少有一个内存池,它可能会在执行期间创建或删除内存池。内存池可以属于堆内存或非堆内存。

    内存管理器管理一个或多个内存池。垃圾回收器是一种内存管理器,负责回收不可到达的对象使用的内存。Java VM可能具有一个或多个内存管理器。它可以在执行期间添加或删除内存管理器。内存池可以由多个内存管理器管理。

    垃圾回收

    垃圾回收 (GC) 是Java VM释放不再引用的对象占用的内存的方式。通常认为具有活动引用为"活动"且未引用(或无法访问)对象的对象为"已死"。垃圾回收是释放死对象使用的内存的过程。GC 使用的算法和参数对性能有显著影响。

    Java hotspot VM垃圾回收器使用代数 GC。生成 GC 利用大多数程序符合以下概括的观察。

    它们创建许多寿命较短的对象,例如迭代器和局部变量。

    它们创建一些寿命很长的对象,例如高级持久对象。

    线程

    提供有关线程使用的信息。

    查找监视器死锁线程:检测对象监视器锁上是否有任何线程死锁。此操作返回死锁线程指示的数组。

    getThreadInfo:返回线程信息。这包括线程当前被阻止的名称、堆栈跟踪和监视器锁(如果有)以及持有该锁的线程以及线程争用统计信息。

    获取ThreadCpu时间:返回给定线程消耗的 CPU 时间

    显示有关类加载的信息。

    提供有关Java VM的信息。

    以通用方式显示有关在平台 MBean 服务器注册的所有 MBeans 的信息。MBeans 选项卡允许您访问平台 MXBean 检测的完整集,包括在其他选项卡中不可见的仪器。此外,您还可以使用 MBeans 选项卡监视和管理应用程序的 MBeans。

    列出目标系统上已检测的 Java 虚拟机 (JVM)。

    监视 Java 虚拟机 (JVM) 统计信息。

    对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。

    命令格式

    jstat [-option] [PID]

    option参数

    class:显示有关类加载器行为的统计信息。

    compiler:显示有关Java HotSpot VM实时编译器行为的统计信息。

    gc:显示有关垃圾回收堆行为的统计信息。

    gccapacity:显示有关几代人容量及其相应空间的统计信息。

    gccause:显示有关垃圾回收统计信息(与 相同)的摘要,以及最后和当前(如果适用)垃圾回收事件的原因。-gcutil

    gcnew:显示新一代行为的统计信息。

    gcnewcapacity:显示有关新一代大小及其相应空间的统计信息。

    gcold:显示有关旧一代和元空间统计信息行为的统计信息。

    gcoldcapacity:显示有关旧一代大小的统计信息。

    gcmetacapacity:显示有关元空间大小的统计信息。

    gcutil:显示有关垃圾回收统计信息的摘要。

    printcompilation:显示 Java 热点 VM 编译方法统计信息。

    1.jstat –class: 显示加载class的数量,及所占空间等信息。

    2.jstat -compiler显示VM实时编译的数量等信息。

    3.jstat -gc: 可以显示gc的信息,查看gc的次数,及时间。

    4.jstat -gccapacity:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小

    5.jstat -gcutil:统计gc信息

    6.jstat -gcnew:年轻代对象的信息。

    7.jstat -gcnewcapacity: 年轻代对象的信息及其占用量。

    8.jstat -gcold:old代对象的信息。

    9.jstat -gcoldcapacity: old代对象的信息及其占用量。

    10.jstat -gcpermcapacity: perm对象的信息及其占用量。

    11.jstat -printcompilation:当前VM执行的信息。

    监视 Java 虚拟机 (JVM),并使远程监视工具能够连接到 JVM

    命令格式

    jstatd -[option]

    option

    -nr当找不到现有的RMI注册表时,不尝试使用jstatd进程创建一个内部的RMI注册表。

    -p port在指定的端口查找RMI注册表。如果没有找到,并且没有指定-nr选项,则在该端口自行创建一个内部的RMI注册表。

    -n rminameRMI注册表中绑定的RMI远程对象的名称。默认的名称为JStatRemoteHost。如果多个jstatd服务器在同一主机上运行,你可以通过指定该选项来让每个服务器导出的RMI对象具有唯一的名称。不管如何,这样做需要将唯一的服务器名称包含进监控客户端的hostid和vmid字符串中。

    -Joption将选项参数传递给被javac调用的java启动程序。例如,-J-Xms48m设置启动内存为48 MB。使用-J将选项参数传递给执行Java应用程序的底层虚拟机,这是一种常见惯例。

    使用方法

    1.在jdk的bin目录下创建文件jstatd.all.policy

    2.写入下面的安全配置

    grant codebase "file:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/lib/tools.jar" {
    permission java.security.AllPermission;
    #此处写绝对路径,主要是防止路径错误问题,排查问题,应该写成相对路径

    3.启动jstatd

    ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=x.x.x.x &

    4.使用jvisualvm工具远程连接,进行监控

    jvisualvm

    VisualVM,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的).

    同时他还提供很多插件可以自己安装,是一款不错的监控分析工具。

    故障排除工具 JInfo

    可以用来查看正在运行的 java 应用程序的扩展参数,包括Java System属性和JVM命令行参数;也可以动态的修改正在运行的 JVM 一些参数。当系统崩溃时,jinfo可以从core文件里面知道崩溃的Java应用程序的配置信息

    命令格式

    参数说明

    pid对应jvm的进程id

    executable core产生core dump文件

    [server-id@]remote server IP or hostname远程的ip或者hostname,server-id标记服务的唯一性id

    option

    no option输出全部的参数和系统属性

    -flag name输出对应名称的参数

    -flag [+|-]name开启或者关闭对应名称的参数

    -flag name=value设定对应名称的参数

    -flags输出全部的参数

    -sysprops输出系统属性

    Javacore 概述

    Javacore,也可以称为“threaddump”或是“javadump”,它是 Java 提供的一种诊断特性,能够提供一份可读的当前运行的 JVM 中线程使用情况的快照。即在某个特定时刻,JVM 中有哪些线程在运行,每个线程执行到哪一个类,哪一个方法。应用程序如果出现不可恢复的错误或是内存泄露,就会自动触发 Javacore 的生成。

    使用方法

    1.jinfo pid:输出当前 jvm 进程的全部参数和系统属性

    2.jinfo -flag name pid:输出对应名称的参数使用该命令,可以查看指定的 jvm 参数的值。如:查看当前 jvm 进程是否开启打印 GC 日志。

    3.jinfo -flag [+|-]name pid:开启或者关闭对应名称的参数

    使用 jinfo 可以在不重启虚拟机的情况下,可以动态的修改 jvm 的参数。尤其在线上的环境特别有用。

    4.jinfo -flag name=value pid:修改指定参数的值。

    注意:jinfo虽然可以在java程序运行时动态地修改虚拟机参数,但并不是所有的参数都支持动态修改

    5.jinfo -flags pid:输出全部的参数

    6.jinfo -sysprops pid:输出当前 jvm 进行的全部的系统属性

    jhat

    主要是用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言。

    1.使用jmap命令导出堆文件jmap -dump:live,file=a.log pid

    也可以使用下面方式导出堆文件

    1、使用jconsole选项通过HotSpotDiagnosticMXBean从运行时获得堆转储(生成dump文件)、

    2、虚拟机启动时如果指定了-XX:+HeapDumpOnOutOfMemoryError选项, 则在抛出OutOfMemoryError时, 会自动执行堆转储。

    3、使用hprof命令

    2.使用jhat分析堆文件jhat -J-Xmx512M a1.log
    3.查看分析的html页面

    http://ip:7000/jhat中的OQL(对象查询语言)

    如果需要根据某些条件来过滤或查询堆的对象,这是可能的,可以在jhat的html页面中执行OQL,来查询符合条件的对象

    基本语法:

    select
    [from [instanceof] ]
    [where ]

    解释:

    (1)class name是java类的完全限定名,如:java.lang.String,java.util.ArrayList, C是char数组,java.io.File是java.io.File[]

    (2)类的完全限定名不足以唯一的辨识一个类,因为不同的ClassLoader载入的相同的类,它们在jvm中是不同类型的

    (3)instanceof表示也查询某一个类的子类,如果不明确instanceof,则只精确查询class name指定的类

    (4)from和where子句都是可选的

    (5)java域表示:obj.field_name;java数组表示:array[index]

    举例:

    (1)查询长度大于100的字符串

    select s from java.lang.String s where s.count > 100

    (2)查询长度大于256的数组

    select a from [I a where a.length > 256

    (3)显示匹配某一正则表达式的字符串

    select a.value.toString() from java.lang.String s where /java/(s.value.toString())

    (4)显示所有文件对象的文件路径

    select file.path.value.toString() from java.io.File file

    (5)显示所有ClassLoader的类名

    select classof(cl).name from instanceof java.lang.ClassLoader cl

    (6)通过引用查询对象

    select o from instanceof 0xd404d404 o

    built-in对象 -- heap

    (1)heap.findClass(class name) -- 找到类

    select heap.findClass("java.lang.String").superclass

    (2)heap.findObject(object id) -- 找到对象

    select heap.findObject("0xd404d404")

    (3)heap.classes -- 所有类的枚举

    select heap.classes

    (4)heap.objects -- 所有对象的枚举

    select heap.objects("java.lang.String")

    (5)heap.finalizables -- 等待垃圾收集的java对象的枚举

    (6)heap.livepaths -- 某一对象存活路径

    select heaplivepaths(s) from java.lang.String s

    (7)heap.roots -- 堆根集的枚举

    辨识对象的函数

    (1)classof(class name) -- 返回java对象的类对象

    select classof(cl).name from instanceof java.lang.ClassLoader cl

    (2)identical(object1,object2) -- 返回是否两个对象是同一个实例

    select identical(heap.findClass("java.lang.String").name, heap.findClass("java.lang.String").name)

    (3)objectid(object) -- 返回对象的id

    select objectid(s) from java.lang.String s

    (4)reachables -- 返回可从对象可到达的对象

    select reachables(p) from java.util.Properties p -- 查询从Properties对象可到达的对象
    select reachables(u, "java.net.URL.handler") from java.net.URL u -- 查询从URL对象可到达的对象,但不包括从URL.handler可到达的对象

    (5)referrers(object) -- 返回引用某一对象的对象

    select referrers(s) from java.lang.String s where s.count > 100

    (6)referees(object) -- 返回某一对象引用的对象

    select referees(s) from java.lang.String s where s.count > 100

    (7)refers(object1,object2) -- 返回是否第一个对象引用第二个对象

    select refers(heap.findObject("0xd4d4d4d4"),heap.findObject("0xe4e4e4e4"))

    (8)root(object) -- 返回是否对象是根集的成员

    select root(heap.findObject("0xd4d4d4d4"))

    (9)sizeof(object) -- 返回对象的大小

    select sizeof(o) from [I o

    (10)toHtml(object) -- 返回对象的html格式

    select "+ toHtml(o) + "" from java.lang.Object o

    (11)选择多值

    select {name:t.name?t.name.toString():"null",thread:t} from instanceof java.lang.Thread t

    数组、迭代器等函数

    (1)concat(enumeration1,enumeration2) -- 将数组或枚举进行连接

    select concat(referrers(p),referrers(p)) from java.util.Properties p

    (2)contains(array, expression) -- 数组中元素是否满足某表达式

    select p from java.util.Properties where contains(referres(p), "classof(it).name == 'java.lang.Class'")

    返回由java.lang.Class引用的java.util.Properties对象

    built-in变量

    it -- 当前的迭代元素

    index -- 当前迭代元素的索引

    array -- 被迭代的数组

    (3)count(array, expression) -- 满足某一条件的元素的数量

    select count(heap.classes(), "/java.io./(it.name)")

    (4)filter(array, expression) -- 过滤出满足某一条件的元素

    select filter(heap.classes(), "/java.io./(it.name)")

    (5)length(array) -- 返回数组长度

    select length(heap.classes())

    (6)map(array,expression) -- 根据表达式对数组中的元素进行转换映射

    select map(heap.classes(),"index + '-->' + toHtml(it)")

    (7)max(array,expression) -- 最大值, min(array,expression)

    select max(heap.objects("java.lang.String"),"lhs.count>rhs.count")

    built-in变量

    lhs -- 左边元素

    rhs -- 右边元素

    (8)sort(array,expression) -- 排序

    select sort(heap.objects('[C'),'sizeof(lhs)-sizeof(rhs)')

    (9)sum(array,expression) -- 求和

    select sum(heap.objects('[C'),'sizeof(it)')

    (10)toArray(array) -- 返回数组

    (11)unique(array) -- 唯一化数组

    jmap

    打印进程、核心文件或远程调试服务器的共享对象内存映射或堆内存详细信息。

    jmap [option]
    (to connect to running process) 连接到正在运行的进程

    jmap [option]
    (to connect to a core file) 连接到核心文件

    jmap [option] [server_id@]
    (to connect to remote debug server) 连接到远程调试服务

    option

    pid:目标进程的PID,进程编号,可以采用ps -ef | grep java查看java进程的PID;

    executable:产生core dump的java可执行程序;

    core:将被打印信息的core dump文件;

    remote-hostname-or-IP:远程debug服务的主机名或ip;

    server-id:唯一id,假如一台主机上多个远程debug服务;

    使用方法

    jmap -dump:[live,]format=b,file= PID:使用hprof二进制形式,输出jvm的heap内容到文件

    jmap -finalizerinfo PID:打印正等候回收的对象的信息

    jmap -heap PID:打印heap的概要信息,GC使用的算法,heap(堆)的配置及JVM堆内存的使用情况。

    jmap -histo:live PID:打印每个class的实例数目,内存占用,类全名信息。VM的内部类名字开头会加上前缀”*”. 如果live子参数加上后,只统计活的对象数量.

    jmap -permstat PID:打印classload和jvm heap长久层的信息. 包含每个classloader的名字、活泼性、地址、父classloader和加载的class数量。另外,内部String的数量和占用内存数也会打印出来。

    -F强迫.在pid没有相应的时候使用-dump或者-histo参数。在这个模式下,live子参数无效。

    -h | -help打印辅助信息

    -J传递参数给jmap启动的jvm.

    jstack

    jstack命令主要用于调试java程序运行过程中的线程堆栈信息,可以用于检测死锁,进程耗用cpu过高报警问题的排查。jstack命令会打印出所有的线程,包括用户自己启动的线程和jvm后台线程。

    命令格式

    jstack -[option] pid

    option

    -F强制dump线程堆栈信息. 用于进程hung住,jstack命令没有响应的情况

    -m同时打印java和本地(native)线程栈信息,m是mixed mode的简写

    -l打印锁的额外信

    作者:楚瑞涛 https://blog.csdn.net/cong____cong/article/details/106349866

    公众号“Java精选”所发表内容注明来源的,版权归原出处所有(无法查证版权的或者未注明出处的均来自网络,系转载,转载的目的在于传递更多信息,版权属于原作者。如有侵权,请联系,笔者会第一时间删除处理!

    最近有很多人问,有没有读者交流群!加入方式很简单,公众号Java精选,回复“加群”,即可入群!

    (微信小程序):3000+道面试题,包含Java基础、并发、JVM、线程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架构设计等,在线随时刷题!

    ------ 特别推荐 ------

    特别推荐:专注分享最前沿的技术与资讯,为弯道超车做好准备及各种开源项目与高效率软件的公众号,「大咖笔记」,专注挖掘好东西,非常值得大家关注。点击下方公众号卡片关注。

    文章有帮助的话,在看,转发吧!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-06-20
电气工程及其自动化专业主要培养从事电气工程及其自动化专业方面的研究、设计、运行、实验、管理及开发等领域工作的高级技术人才。好单位9000、10000都可能,不好的地方3000,但要有好的收入还要有真才实学。
主要从事与电气工程有关的系统运行、自动控制、电力电子技术、信息处理、试验分析、研制开发、经济管理以及电子与计算机技术应用等领域的工作。电气自动化在工厂里应用比较广泛,可以这么说,电气自动化是工厂里唯一缺少不了的东西,是工厂里的支柱。
你要是对电气自动化比较精通,用人单位立刻要你,不管是什么单位,最好是电子厂,因为电子厂天天用到自动化、编程、设计。如果你对工作待遇条件要求很看重。最好的是电业局。福利好,待遇高。然后是设计院,工作相对比较轻松。最艰苦的是工程局。因为要随着工程地点到处跑。但是工资也不低。而且还可以向自动化、电子等方向转行叶瞿直接无视疯狂的文字泡,一脸正直地继续揉面团:“把面团放在砧板上,揉到光滑为止。”
“这样可以了吗?”粟望往面团里加了点奶粉,学着叶瞿的样子揉揉揉,戳一戳,好软啊。
“可以了,把冰箱里的黄油片拿出来,我们来做酥皮。”叶瞿道,然后趁粟望去拿黄油的空档对着镜头眨了眨眼,“粟粟是第一次上直播,妹子们矜持点别吓到他哦。”
可想而知,又迎来一阵凶残的刷屏。
黄油拿来后,叶瞿撕了一张保鲜膜平摊在料理台上,把黄油放在上面,保鲜膜对折盖住黄油,“记得这里用的黄油一定要是扁扁的一片,而且最好刚刚从冷藏柜里拿住来,防止因为室内的温度而变形融化。如果不够扁,可以这样用擀面杖一点点压扁。”叶瞿拿着擀面杖,一点点用力,小心地把黄油压得更扁更大。
而粟望突然拉拉他的袖子,“哥哥,黄油断了。”
叶瞿:“……”
……
“刻被泪水侵占,“我们门当户对,一起留学,交往了整整五年,为什么不能结婚!”
“对不起。”比起何皎皎的激动,叶瞿理清了思路后显得格外平静,“我以为我是喜欢你的,但是刚才……我突然醒悟,我们不能再错下去,我们分手吧。”
何皎皎什么话也说不出来,她死死盯着叶瞿,泪如雨下,“是不是因为粟望?”她哽咽着控诉,“他出现之后,你对我的态度就冷淡了许多!”
“粟望是我弟弟,我们之间的事跟他没有关系。”叶瞿无奈。
何皎皎咬着唇不说话,她也没有证据,但是她就是觉得叶瞿的注意力总是在粟望身上,让她格外不爽。
她胡乱抹了抹眼泪,往门口走去,抢在叶瞿阻止之前,打开大门。
“宝贝女儿,想妈妈了吗?”穿着全套香奈儿套装拿着枚红色凯莉包包的何母敞开怀抱,对何皎皎眨了下眼睛。
何皎皎呆了一下,慌忙转过脸去擦眼泪,何母迅速捧住她的脸,“你怎么哭了?是不是叶瞿欺负你了?”她本来满心欢喜来看女儿,却发现她满脸泪痕,顿时心火大盛。
“阿姨,您好。”叶瞿也没料到何母居然就在门外,反而是听见动静下来的冯翌反应及时,拉着何母往上发上去,“粟望,帮忙给阿姨倒杯茶。”
“哦。”粟望一步三回头走向厨房,这人是谁?他满脑袋问号。
“妈妈是来看我的?”何皎皎挽住何母的手臂,亲昵地依着她的肩膀。
“我不来看你,难道任凭某些人欺负你?”何母话中有话,心疼地抓着何皎皎的手,“好好的怎么哭了?”
“没事,跟叶瞿闹了点别扭。”何皎皎小声说道。
“我今天是来找叶瞿的。”何母转过头,优雅地双腿交叠对叶瞿道,“你读个书五年不回来也就罢了,你跟皎皎也在一起五年了吧?我听皎皎说她现在住你那儿,你是不是该有点表示?小夫妻俩吵吵架也
小仙丹立刻收敛了声音,飞到他面前,软下语调问道:“你跟凡人进展得怎么样了?”
“不怎么样。”粟望一听到这个就烦,他躺下来卷起被子,闷头继续睡。
“喂,起来起来,我有个好办法!”小仙丹飞到他耳朵边说道。
粟望从被子里睁开一只眼睛,怀疑地看着小仙丹,“你又有什么馊主意了?”
“放心,嘻嘻,这次是个好主意。”小仙丹欢快得飞了两圈,自豪地说到道,“你今天乖乖跟去农家乐,到了那里就知道了!”北京千美健身休闲服务有限公司的统一社会信用代码/注册号是91110115682861835N,企业法人顾英民,目前企业处于开业状态。
北京千美健身休闲服务有限公司的经营范围是:器械健身;会议服务(不含食宿);餐饮管理;组织文化艺术交流活动(不含演出)。(企业依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事本市产业政策禁止和限制类项目的经营活动。)。在北京市,相近经营范围的公司总注册资本为51371455万元,主要资本集中在5000万以上规模的企业中,共4173家。本省范围内,当前企业的注册资本属于一般。
美健的产品都是原生态纯天然的,不添加化学物质,你只要试过就知道,完全就是原材料的高科技提取,纯原生的味道,比如大豆TRIXCfjsWmOXtDlOvpfNqRgsakYn
第2个回答  2021-06-02
检查下你新建虚拟机的过程,1.检查安装虚拟机软件的路径,和建立虚拟机磁盘文件的路径。
2 检查这2个步骤 ,如果你是VM的话。第一:自定义虚拟机软件的安装路径,一般情况下无需修改。第二个地方 虚拟机安装好了,设置虚拟磁盘类型这个地方,简单来说就是设置一会新安装系统的硬盘接口类型。可以看看《Linux就该这么学》本回答被网友采纳