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

推荐订阅源

人人都是产品经理
人人都是产品经理
D
Docker
GbyAI
GbyAI
B
Blog RSS Feed
博客园 - 司徒正美
博客园 - Franky
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
aimingoo的专栏
aimingoo的专栏
C
Check Point Blog
IT之家
IT之家
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
www.infosecurity-magazine.com
www.infosecurity-magazine.com
AI
AI
O
OpenAI News
Attack and Defense Labs
Attack and Defense Labs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Tailwind CSS Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
S
Secure Thoughts
博客园 - 聂微东
L
LINUX DO - 最新话题
U
Unit 42
SecWiki News
SecWiki News
A
Arctic Wolf
Schneier on Security
Schneier on Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
V
Visual Studio Blog
量子位
The Cloudflare Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
G
Google Developers Blog
T
Threat Research - Cisco Blogs
TaoSecurity Blog
TaoSecurity Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
B
Blog
博客园 - 【当耐特】
C
CERT Recently Published Vulnerability Notes
Scott Helme
Scott Helme
Last Week in AI
Last Week in AI
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Microsoft Security Blog
Microsoft Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
Latest news
Latest news

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/