!! 大家好,我是wanger,一个不爱折腾的运维工程师,一个睡觉都被自己帅醒的云原生爱好者。
作者:wanger
公众号:运维开发故事
博客:https://devopstory.cn
将 CentOS 的安装 ISO 挂载到虚拟机/CD-ROM,或者插入启动盘。
重启系统,从 ISO 启动。
启动后系统会进入文本界面,通常会有提示:
Continue
:尝试挂载已有系统并进入 chroot 环境。Read-Only
:以只读方式挂载文件系统。Skip
:不挂载,进入最小化救援环境。如果只是修复文件系统,选择 Skip。
在 救援模式下,如果选择Skip不挂载系统,LVM 逻辑卷不会自动激活,所以/dev/mapper/centos-root
之类的设备节点是看不到的。要修复 XFS,需要手动激活 LVM。
执行:
lvm vgscan
lvm vgchange -ay
这样会激活卷组,之后就能看到 /dev/mapper/centos-root
、centos-home
等设备了。
xfs_repair
此时分区没有挂载,可以直接修复:
xfs_repair /dev/mapper/centos-root
如果还是报错,可以尝试强制选项:
xfs_repair -L /dev/mapper/centos-root
⚠️ 注意:-L
会丢弃 XFS 日志,可能导致最近的未写入数据丢失,但多数情况下能让系统恢复可用。
如果是ext4系统,则执行fsck -y 逻辑卷
修复好后直接:
reboot
Windows2022虚拟机启动失败一直卡在Windows logo界面
首先尝试使用wepe做的iso去修复Windows系统的引导项,发现没有修复成功
下载Windows 2022的iso引导进行修复,“安装”页面左下角点击【修复计算机】 ,点击→ 疑难解答→ 高级选项 → 命令提示
进到命令行后需要找到系统盘所在的盘符,如果直接执行修复是找不到路径的
就跟上面图一样,后来我尝试执行C: dir或者 D: dir寻找系统盘,最终发现全是Windows系统ISO和virtio ISO的盘,没有发现系统盘,我系统盘是virtio的类型硬盘,应该是没有安装virtio驱动导致的,因此需要先加载virtio驱动,使用下面的命令加载virtio驱动
drvload E:\virtio-win\viostor\2k22\amd64\viostor.inf
这里的E盘是我挂载virtio的ISO盘符,其他环境可能有区别,可以通过D: dir命令查看是否是virtio的盘,这里的2k22 表示 Windows Server 2022 的驱动版本 ,其他系统需要更换对应的路径
diskpart
看是否能看到硬盘:diskpart
list disk
list volume
exit
这里我查看到我的引导分区是C,系统盘是F盘
5.看到虚拟机磁盘后,就可以使用bootrec
修复引导,bcdboot
重建 BCD
修复主引导记录和引导区
bootsect /nt60 C: /mbr
nt60表示写入 Windows Vista/7/8/10/11/Server 2008+ 的引导扇区格式
/mbr 表示重写磁盘的主引导记录,适用于传统 BIOS 引导方式
C盘是我的引导分区
使用系统目录重建引导文件
bcdboot F:\Windows /s C: /f BIOS
F:\Windows
是你系统目录/s :
表示引导分区在 C盘, (你的“系统保留”分区)/f BIOS
是传统 BIOS 启动(不是 UEFI)
之后修改引导方式为硬盘后重启虚拟机,重启虚拟机由于修复了主引导记录,会有蓝屏转圈,之后就可以按F8进入安全模式,进入安全模式自动修复后重启就可以进系统了
如果我的文章对你有所帮助,还请帮忙一下,你的支持会激励我输出更高质量的文章,非常感谢!
你还可以把我的公众号设为「星标」,这样当公众号文章更新时,你会在第一时间收到推送消息,避免错过我的文章更新。
更新时间:2025-09-06
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-=date("Y",time());?> All Rights Reserved. Powered By bs178.com 闽ICP备11008920号
闽公网安备35020302034844号