先说结论:不要轻易的在VMware ESXi网页端上直接关闭虚拟机的电源,有可能无法开机,即便开机成功,数据可能也会损毁。。。
我
我在 VMware ESXi 上装了一个Debian的虚拟机,在停止电源重新打开之后,无法重新启动,画面提示:
【 4.818176】 piix4_smbus 0000:00:07.3: SMBus Host Controller not enabled!
/dev/sda1 contains a file system with errors, check forced.
Inodes that were part of a corrupted orphan linked list found.
/dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)
fsck exited with status code 4
The root filesustem on /dev/sda1 requires a manual fsck
BusuBox u1.30.1 (Debian 1:1.30.1-6+b3) built-in shell (ash)
Enter 'help' for a list of built-in commands.
(initramfs)
我该怎么处理呢?
ChatGPT
出现这个错误消息通常表示你的Debian虚拟机的文件系统(在/dev/sda1上)出现了一些问题,需要手动运行fsck(文件系统检查)来修复。以下是解决方法的步骤:
- 首先,输入以下命令,以查看文件系统的状态:
fsck /dev/sda1
- 这将启动文件系统检查,它会尝试修复任何文件系统错误。根据文件系统的大小和磁盘速度,这可能需要一些时间。
- 如果fsck检测到并修复了问题,然后重新启动你的虚拟机,看看是否可以正常启动。
- 如果fsck未能解决问题,你可能需要使用其他工具来修复文件系统。你可以尝试使用e2fsck命令,这适用于ext2、ext3和ext4文件系统:
e2fsck -f /dev/sda1
这会强制运行e2fsck来尝试修复文件系统上的任何错误。
- 完成修复后,重新启动虚拟机,看看是否能够正常启动。
如果以上步骤仍然无法解决问题,可能需要更进一步的故障排除,可能包括检查虚拟硬件配置和VMware ESXi的设置。如果你不确定如何执行这些步骤,最好联系有经验的系统管理员或VMware支持以获取进一步的帮助。
我
输入【fsck /dev/sda1】后提示:
fsck from util-linux 2.36.1
e2fsck 1.46.2(28-Feb-2021)
/dev/sda1 contains a file system with errors,check forced.
Pass 1: Checking inodes, blocks, and sizes
Inodes that were part of a corrupted orphan linked list found. Fix<y>?
之后怎么处理?
ChatGPT
当你看到提示"Inodes that were part of a corrupted orphan linked list found. Fix<y>?"时,你应该输入"y"并按Enter来允许e2fsck尝试修复这些错误。
然后,e2fsck将会继续执行文件系统检查,修复任何它发现的问题。这个过程可能需要一些时间,具体取决于文件系统的大小和问题的严重程度。
继续跟随e2fsck的指导并等待它完成。如果它成功修复了文件系统中的错误,接下来会提示你是否要将超级块备份到文件系统中。你可以选择"y"来确认此操作。
完成修复后,重新启动你的虚拟机,看看是否可以正常启动。如果问题仍然存在,你可能需要进一步的故障排除,可能涉及更深层次的问题,或者虚拟机配置或VMware ESXi设置的问题。如果你需要更多帮助,建议咨询有经验的系统管理员或VMware支持。
我
输入y之后提示:
Inode 3538961 was part of the orphaned inode list. FIXED.
Inode 3538962 was part of the orphaned inode list. FIXED.
Inode 3538963 was part of the orphaned inode list. FIXED.
Inode 3538964 was part of the orphaned inode list. FIXED.
Inode 3538965 was part of the orphaned inode list. FIXED.
Inode 3538966 was part of the orphaned inode list. FIXED.
Inode 3538967 was part of the orphaned inode list. FIXED.
Inode 3538968 was part of the orphaned inode list. FIXED.
Inode 3538969 was part of the orphaned inode list. FIXED.
Inode 3538970 was part of the orphaned inode list. FIXED.
Inode 3538971 was part of the orphaned inode list. FIXED.
Inode 3538972 was part of the orphaned inode list. FIXED.
Inode 3538101 was part of the orphaned inode list. FIXED.
Inode 3538108 was part of the orphaned inode list. FIXED.
Inode 3538182 was part of the orphaned inode list. FIXED.
Inode 4194333 was part of the orphaned inode list. FIXED.
Inode 4194335 was part of the orphaned inode list. FIXED.
Inode 4194940 was part of the orphaned inode list. FIXED.
Inode 4198658 was part of the orphaned inode list. FIXED.
Inode 4198897 was part of the orphaned inode list. FIXED.
Deleted indode 9437194 has zero dtime. Fix<y>?
继续按y吗?
ChatGPT
在这个情况下,e2fsck继续报告修复了一些孤立的inode,并且它还询问你是否要修复另一个问题,即"Deleted inode 9437194 has zero dtime."。
你可以继续输入"y"来让e2fsck尝试修复这个问题,因为这是修复文件系统的一部分。修复过程可能需要一些时间,具体取决于文件系统的大小和问题的复杂性。
一旦e2fsck 完成并没有报告其他问题,然后你可以输入 "y" 来确认超级块的备份。
完成修复后,尝试重新启动你的虚拟机,看看是否可以正常启动。如果虚拟机能够正常启动并运行,那么你的文件系统问题已经解决。如果问题仍然存在,可能需要更多的故障排除,或者可能存在更深层次的问题。如果需要进一步的帮助,请咨询有经验的系统管理员或VMware支持。
我
按了多次y之后,提示:
dev/sda1: FILE SYSTEM WAS MODIFIED
dev/sda1: 404074/13049856 files initramfs (0.8% non-contiguous),27915888/52178432 blocks
(initramfs)
我之后该怎么操作?
ChatGPT
根据你的描述,e2fsck 已经成功修复了文件系统,并报告文件系统已被修改。这意味着文件系统的问题已经得到修复,但是你仍然停留在 initramfs 命令行界面。在这种情况下,你可以尝试以下步骤来尝试重新引导你的虚拟机:
- 在 initramfs 提示符下,尝试重新引导虚拟机。你可以使用以下命令来重新启动:
reboot
如果重新引导虚拟机后问题仍然存在,可以尝试执行以下操作:
- 检查 VMware ESXi 主机上的虚拟机设置,确保虚拟机的引导设备(通常是硬盘)设置正确。确保虚拟硬盘(/dev/sda1)已正确分配给虚拟机。
- 检查虚拟机的启动顺序设置,确保它正在尝试从硬盘引导。
- 如果你之前在虚拟机中进行了一些不寻常的配置更改,可能需要考虑还原这些更改。
- 如果仍然无法正常启动虚拟机,可以尝试使用 VMware ESXi 的恢复选项来还原虚拟机的先前快照,前提是你在虚拟机上创建了快照。这可以是一种解决问题的方法,将虚拟机还原到以前的工作状态。
如果你尝试了上述步骤但问题仍然存在,可能需要更深入的故障排除,或者可能涉及到更复杂的问题。在这种情况下,建议寻求有经验的系统管理员或VMware支持的帮助,他们可以帮助你更详细地分析和解决问题。
我
重新输入 reboot 后没反应,只显示了(initramfs)
ChatGPT
如果输入 "reboot" 后没有任何反应并且仍然停留在 (initramfs)
提示符下,这可能表示引导配置或虚拟机环境中存在更严重的问题。在这种情况下,你可以尝试以下进一步的故障排除步骤:
- 强制关闭虚拟机:如果 "reboot" 命令没有生效,可以尝试通过 VMware ESXi 控制台或管理界面强制关闭虚拟机。然后等待一段时间,再启动虚拟机,看看是否能够正常引导。
- 检查引导顺序:确保虚拟机的 BIOS/UEFI 设置中设置正确的引导设备。你需要确保虚拟机正在尝试从硬盘(通常是
/dev/sda1
)引导,而不是其他设备。 - 检查文件系统:虚拟机的文件系统可能存在更复杂的问题。你可以尝试使用
fsck
或e2fsck
命令进行更深入的文件系统检查和修复。例如:
e2fsck -f -y /dev/sda1
- 恢复备份:如果你有虚拟机的备份或快照,请考虑还原到以前正常工作的状态。这是一种解决问题的方法,可以恢复虚拟机的可用性。
- 使用 VMware ESXi 控制台:尝试在 VMware ESXi 控制台中重启虚拟机,这通常会提供更多的日志和诊断信息,有助于确定问题的根本原因。
- 联系 VMware 支持:如果以上步骤都无法解决问题,建议联系 VMware 支持,他们可以提供更深入的故障排除支持和指导。
请谨慎处理这些步骤,以避免不必要的数据损失。如果你不确定如何执行这些操作,最好寻求有经验的系统管理员或专业支持的帮助,以避免进一步损害虚拟机或数据。
之后我关闭了虚拟机,再次启动,Linux启动成功了,但是docker里面的数据都坏了,docker里面的容器(nexus、MySQL、redis)无法重新启动。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。