当前位置: 首页 > article >正文

【linux】防止SSD掉盘导致无法 reboot 软重启

使用 tmpfs 挂载关键命令

这个方法有以下优点:

  1. 简单直接:实现起来相对简单,不需要修改系统的核心组件。

  2. 可靠性高:因为命令和依赖项都加载在内存中,即使磁盘完全不可用,这些命令仍然可以执行。

  3. 低风险:相比修改 initramfs 或使用 kexec,这种方法对系统的其他部分影响最小。

  4. 易于管理:您可以轻松地更新或修改内存中的命令,而不需要重新配置整个系统。

  5. 灵活性:除了 reboot 命令,您还可以添加其他可能需要的紧急命令。

实施这个方法的步骤:

  1. 创建一个挂载点并设置 tmpfs
sudo mkdir /mnt/emergency
echo "tmpfs /mnt/emergency tmpfs defaults,size=50M 0 0" | sudo tee -a /etc/fstab
sudo mount -a
  1. 复制 reboot 命令及其依赖项到 tmpfs
sudo cp /sbin/reboot /mnt/emergency/
sudo cp $(ldd /sbin/reboot | awk '{print $3}' | grep -v '^$') /mnt/emergency/
  1. 创建一个别名或脚本来使用这个内存中的 reboot 命令:
echo 'alias emergency_reboot="sudo LD_LIBRARY_PATH=/mnt/emergency /mnt/emergency/reboot -f"' >> ~/.bashrc
source ~/.bashrc

使用时,只需在终端中输入 emergency_reboot 即可触发重启,即使系统盘已经不可用。

注意事项:

  • 确保在系统正常时测试这个命令,以验证其有效性。
  • 考虑添加一些基本的安全检查,以防止意外触发重启。
  • 记得定期检查和更新这个设置,特别是在系统更新后。

这个方法提供了一个很好的平衡:它足够强大以应对SSD掉盘的情况,同时又不会过度干扰系统的正常运行。


http://www.kler.cn/a/595749.html

相关文章:

  • Mysql表的简单操作
  • 嵌入式开发之STM32学习笔记day07
  • 基于RAGFlow本地部署DeepSeek-R1大模型与知识库:从配置到应用的全流程解析
  • UR5e机器人位姿
  • fpga系列 HDL:tips 状态机状态转换时BitOut会存在未知状态的输出的解决
  • JAVA泛型擦除原理
  • Three.js中的加载器与资源管理:构建丰富3D场景的关键
  • 清晰易懂的Maven安装教程(含自定义依赖包位置)
  • 星越L_陡坡缓降使用讲解
  • 卷积神经网络梯度消失与梯度爆炸的通俗解释
  • 亚信科技:寒风中,用AI驱动增长
  • WEB API 设计规范
  • 基于 kubekey -实现懒人一键部署K8S集群
  • 脚本语言 Lua
  • 企业级AI架构探索:业务驱动,场景优先
  • 【技术】Electron 移动端支持现状与进展洞察
  • Milvus 向量数据库使用示例
  • 【搜索页】- 功能流程
  • 模型整合-cherry studio+mysql_mcp_server服务配置
  • FreeRTOS移植并实现一个多任务程序