惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Security Latest
Security Latest
C
Cisco Blogs
P
Palo Alto Networks Blog
Know Your Adversary
Know Your Adversary
Project Zero
Project Zero
C
Cyber Attacks, Cyber Crime and Cyber Security
NISL@THU
NISL@THU
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Secure Thoughts
P
Privacy International News Feed
V
Vulnerabilities – Threatpost
D
Docker
Google Online Security Blog
Google Online Security Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Recent Announcements
Recent Announcements
T
The Exploit Database - CXSecurity.com
G
Google Developers Blog
Schneier on Security
Schneier on Security
小众软件
小众软件
爱范儿
爱范儿
GbyAI
GbyAI
J
Java Code Geeks
T
Tailwind CSS Blog
Cisco Talos Blog
Cisco Talos Blog
The Hacker News
The Hacker News
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
TaoSecurity Blog
TaoSecurity Blog
MyScale Blog
MyScale Blog
B
Blog RSS Feed
Cyberwarzone
Cyberwarzone
有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Securelist
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Y
Y Combinator Blog
S
Schneier on Security
Latest news
Latest news
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 叶小钗
F
Fortinet All Blogs
M
MIT News - Artificial intelligence
PCI Perspectives
PCI Perspectives
V
V2EX
V2EX - 技术
V2EX - 技术
O
OpenAI News
W
WeLiveSecurity

kekxv 技术日志

基于 kekxv/gitea-pages 与 Gitea Actions 构建静态站点托管服务 Json简单工具 在Windows上运行Code Server:结合WSL打造你的云端VS Code开发环境 安卓sdkmanager工具换源 boost bazel starter bazel 供应商模式 NSFW图像检测 警惕c++内置变量指针 关于内网springboot启动慢记录 网页转换为chrome插件 nginx代理的一种使用方式 YOLOv8 训练自己的数据 luckfox-交叉编译之bazel gitea actions CICD 自动化 Linux限制进程使用率 影音中心Jellyfin快速部署 OCR & 人脸算法 -- opencv dnn tensorflow gpu 安装(ubuntu22.04) 深度学习记录-简单
PVE引导丢失修复
kekxv · 2025-04-15 · via kekxv 技术日志

遇到一个很棘手的问题,PVE的引导丢了!

丢失引导有两种情况,GRUBgrub rescue模式。

GRUB

一不小心,引导丢了,表现为:启动系统直接显示了GRUB,但是没有任何反应。
pve.error.1.png

这时候我们需要找一个ISO镜像来修复。最好是同一个大版本的PVE。

启动的时候,选择高级选项,选择 DEBUG 模式,然后可以进入这里(如果一直没有~#出现,则可以按一下回车):
pve.error.2.png

执行fdisk -l看看磁盘信息:
pve.error.3.png

一般情况下,进入GRUB菜单,且没有任何反应,则可能是那个1000多k的分区坏掉了,如果你有备份,则把备份还原回去,如果没有,则从其他的pve系统中备份一个出来,然后恢复到这个分区上。
注意,要同样安装方式的pve系统,不然分区结构可能不一样。

备份分区:

1
dd if=/dev/sda1 of=/root/backup.img bs=4M status=progress

恢复分区:

1
dd if=/root/backup.img of=/dev/sda1 bs=4M status=progress

pve.error.4.png

如果是原来的备份,则此时重启应该可以进入系统了,如果不行,那看看是不是后面的情况。

grub rescue

当引导损坏,但是没丢失的情况下,会出现grub rescue界面。此时需要手动输入命令来修复系统。

pve.error.5.png

检查当前的环境,执行set:

pve.error.7.png

检查硬盘

我们可以直接执行ls来查看硬盘:
pve.error.6.png

如果你的硬盘只有hd0,没有lvm相关的,那应该是没有使用lvm模式,执行操作:

1
2
set prefix=(hd0,1)/grub
set root=(hd0,1)

然后执行加载模块

1
insmod normal

如果没有报错,则开始引导执行

1
normal

如果使用的是使用lvm模式,上述应该无法修复,需要按照以下操作:

1
2
set prefix=(lvm/pve-root)/grub
set root=(lvm/pve-root)

然后执行加载模块

1
insmod normal

pve.error.8.png
加载模块如果报错了,可能是grub路径不对,修改改为

1
set prefix=(lvm/pve-root)/boot/grub

然后再次执行加载模块

1
insmod normal

如果还是不对,那就进入live模式或者其他pve系统里面,搜索这个i386-pc文件夹,然后找到对应的grub文件路径,设置上去。

pve.error.9.png
如果没有报错,则开始引导执行

1
normal

执行之后不出意外的话,将会进入引导,开始启动:
pve.error.10.png

后续步骤

启动成功之后,还要做一个重要的操作,重新更新引导:

1
2
3
4
# 更新引导
update-grub
# 将引导写入硬盘
grub-install /dev/sda

pve.error.11.png
pve.error.12.png

只要没有出错,就表示引导修复成功了。

我们可以重启验证一下。

参考网站

https://www.howtoforge.com/tutorial/repair-linux-boot-with-grub-rescue/