opensue fstab故障恢复
date: 20140505
author: Jin
故障背景:
早上启动本本 无法启动,报错信息(几个关键)
WARNING:Failed to connect to lvmetad: No such file direct
[FAILED] Failed to mount /var/run/user/1000/gvfs
SEE 'systemctl status var-run-user-1000-gvsfs.mount' for details.
[DEPEND] Dependency failed for Local File System
原因分析:
根据报错初步判断,是否是我昨天关机的时候,系统没有sync导致,这样的话,进入单用户模式修复一下就可以了
操作:
1.按提示的操作进入恢复模式,无法输入操作。
2.编辑
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5' 1db64f2a-65b4-4018-b921-cc344e361d9d
else
search --no-floppy --fs-uuid --set=root 1db64f2a-65b4-4018-b921-cc344e361d9d
fi
echo 'Loading Linux 3.11.10-7-desktop ...'
linux /vmlinuz-3.11.10-7-desktop root=/dev/mapper/system-root quiet quiet liveinstall resume=/dev/system/swap splash=silent quiet showopts -S
echo 'Loading initial ramdisk ...'
initrd /initrd-3.11.10-7-desktop
3.进入单用户模式
提示需要输入密码,输入没有效果。仔细看,根本没有输入光标。
4.baidu/google 如果不要密码进入
redhat系进入单用户不要密码,suse需要
http://blog.csdn.net/forlinux/article/details/2712676
在启动linux的选项里加上init=/bin/bash,通过给内核传递init=/bin/bash参数使得OS在运行login程序之前运行bash,出现命令行。
linux /vmlinuz-3.11.10-7-desktop root=/dev/mapper/system-root -S init=/bin/bash
5.进入单用户模式后
fsck修复各个分区
root无法修复,因为已经挂载
查看 lvm2-lvmetad.service 没有启动的 单用户
6.启动系统确认
一样无法系统
原因再分析
回想昨天取消fstab里面挂在smaba的操作(开启启动时需要输入密码),是不是这个操作引起。而且报错也是挂在的问题
操作
1.重新进入单用户模式
2.查看stab
cat /etc/fstab
/dev/system/swap swap swap defaults 0 0
/dev/system/root / ext4 acl,user_xattr 1 1
/dev/disk/by-id/ata-HITACHI_HTS723232A7A364_E3834563JXVAKN-part5 /boot ext4 acl,user_xattr 1 2
/dev/system/data /data ext4 acl,user_xattr 1 2
/dev/system/home /home ext4 acl,user_xattr 1 2
gvfsd-fuse /var/run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=100 0 0
除了最后一行外,其他都没什么问题
注释掉最后一行,启动
3.正常了
查看历史命令
MyOpenSUSE:~ # history |grep fstab
16 2014-04-28 13:19:46 tail -1 /etc/mtab >> /etc/fstab
46 2014-04-29 09:34:07 cat /etc/fstab
259 2014-05-04 14:06:22 tail -1 /etc/mtab >> /etc/fstab
365 2014-05-04 11:27:02 vim /etc/fstab
508 2014-05-05 10:48:07 history |grep fstab
MyOpenSUSE:~ # tail -1 /etc/mtab
gvfsd-fuse /var/run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=100 0 0
是昨天查看自己程序日志时!tail操作了,然后没仔细看。
自己手贱的问题
总结
1.碰到故障先查看报错信息,初步判断大致方向
2.回想之前做过的操作,和大致方向集合,判断是什么操作引起
3.系统崩溃的问题,进入单用户,进行fsck,恢复fstab kernel init-ran grub等
后续提升
opensuse和fedora和rhel7都使用systemd了,启动流程有一些变化,需要了解。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 上周热点回顾(1.20-1.26)