Linux系统下修改root密码,以及部分系统文件丢失导致虚拟机启动失败的修复

  在linux系统中,超级用户的密码修改比较简单,而系统中启动文件的丢失修复相对来说比较复杂一点。虽说系统文件的丢失导致系统启动失败,如果是虚拟机可以使用reset和fullreset来重置虚拟机,虽然这样可以修复,但此举的代价是将丢失虚拟机中的数据。而真机是没有reset的,所以就需要通过设置光驱启动来修复了。

1.root用户密码的修改:

    超级用户的密码修改可以在进入虚拟机之后,使用passwd指令可以进行修改。但当不小心遗忘了超级用户的登陆密码,这时候就需要在虚拟机启动的时候,进行密码的修改了。

   首先需要在虚拟机的登入界面,选择重启:


  在虚拟机重启到版本这一项时,按上下键来停止系统的启动。这一阶段的短停时间很短,一不小心就会错过,错过之后又得重启才可以了,所以要眼疾手快。之后按e键进行编辑:


  在linux16这一行,删除后面的内容直到ro(只读),将ro改为rw(读写),增加rd.break。编辑完成之后,按ctrl+x执行:


  在这个界面就可以输入指令进行密码的修改了。修改之后需要在根目录下建立文件.autorelabel文件,否则启动时候可能会卡住。之后两次exit或者两次ctrl+d就可以运行了。这样密码就修改成功了。


2.系统磁盘损坏的修复:

      系统磁盘时有一定的容量的,当磁盘中的文件大小超出了磁盘的容量,磁盘就会损坏。这时候就需要设置光驱来设置新的磁盘了。

     首先在磁盘损坏后,需要重启系统:


   系统默认是从硬盘启动的,但此时磁盘已经损坏,所以无法启动。这时候就需要用别的方式启动了:


   系统的启动可以分为硬盘启动和光驱启动,磁盘损坏无法启动,我们可以设置从光驱启动。当然了从光驱启动就需要制作一个光驱。而制作光驱的前提是需要有与系统相匹配的镜像文件:

   在真机的超级用户下执行指令virt-manager,选择虚拟机右键打开,并将虚拟机强行关闭,点击灯泡进行下一步的设置:


    添加硬件:


 选择镜像文件并选择设备类型,此处的镜像文件需要与系统相匹配,要提前准备好。设备类型一定要注意为CDROM:


将光驱置顶,也就是说从光驱启动。设置之后点击应用,然后启动虚拟机:

        

启动之后就进入了系统修复阶段。选择troubleshooting:


接下来进入救援模式:


     


进入指令行操作界面,使用df指令可以查看系统的挂载情况。在这里我们就可以设置新的磁盘了:


在设置完成后两次exit退出,系统就会自动运行了。需要注意的时我们只是在光驱的情况下进行了磁盘的恢复,而系统启动的其他驱动和文件还是在硬盘里,所以需要再切换回硬盘启动模式。否则系统将在这一次又一次的救援模式中循环而无法跳出:


设置从硬盘启动并应用:


  重新启动虚拟机就会恢复正常了。

3.grub2文件丢失的系统修复:

     在/boot/grub2目录下,有一个grub2.cfg文件,这个文件中包含了系统启动的信息,相当于一个引导文件,指引系统在什么情况下该去哪个位置读取相应的文件和驱动,如果这个文件丢失了,结构可想而知。

    如果在丢失文件之后没有重启系统,那么可以通过指令重新生成一份文件:


    如果丢失文件之后重启了系统,这时候就需要手动引导系统启动了。同样是先在virt-manager指令界面下关闭虚拟机,设置光驱启动,选择troubleshooting,进入救援模式。在系统修复的指令界面,需要手动引导,此时的手动引导就相当于引导文件的功能。主要是对初始化文件和内核文件的引导,initramfs是初始化文件,vmlinuz是内核文件。

     指令输入之后输入boot而不是reboot,boot是在当前情况下继续启动,reboot是重启。如果输入reboot,那么之前的操作就得重新来一遍了。boot之后,同样需要重新设置成从硬盘启动:


   在修复完毕后,还需要执行一个操作,就是要重新生成一个引导文件。否则每次重新进入虚拟机都要手动引导,就很麻烦了。


4.系统初始化文件丢失的修复(initramfs-3,10为初始化文件)

     在系统的/boot目录下,有着系统的初始化文件和内核文件。如果初始化文件丢失,重启之前可以他通过指令修复,重启之后,就需要从光驱启动来修复了。

    重启之前的修复:

    

  重启之后,系统就会提示,初始化文件无法找到:


    同样的关闭虚拟机,设置从光驱启动,在救援模式界面,生成新的初始化文件,然后在关闭虚拟机从硬盘启动:


5.内核文件丢失的修复:

   内核文件的丢失修复和初始化文件丢失的修复方式相同,同样分为文件丢失未重启和文件丢失重启两种情况。

   文件丢失未重启(vmlinuz-3.10为内核文件):


  之前设置的从光驱启动之后,在虚拟机的桌面上就会有一个光驱。点开找到kernel-3.10文件夹,复制到桌面上:


 将复制的文件夹解压,将新的内核文件复制到/boot下就可以了:


如果内核文件丢失后启动系统,就会报错内核文件无法找到。


这时候同样需要从光驱启动,在救援模式的指令界面生成新的内核文件。指令内容和重启之前的内容一致,不过是在不同的环境下罢了。生成新文件后,从硬盘启动,这样就修复好了:


6.系统启动级别被修改的修复:

  linux运行级别

以管理员身份进入Linux,修改文件:/etc/inittab

找到“id5initdefault:”其中的5就是X-window,为默认的运行级别

linux启动之后会在一个级别运行,下面列出了这些运行级别:

系统停止

单用户系统,不需要登陆

多用户系统但不支持NFS,命令行模式登陆

完整多用户模式,命令行模式登陆

未用

5 X11图形模式,图形模式登陆

重新启动系统

   如果将系统的启动级别设置为shutdown即中止模式,虚拟机的启动就会被中止,停在一个界面不动:


   类似与修改root用户密码,在虚拟机版本界面按e进入编辑:


    在linux16这一行输入末尾5,即设置为图形启动,ctrl+x运行:


    修复之后进入系统,还需要设置系统启动模式为图形启动,就修复完成了:





阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页