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

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
T
Threat Research - Cisco Blogs
C
CERT Recently Published Vulnerability Notes
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
L
Lohrmann on Cybersecurity
D
Darknet – Hacking Tools, Hacker News & Cyber Security
K
Kaspersky official blog
C
Cybersecurity and Infrastructure Security Agency CISA
C
Cisco Blogs
V
Vulnerabilities – Threatpost
L
LINUX DO - 热门话题
G
GRAHAM CLULEY
The GitHub Blog
The GitHub Blog
NISL@THU
NISL@THU
AWS News Blog
AWS News Blog
博客园 - 【当耐特】
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
阮一峰的网络日志
阮一峰的网络日志
Cyberwarzone
Cyberwarzone
V
V2EX
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
月光博客
月光博客
MongoDB | Blog
MongoDB | Blog
Scott Helme
Scott Helme
A
Arctic Wolf
美团技术团队
S
Schneier on Security
P
Proofpoint News Feed
G
Google Developers Blog
The Hacker News
The Hacker News
S
Securelist
Microsoft Security Blog
Microsoft Security Blog
Project Zero
Project Zero
T
The Exploit Database - CXSecurity.com
量子位
T
Threatpost
Spread Privacy
Spread Privacy
Help Net Security
Help Net Security
B
Blog
WordPress大学
WordPress大学
B
Blog RSS Feed
J
Java Code Geeks
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Blog — PlanetScale
Blog — PlanetScale
Simon Willison's Weblog
Simon Willison's Weblog
Y
Y Combinator Blog
Cloudbric
Cloudbric

公牛博客

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

引言

当 Linux 系统启动时出现 “No such device” 提示,通常意味着引导加载程序(如 GRUB)无法找到指定的设备或分区。这可能是由于设备路径错误、分区表损坏、文件系统问题或硬件故障引起的。本文将详细介绍如何排查和解决此类问题,帮助您恢复系统正常运行。


一、理解 “No such device” 的常见原因

  1. 设备路径错误
  • GRUB 配置文件中指定的设备路径(如 hd0,msdos1)与实际设备不匹配。
  1. 分区表损坏
  • 分区表(如 MBR 或 GPT)损坏,导致系统无法识别设备或分区。
  1. 文件系统问题
  • 启动分区(如 /boot 或根分区)的文件系统损坏。
  • 启动分区未正确挂载。
  1. 硬件故障
  • 硬盘物理损坏或数据线接触不良。

二、排查与修复步骤

1. 进入 GRUB 命令行

在启动时按下 Shift 键(对于 GRUB 引导加载程序)或 Esc 键(对于 systemd-boot 引导加载程序),进入 GRUB 命令行界面。

2. 检查设备路径

在 GRUB 命令行中,使用 ls 命令列出可用设备:

ls
  • 确认 GRUB 配置文件中指定的设备路径(如 hd0,msdos1)是否在列表中。
  • 如果设备路径错误,可以手动修改 GRUB 配置文件。
3. 检查分区表

使用 fdiskgdisk 检查分区表:

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

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

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

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

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

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

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

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

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

使用 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

总结

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

1