suse 10 无法进入系统的原因及解决方法

时间:2021-09-20 15:29:11
由于之前一个朋友做DR(Disaster Recovery),由于未在灾备端提前准备好于生产环境一至的操作系统及相关目录(存储mapping 好的盘符未正确mount),在通过EMC legato恢复磁带全备份后,系统无法正常启动。且备份前的root密码已经忘记。


以上描述中涉及到2个场景需要在linux维护模式下去更改:

1.root password 需要重置

2./etc/fstab 中恢复过来的记录行需要注释

过程网友原至于网友整理,也很简单,具体如下:

1、重新启动机器,在出现grub引导界面后(非failsafe模式),按F2,在启动suse10的boot option选项里加上init=/bin/bash,通过给内核传递init=/bin/bash参数使得OS在运行login程序之前运行bash,出现命令行。
2、稍等片刻出现(none)#:命令行。
3、输入mount -n / -o remount,rw
4、输入 mount –n /usr
5、输入 cd /usr/bin
6、输入passwd命令就可以重置密码了。输入新密码。
7、修改完成后记得用mount -n / -o remount,ro将根文件系统置为原来的状态。
8、输入 exit 退出系统,重新启动系统,用新密码登录。


由于系统在启动时候会对系统的目录(/etc/fstab中的记录)进行mount/fsck等操作失败,所以无法进系统,

第二步就操作很简单了,进入系统后直接编辑/etc/fstab,将原来除几个系统必须的目录注释掉或将下面红色部分改为0 空格 0即可:

/dev/sda1                   /root                reiserfs   acl,user_xattr       1 2
/dev/system/swp      swap               swap       defaults                 0 0


fstab中 :fs_spec fs_file fs_type fs_options fs_dump fs_pass的格式解释如下:

 【fs_spec】 


 该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:IDE设备一般描述为/dev/hdaXN,X是IDE设备通道 (a, b, or c),N代表分区号;SCSI设备一描述为/dev/sdaXN。对于NFS情况,格式一般为: ,例如:`knuth.aeb.nl:/。对于procfs,使用`proc来定义。


【fs_file】

该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。


fs_type

定义了该设备上的文件系统,一般常见的文件类型为ext2 (Linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、iso9600等。 codepage国家语言代码页 iocharset字符集 fs_options - 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用defaults就可以满足需要。其他常见的选项包括: 选项 含义 ro 以只读模式加载该文件系统 rw async 不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度 user 允许普通用户加载该文件系统 quota 强制在该文件系统上进行磁盘定额限制 noauto 不再使用mount -a命令(例如系统启动时)加载该文件系统

【fs_dump】

该选项被dump命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0


【fs_pass】

该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统/对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0


【注】

下面红色部分是实际恢复后灾备端系统多出来的部分,1   和2  表示恢复后的系统需要自动挂载 /dev/sda1 到/root文件系统目录,

而灾备端的系统中没有/dev/sda1这个设备,所以系统启动失败:

/dev/sda1            /root                reiserfs   acl,user_xattr        1 2