zoukankan      html  css  js  c++  java
  • Centos7.4 file '/grub/i386-pc/normal.mod' not found,实际为/boot下所有文件丢失

    注:如果服务器特别重要,此方案慎用。如果没有其他方案解决,可以使用该方案

    事件:搭建在云计算管理平台CAS上的 Centos7.4 虚拟机在一次断电后,启动虚拟机出现file '/grub/i386-pc/normal.mod' not found , 使用网上各路大神的办法都没有解决后, 将整个存储卷添加到相同系统的虚拟机上并挂载/boot所在分区,最后将本机/boot下的文件拷贝至所挂载目录,再将存储卷重新挂回原来虚拟机,启动虚拟机成功

    如图:

    定位问题:

    开机报错如下

     通过ls查看目录,并一个一个试过以后,发现我的/boot分区是在(hd0,msdos1)下,可以尝试使用 ls (hd0,msdos1)/ 查看有无目录,也可以通过ls (hd0,msdos1) 查看是否会显示文件系统

    如图:

     

    下面的msdos1是我们要找的分区,但是在此分区下只有一个文件,说明/boot下其他文件全部丢失

     

     

     

    解决问题:

    找到问题的根因后,尝试解决它,首先我们将该虚拟机的存储卷删除,然后添加到其他相同系统的虚拟机后,查看并挂载,因为我们知道自己分区的时候都划分了哪些分区,所以问题变的比较比较容易了,我是将/boot目录划分为/vda1分区了,但是挂载以后是以vdb挂载的,所以/boot应该是/dev/vdb1,将该设备挂载至创建好的目录后,拷贝本机/boot下的文件,卸载设备,将存储卷重新添加至原虚拟机启动,启动成功。

    如图:

    1、先将存储卷删除,然后添加至相同系统,相同分区的其他系统(不是CAS平台的原理也是类似的)

     

     2、进入linux系统,确认分区后,开始挂载并拷贝文件

     

     因为是克隆的环境,所以在挂载vdb1时,有报错显示uuid已经存在,所以我们用参数过滤掉UUID的校验或者重新生成UUID,二选一即可

     或者 

     挂载成功后,拷贝文件

     3、卸载设备,将存储卷添加至原虚拟机并启动,启动成功

  • 相关阅读:
    GDataXML的配置和使用
    NSIndexPath初始化
    Xcode常用快捷键
    objective c的注释规范
    UIView不能使用UITableView的Static表格的解决方法
    在一个UIView中如何使用多个UIPickerView
    如何自定义UIPickerView中文本的大小和文本靠左或靠右显示?
    如何在SQL Server中的SELECT TOP 中使用变量
    Android学习之Android studio篇-Android Studio快捷键总结(mac)
    Delphi使程序的窗口出现在最前面并激活
  • 原文地址:https://www.cnblogs.com/yizhipanghu/p/11635369.html
Copyright © 2011-2022 走看看