V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
IurNusRay
V2EX  ›  全球工单系统

紧急求救, vmware 意外关机后无法启动

  •  
  •   IurNusRay · 2021-05-14 11:18:51 +08:00 · 1887 次点击
    这是一个创建于 1314 天前的主题,其中的信息可能已经有所发展或是发生改变。
    电脑卡死后长按开机键重启,然后我的 vmware 虚拟机(ubuntu)启动后就无法进入图形界面了,这可咋整啊

    [![grwaiF.jpg]( https://z3.ax1x.com/2021/05/14/grwaiF.jpg)]( https://imgtu.com/i/grwaiF)
    28 条回复    2021-05-17 09:06:42 +08:00
    miv
        1
    miv  
       2021-05-14 11:21:58 +08:00
    快照恢复
    IurNusRay
        2
    IurNusRay  
    OP
       2021-05-14 11:24:47 +08:00
    @miv 但是我上一次备份快照是去年的 9 月,那样很多资料就丢失了吧....
    AoEiuV020
        3
    AoEiuV020  
       2021-05-14 11:30:05 +08:00
    看着像掉盘了,那个分区都找不到了,不过虚拟机也能掉盘?
    Beebird
        4
    Beebird  
       2021-05-14 12:03:16 +08:00   ❤️ 1
    楼主可以试试这个帖子里提到的办法: https://ubuntuforums.org/showthread.php?t=1619907
    IurNusRay
        5
    IurNusRay  
    OP
       2021-05-14 12:16:32 +08:00
    @Beebird 这个帖子看过了,他的那些操作似乎是不适用我的情况...
    mlcq
        6
    mlcq  
       2021-05-14 13:09:44 +08:00 via iPhone
    命令行进去看下启动级别
    IurNusRay
        7
    IurNusRay  
    OP
       2021-05-14 13:12:49 +08:00
    @mlcq 要怎么看呢
    mlcq
        8
    mlcq  
       2021-05-14 13:17:20 +08:00
    @IurNusRay #7 百度下修改 ubuntu 启动级别,5 是图形界面,看看是不是现在运行在 3 了
    gefranks
        9
    gefranks  
       2021-05-14 13:21:36 +08:00 via iPhone
    这是候该干的不是新建个虚拟机把盘挂上去把资料拷贝出来么?
    elechi
        10
    elechi  
       2021-05-14 13:22:35 +08:00
    关机,把虚拟机生成的临时文件删了重启看看
    IurNusRay
        11
    IurNusRay  
    OP
       2021-05-14 13:28:47 +08:00
    @mlcq 应该不是启动级别的问题,而且我现在也修改不了,systemctl 都用不了
    IurNusRay
        12
    IurNusRay  
    OP
       2021-05-14 13:29:24 +08:00
    @gefranks 没试过,不知道要拷贝哪些资料才能完整...
    mlcq
        13
    mlcq  
       2021-05-14 13:38:41 +08:00
    @IurNusRay #11 不用 systemctl,有个配置文件,centos 里是 /etc/inittab,ubuntu 里不知道是不是这个,看下里面的启动级别是哪一级
    IurNusRay
        15
    IurNusRay  
    OP
       2021-05-14 14:07:37 +08:00
    @Jirajine 这个 vmkfstools 要怎么安装使用呢
    Jirajine
        16
    Jirajine  
       2021-05-14 14:51:43 +08:00
    @IurNusRay #15 ESXi 里自带。workstation 的话也可以用 vmware-vdiskmanager,安装时自带。
    luny
        17
    luny  
       2021-05-14 14:53:20 +08:00
    startx
    试下
    另外,虚拟机开发,最好把业务数据和系统隔离,单独虚拟磁盘,安全些,也容易备份。
    IurNusRay
        18
    IurNusRay  
    OP
       2021-05-14 16:16:53 +08:00
    @Jirajine 课时我现在进不了 ubuntu 终端。。进的是一个前缀为 initramfs 的终端
    Jirajine
        19
    Jirajine  
       2021-05-14 16:24:12 +08:00 via Android
    @IurNusRay 上面说的是让你在宿主机上修复 vmdk 磁盘文件。
    你进入到 initramfs 的 shell 是因为 root 分区挂载失败,先尝试修复 vmdk,不行的话就起一个 live cd 尝试 fsck 修复。
    IurNusRay
        20
    IurNusRay  
    OP
       2021-05-14 16:38:39 +08:00
    @Jirajine 谢谢,我刚刚已经尝试了用 vdiskmanager,没啥用,我现在怀疑不是磁盘损坏而是直接丢失了,连 /dev/sda1 都不存在了...
    Jirajine
        21
    Jirajine  
       2021-05-14 17:06:18 +08:00
    @IurNusRay #20 分区丢失,加上你截图里显示找不到 UUID,那说明 GPT 分区表坏了。你可以起个 live cd 尝试用 gdisk 修复一下,或者看你上面说有快照,如果这期间你没有修改过分区的话,你可以先打个当前的快照然后回退回去把分区表导出来然后再恢复。
    IurNusRay
        22
    IurNusRay  
    OP
       2021-05-14 17:17:07 +08:00
    @Jirajine 好的,谢谢大佬了。或者可以加个微信教教我吗哈哈,这方面的确是不太懂怎么操作
    MTMzOTI4MDU1MTk=
    Jirajine
        23
    Jirajine  
       2021-05-14 17:34:01 +08:00
    @IurNusRay #22
    直接修复:可以直接看文档 https://www.rodsbooks.com/gdisk/repairing.html 或者教程 https://lihashgnis.blogspot.com/2016/07/recovering-from-corrupted-gpt-partition_30.html
    要是你实在操作不来,也可以找那些带图形界面的商业数据恢复工具,一般都有类似的功能。

    恢复:简单来说就是先通过快照回退到完好状态,然后把分区表备份到一个文件,再把这个文件导入回去。https://wiki.archlinux.org/title/GPT_fdisk#Backup_and_restore_partition_table
    IurNusRay
        24
    IurNusRay  
    OP
       2021-05-14 19:08:29 +08:00
    @Jirajine 我回退到之前的快照,然后备份了分区,之后新建了一个虚拟机并挂载了旧虚拟机的磁盘文件,然后将分区备份文件导入,之后再去启动旧虚拟机,进入了 grub rescure ...
    Jirajine
        25
    Jirajine  
       2021-05-14 19:27:27 +08:00
    @IurNusRay #24 导入以后完成验证能够识别和挂载分区了?那就重建一下引导就可以了。chroot 进去 update-grub 或 grub-mkconfig,再或者 Boot-Repair 这种图形工具。
    IurNusRay
        26
    IurNusRay  
    OP
       2021-05-14 19:32:14 +08:00
    @Jirajine 不是的,我想的是要导入分区文件到旧磁盘的话,得先进到终端用 gdisk 吧,,于是新建了一个 vmware 虚拟机,然后将之前的旧磁盘添加到新虚拟机的硬盘,这样它在新虚拟机里面就是 /dev/sdb1,然后我将分区文件导入到这个 /dev/sdb1,之后我再打开旧虚拟机,就进入了 grub rescure 。我感觉它是已经坏了,有啥办法回退吗....
    Jirajine
        27
    Jirajine  
       2021-05-14 20:23:00 +08:00
    @IurNusRay #26 导入分区表要导入整个硬盘 /dev/sdb 的,不是分区 /dev/sdb1 。你写入之前不验证一下么。。

    回退的话,操作之前有快照就可以回退。并且似乎你的 /dev/sdb1 是 boot 分区,就算搞坏了也不会丢失数据。

    如果你的 root 分区也在这块硬盘上,那说明能识别到分区,那你这个分区表没问题啊。试一试你的 root 分区能否挂载,挂载不了的话 fsck 修复一下。然后再重建引导。
    IurNusRay
        28
    IurNusRay  
    OP
       2021-05-17 09:06:42 +08:00
    @Jirajine 害,我还是放弃了,实在操作不过来,直接恢复 vmware 快照得了,谢谢啦
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3385 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:08 · PVG 19:08 · LAX 03:08 · JFK 06:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.