在解决虚机挂载U盘的过程中(已经处理了:VMware中的虚机如何挂载U盘),怎么样都无法加载U盘,故进行了一次操作直通操作的过程中,不小心把所有的存储和控制器全部直通了,导致Esxi主机无法识别到自己的存储信息,然后就出现了后面的事情。进而所有的虚拟机都无法看到,现将处理过程逐一给大家解析,同时也感谢几位同事的前期测试。
 
什么是VMware直通?
VT-d 、DirectPath I/O,通过 DirectPath I/O,虚拟机可以使用 I/O 内存管理单元访问平台上的物理 PCI 功能,就是俗称的虚拟化直通,简单理解就是允许宿主机将某些硬件资源的管辖权直接移交给虚拟机,虚拟机会以直通独占的方式使用硬件,宿主机将不能再使用此硬件,利用效率几乎等同于将硬件插到了虚拟机的主板扩展槽里一样,最实用的目的是避免了虚拟化平台自身软件层转换带来的效能下降。
 
为什么无法连接到存储还能开启SSH和登录VM宿主机?
参考以为博主的见解,ESXi从硬盘读取了程序和配置文件,将其载入内存并运行起来,然后才生效了直通设置,失去了对硬盘的访问能力,写入能力,就是只能看,不能改。改了也没用,因为在内存里面运行。
 
关于Esxi的一般有几个分区?
没有查阅过官方的资料,通过大量的百度得出以下结果,Esxi存在2个分区,分被为sda5和sda6(具体自己查看,我们这是sdb5和sdb6),如果你要问我,我现在用的哪一个,抱歉,我也不知道。没有细细研究。
 

理解以上问题,我们就进入正题了。
处理步骤如下:
1.启动Fedora Live系统(其他Linux发行版也是一样的,只要是桌面版基本都带有预览功能)
2.运行Terminal,接下来的shell命令都在这个终端里执行
3.使用parted -l 命令确认ESXi保存配置文件的分区(通常是/dev/sda5也可能sda6)
4.挂载分区,要修改的文件就在分区根目录下
mount /dev/sda5 /mnt ls -l /mnt/state.tgz
5.创建一个文件夹用来做文件修改
mkdir ~/test cd ~/test cp /mnt/state.tgz state.tgz
6.解压缩state.tgz文件
tar xf state.tgz tar xf local.tgz
ls -l ./etc/vmware/esx.conf
注意:ESXi 6.5之前版本的配置文件为esxi.conf。
7.修改esx.conf文件,将其中的passthru改为vmkernel即可取消直通设置
  • a) 使用下面的命令查看ESXi系统中被设置为直通的设备
grep -w passthru ./etc/vmware/esx.conf
  • b) 若你无法确定哪一项对应你的SATA控制器,就使用下面的命令将它们全部修改,日后再重新设置
sed -i 's/passthru/vmkernel/' ./etc/vmware/esx.conf
8.删除旧的tgz文件
rm local.tgz state.tgz
注意:务必要删除旧的local.tgz和state.tgz文件(前辈走过了路,要听话),切不可图省事直接创建压缩包来“覆盖”原有的tgz文件!否则更新后的文件将导致ESXi启动失败(Check failed: installing file ./local.tgz (sandbox is local.tgz)).
9.制作新的state.tgz文件
tar czf local.tgz etc
chmod 755 local.tgz
tar czf state.tgz local.tgz
chmod 755 state.tgz
10.替换原有的state.tgz文件
cp state.tgz /mnt/
11.重启,大功告成
reboot
 
感谢一下几位博主的贡献,吸取的就是他们的精华
 

ESXi 切换直通导致无法识别硬盘解决的更多相关文章

  1. windows7系统下如何安装windows xp系统(无法识别硬盘,删除隐藏分区)

    一.硬盘模式的设置 要设置好硬盘模式,否则安装操作系统的时候,根本就不识别硬盘,自然无法安装操作系统了.此步骤主要是解决无法识别硬盘的问题. 首先,进入BIOS当中,一般在advanced当中,有一个 ...

  2. (转) 通过UUID在vSphere虚拟机内外识别硬盘

    转自:http://ju.outofmemory.cn/entry/28398 简单介绍下应用场景:开发基于虚拟化IaaS的一些应用就免不了要跟虚拟机(VM)打交道,因为VM逻辑上独立于宿主机(hos ...

  3. 如何识别和解决SQL Server中的热闩锁(PAGELATCH_EX)

    描述 在SQL Server中,内部闩锁体系结构可在SQL操作期间保护内存.通过页面上的读写操作,可以确保内存结构的一致性.从根本上讲,它具有两个类:缓冲区锁存器和非缓冲区锁存器,它们在SQL Eng ...

  4. 脑对u盘不识别的解决方法 一看就会

    u盘可以说是我们日常生活中使用得较为频繁的移动硬盘了,它小巧轻便,便于携带,能够储存大量的文档.因为经常使用的关系,所以就会出现很多问题.比如电脑识别不了u盘怎么办? 接下来,小编想教大家几招面对u盘 ...

  5. 读取 properties 配置文件含有中文的value内容 导致中文乱码 的解决办法

    1.前言 因为装系统的时候把中文写在了系统路径,现在我想把这个路径写在properties里面来读取,可是 发现java 读取会导致中文乱码成 问号????的乱码  ,百度找了好多博客,基本都是一摸一 ...

  6. Altium Designer之AD16在Win10系统下无法切换走线/布线模式的解决办法

    有些童鞋会在Win10下使用AD16的时候发现,走线模式/布线模式(切换直角,45°,弧形等)不能切换. 问题出在输入法上,一般是切换到英文输入法即可解决,但是有一种情况是win10系统自带输入法有时 ...

  7. Visual Studio2012打开时弹出“遇到异常:这可能是由某个扩展导致的”错误的解决办法

    Visual Studio2012打开时弹出"遇到异常:这可能是由某个扩展导致的"错误的解决办法: 具体问题如下: 分析原因:网上搜集了以下,出现异常的原因是安装了第三方控件,然后 ...

  8. linux使用su切换用户提示 Authentication failure的解决方法& 复制文件时,报cp: omitting directory `XXX'

    linux使用su切换用户提示 Authentication failure的解决方法:这个问题产生的原因是由于ubtun系统默认是没有激活root用户的,需要我们手工进行操作,在命令行界面下,或者在 ...

  9. 打开Voice Over时,CATextLayer的string对象兼容NSString和NSAttributedString导致的Crash(二解决思路3)

    续前一篇:打开Voice Over时,CATextLayer的string对象兼容NSString和NSAttributedString导致的Crash(二解决思路2)ok,到这里已经能够锁定范围了, ...

随机推荐

  1. 动态更换animator的animatorcontroller

    你可以这样 Animator animator = this.gameObject.GetComponent<Animator>(); animator.runtimeAnimatorCo ...

  2. lua table的遍历

    --ordered table iterator sorted by key function pairsByKeys(t) local a = {} for n in pairs(t) do a[# ...

  3. 五分钟带你读懂 堆 —— heap(内含JavaScript代码实现!!)

    一.概念  说起堆,我们就想起了土堆,把土堆起来,当我们要用土的时候,首先用到最上面的土.类似地,堆其实是一种优先队列,按照某种优先级将数字"堆"起来,每次取得时候从堆顶取.  堆 ...

  4. Python小白的数学建模课-04.整数规划

    整数规划与线性规划的差别只是变量的整数约束. 问题区别一点点,难度相差千万里. 选择简单通用的编程方案,让求解器去处理吧. 『Python小白的数学建模课 @ Youcans』带你从数模小白成为国赛达 ...

  5. 摄像头 ISP 调试的入门之谈(经验总结)

    在讲述本文之前,我尽量以一个什么也不清楚的初学到入门的用词来阐述什么是 ISP 调试,以及为什么需要调试. 如果你从来都没有接触过什么是摄像头 ISP 调试,我想这个文章可以给你一些启发和关键词. 因 ...

  6. CVPR2020无人驾驶论文摘要

    CVPR2020无人驾驶论文摘要 无人 导读/ Starsky是一种比较独特的方案.它是在高速上自动驾驶,第一公里最后一公里采用远程驾驶的模式,Starsky的卡车可以由人类远程操作.没有使用较为昂贵 ...

  7. NSight Compute 用户手册(下)

    主菜单 文件 新建项目使用"新建项目"对话框创建新的分析项目 4. Main Menu and Toolbar Information on the main menu and t ...

  8. 自然语言推理:微调BERT

    自然语言推理:微调BERT Natural Language Inference: Fine-Tuning BERT SNLI数据集上的自然语言推理任务设计了一个基于注意力的体系结构.现在通过微调BE ...

  9. springboot的restful风格获取请求中携带的参数

    http://localhost:8080/emp/1 有以上请求,我们controller要怎么获取请求中传递的参数1呢? 通过PathVariable注解,如下: @DeleteMapping(& ...

  10. ES6深拷贝与浅拷贝

    今天小编和大家一起探讨js中深拷贝和浅拷贝,简单一点理解就是,对于引用数据类型,深拷贝是数据引用地址不同,在改变一个数据的时候,不会影响另一个数据.而浅拷贝刚好相反.两个数据引用的是同一个堆内存地址, ...