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

推荐订阅源

H
Help Net Security
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
Visual Studio Blog
G
Google Developers Blog
V
V2EX
The Register - Security
The Register - Security
博客园 - 三生石上(FineUI控件)
云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园_首页
S
SegmentFault 最新的问题
博客园 - Franky
Martin Fowler
Martin Fowler
Stack Overflow Blog
Stack Overflow Blog
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
aimingoo的专栏
aimingoo的专栏
罗磊的独立博客
C
Check Point Blog
MyScale Blog
MyScale Blog
T
The Blog of Author Tim Ferriss
MongoDB | Blog
MongoDB | Blog
The GitHub Blog
The GitHub Blog
Last Week in AI
Last Week in AI
Microsoft Azure Blog
Microsoft Azure Blog
IT之家
IT之家
F
Fortinet All Blogs
Jina AI
Jina AI
P
Proofpoint News Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
阮一峰的网络日志
阮一峰的网络日志
B
Blog
L
LangChain Blog
月光博客
月光博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
T
Tailwind CSS Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Security Blog
Microsoft Security Blog
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog RSS Feed
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
M
MIT News - Artificial intelligence
GbyAI
GbyAI

公牛博客

《观局》——乡野猪噜噜 《观局》——乡野猪噜噜 《观局》——乡野猪噜噜 《观局》——乡野猪噜噜 – 公牛博客 《观局》——乡野猪噜噜 – 公牛博客 《观局》——乡野猪噜噜 – 公牛博客 《观局》——乡野猪噜噜 – 公牛博客 《观局》——乡野猪噜噜 – 公牛博客 《观局》——乡野猪噜噜 – 公牛博客 《观局》——乡野猪噜噜 – 公牛博客 《观局》——乡野猪噜噜 – 公牛博客 《观局》——乡野猪噜噜 – 公牛博客 《观局》——乡野猪噜噜 – 公牛博客 《观局》——乡野猪噜噜 – 公牛博客 《观局》——乡野猪噜噜 – 公牛博客 《观局》——乡野猪噜噜 – 公牛博客 《观局》——乡野猪噜噜 – 公牛博客 《观局》——乡野猪噜噜 – 公牛博客 《观局》——乡野猪噜噜 – 公牛博客 《送子》– 乡野猪噜噜 《行旅》– 乡野猪噜噜 《观海》– 乡野猪噜噜 《清欢》– 乡野猪噜噜 《阅兵》– 乡野猪噜噜 《离职》– 乡野猪噜噜 《本爻令》-- 敬梦想 《春游》-- 乡野猪噜噜 北京新公司注册开办流程、免费地址、银行开户 《本爻》—乡野猪噜噜 《好友》—乡野猪噜噜 毛主席诗词集锦与深度解析(五) 毛主席诗词集锦与深度解析(四) 毛主席诗词集锦与深度解析(三) 毛主席诗词集锦与深度解析(二) 毛主席诗词集锦与深度解析(一) Linux 系统网络连接不稳定,如何优化? Linux 系统网络连接不稳定,如何优化? Linux 系统无法连接网络,如何排查? Linux 系统启动提示 "Boot device not found",如何排查? Linux 系统启动提示 "Error loading operating system",如何解决? Linux 系统启动提示 "No such device",如何排查? Linux 系统启动提示 "Invalid partition table",如何修复? Linux 系统启动提示 "Filesystem error",如何修复? Linux 系统启动提示 "Kernel panic",如何分析? 《国际风云》2024年12月13日·午间看点 德国,加布伦茨的拉科茨桥 捕捉巴黎圣母院重建过程中的“宏伟和美丽” 《国际风云》2024年12月13日·早间看点
Linux 系统启动提示 "Missing operating system",如何解决?
大嘴 · 2025-01-03 · via 公牛博客

引言

当 Linux 系统启动时出现 “Missing operating system” 提示,通常意味着引导加载程序(如 GRUB)无法找到有效的操作系统或启动分区。这可能是由于分区表损坏、引导加载程序配置错误或文件系统问题引起的。本文将详细介绍如何排查和解决此类问题,帮助您恢复系统正常运行。


一、理解 “Missing operating system” 的常见原因

  1. 引导加载程序问题
  • GRUB 配置文件损坏或丢失。
  • 引导加载程序未正确安装。
  1. 分区表损坏
  • 分区表(如 MBR 或 GPT)损坏,导致系统无法识别启动分区。
  1. 文件系统问题
  • 启动分区(如 /boot 或根分区)的文件系统损坏。
  • 启动分区未正确挂载。
  1. 硬件故障
  • 硬盘物理损坏或数据线接触不良。

二、排查与修复步骤

1. 进入 Live 环境

使用 Linux Live USB 或 CD 启动系统,以便在不挂载硬盘的情况下进行修复。

2. 检查分区表

使用 fdiskgdisk 检查分区表:

sudo fdisk -l /dev/sda
  • 确认分区表类型(MBR 或 GPT)。
  • 检查是否存在启动分区(如 /dev/sda1/dev/sda2)。
3. 检查文件系统

挂载启动分区并检查文件系统:

sudo mount /dev/sda1 /mnt
ls /mnt
  • 确认 /boot 或根分区中的文件是否存在。
  • 如果文件系统损坏,使用 fsck 修复:
  sudo fsck -y /dev/sda1
4. 修复 GRUB 配置

如果文件系统正常,可能需要修复 GRUB 配置:

sudo grub-install /dev/sda
sudo update-grub
5. 重建分区表

如果分区表损坏,可以尝试重建分区表。注意:此操作会丢失所有分区信息,需谨慎使用。

sudo fdisk /dev/sda
  • 输入 o 创建新的 MBR 分区表,或 g 创建新的 GPT 分区表。
  • 使用 n 创建新分区,并按照提示设置分区大小和类型。
  • 使用 w 保存更改并退出。
6. 恢复数据

如果分区表修复后数据丢失,可以尝试使用数据恢复工具(如 testdisk)恢复:

sudo apt-get install testdisk
sudo testdisk /dev/sda
  • 按照提示选择分区类型和恢复操作。
7. 检查硬件状态

使用 smartctl 检查硬盘健康状态:

sudo smartctl -a /dev/sda
  • 关注 “SMART overall-health self-assessment test result” 是否为 PASSED。
  • 如果发现坏道或硬件故障,建议备份数据并更换硬盘。

三、常见错误场景与解决方案

场景 1:GRUB not found
  • 原因:GRUB 未正确安装或配置文件丢失。
  • 解决:重新安装 GRUB:
  sudo grub-install /dev/sda
  sudo update-grub
场景 2:Partition table is corrupted
  • 原因:分区表损坏。
  • 解决:使用 fdiskgdisk 修复分区表。
场景 3:Filesystem is corrupted
  • 原因:启动分区文件系统损坏。
  • 解决:使用 fsck 修复文件系统。
场景 4:Hardware failure
  • 原因:硬盘物理损坏。
  • 解决:更换硬盘并恢复数据。

四、预防措施

  1. 定期备份数据
  • 使用 rsynctar 创建完整系统备份。
  • 将重要数据备份至外部存储或云服务。
  1. 监控硬件健康
  • 启用 SMART 监控硬盘健康状态。
  • 定期检查硬盘温度和使用寿命。
  1. 避免非法操作
  • 使用兼容的分区工具(如 fdiskgdisk)。
  • 避免在硬盘读写过程中断电或强制重启。
  1. 配置冗余存储
  • 使用 RAID 或 LVM 提供存储冗余,防止单点故障。

五、附录

1. 常用工具
  • fdisk:用于管理 MBR 分区表。
  • gdisk:用于管理 GPT 分区表。
  • testdisk:用于恢复丢失的分区表和数据。
  • smartctl:用于检查硬盘健康状态。
2. 参考文档
3. 示例命令
  • 备份 MBR 分区表:
  sudo sfdisk -d /dev/sda > sda-partition-table.bak
  • 恢复 MBR 分区表:
  sudo sfdisk /dev/sda < sda-partition-table.bak
  • 备份 GPT 分区表:
  sudo sgdisk --backup=sda-gpt-table.bak /dev/sda
  • 恢复 GPT 分区表:
  sudo sgdisk --load-backup=sda-gpt-table.bak /dev/sda

总结

“Missing operating system” 是 Linux 系统启动过程中常见的错误,通常由引导加载程序问题、分区表损坏或文件系统问题引起。通过使用 fdiskgdisktestdiskfsck 等工具,可以修复分区表、文件系统和 GRUB 配置,恢复系统正常运行。为了预防类似问题,建议定期备份数据、监控硬件健康并避免非法操作。

5