Linux救援模式

故障背景:

  1. 误删除或修改/etc/passwd导致无法远程登录.
  2. 禁止root远程登录,没有添加普通用户,无法远程登录.
  3. root密码忘记,无法远程登录.
  4. linux无法启动

1.解决方案

root密码,恢复有备份的系统文件,都要重启系统,才能进入救援模式

解决方案

应用场景

系统自带的救援模式

系统还可以正常使用,损坏不是太大. 系统无法启动.

U盘(光盘)的系统进入U盘救援模式

系统不可用,无法正常启动.

快照

虚拟机(虚拟化,超融合),云服务器

2.系统自带的救援模式 ⭐️⭐️⭐️⭐️⭐️

  1. selinux关闭.
  2. 重启Linux
  3. 在GRUB菜单选择第1个然后按e编辑(edit). root用户名,Kylin123123
  4. 找出Linux16的行修改 ro 为 rw ,在这一行的最后添加 init=/bin/bash
  5. 修改完成,按ctrl+x进入救援模式(命令较少).
  6. 根据故障针对性操作: 修改/etc/passwd去掉root的x,然后重启.
  7. 进入系统通过root用户,然后通过passwd命令给root设置新的密码.

 

2.1 centos系统操作流程

1.重启,在菜单处(鼠标放到虚拟机外面)按e, 然后输入root,密码Kylin123123

2.找出linux的行,修改ro为rw,行尾加上init=/bin/bash 然ctrl + x启动

如下图已经进入紧急模式

将root用户密码清空,vim /etc/passwd

如图所示将x(密码标识区)去掉

重启登录后重新设置密码

2.2 Ubutu系统操作流程

重启按e

修改完成,按ctrl+x进入救援模式

 

3.U盘/光盘救援模式

3.1 centos系统操作流程

物理机/虚拟机 无法进入Linux系统,系统自带的救援模式无法进入.

  1. 插入U盘或光盘
  2. 重启并在弹出vmware logo的时候按下esc键(1次).  
  3. 选择通过光盘启动
  4. 进入到安装系统的页面,选择troubleshooting,然后选择rescue installed system
  5. 进入系统后执行fdisk+mount指令(细节看下面)

找到光盘

重启后立马将鼠标放到虚拟机内部中央,在弹出vmware logo的时候按下esc键(1次).  选择 CD-ROM Drive

选择Troubleshooting

选择如下

看到如下内容,回车

查找根目录对应的磁盘:fdisk -l | grep root

将根目录对应的磁盘挂载到/mnt下:mount /dev/mapper/klas-root /mnt

现在/mnt目录相当于之前的根目录,可以进行想要的操作。

3.2 Ubuntu系统操作流程

 

 

 

4 光盘

4.1 定义与构成

  • 定义:Linux镜像是一个包含了操作系统的所有组件和文件的压缩文件,这些文件被打包在一起以便于安装、复制和使用。
  • 构成:它通常包括内核、文件系统、库文件、驱动程序以及其他必要的系统文件。这些文件共同构成了Linux操作系统的基础架构。

4.2 用途

  • 安装与部署:用户可以通过下载Linux镜像来安装和使用Linux系统。镜像文件可以被烧录到CD、DVD、USB闪存驱动器或虚拟机中,作为安装介质。
  • 备份与还原:Linux镜像还可以用于备份和还原系统,确保在系统出现故障或需要迁移时能够快速恢复。
  • 创建虚拟机:在虚拟机软件中,如VirtualBox或VMware等,可以将Linux镜像作为虚拟机的硬盘来使用,从而创建一个虚拟的Linux环境。

4.3 格式与来源

  • 格式:Linux镜像通常以ISO、IMG或IMG.gz等格式存在。ISO是一种光盘镜像格式,可用于创建可引导的安装介质或虚拟光驱;IMG是一种磁盘镜像格式,可进行直接复制或在虚拟机中加载;IMG.gz则是经过压缩的磁盘镜像文件。
  • 来源:Linux镜像可以由Linux发行版的官方团队创建和发布,也可以由开发者或社区进行定制和制作。这些镜像基于特定版本的Linux内核和软件包,并经过配置和调试,以提供特定的功能和用户体验。

4.4 特性与优势

  • 完整性:Linux镜像包含了操作系统的所有必要组件,保证了系统的完整性和可靠性。
  • 可移植性:镜像文件可以轻松地复制到不同的计算机或设备上进行安装和部署,实现系统的快速部署和迁移。
  • 版本控制:通过镜像文件,用户可以轻松地创建和管理不同版本的操作系统,方便进行版本控制和更新。

4.5 镜像与固件的区别

需要注意的是,Linux镜像与固件是两个不同的概念。固件是嵌入在计算机硬件设备中的软件程序,用于控制硬件设备的操作和功能,而Linux镜像则是操作系统的一个完整副本或安装包。

综上所述,Linux镜像是Linux操作系统的一种重要形式,它包含了操作系统的所有组件和文件,用于安装、部署、备份和还原系统。通过镜像文件,用户可以轻松地创建和管理Linux环境,满足不同场景下的需求。

镜像里有什么?
[root@Kylin-V10-sp3 ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 459M     0  459M    0% /dev
tmpfs                    475M     0  475M    0% /dev/shm
tmpfs                    475M  6.9M  468M    2% /run
tmpfs                    475M     0  475M    0% /sys/fs/cgroup
/dev/mapper/klas-root     66G  4.6G   61G    7% /
tmpfs                    475M     0  475M    0% /tmp
/dev/sda1               1014M  151M  864M   15% /boot
/dev/mapper/klas-backup   32G  313M   32G    1% /backup
tmpfs                     95M     0   95M    0% /run/user/0
[root@Kylin-V10-sp3 ~]# 
[root@Kylin-V10-sp3 ~]# ls /dev/
ashmem           disk       hwbinder          mqueue              rtc0  sg1       tty10  tty23  tty36  tty49  tty61   ttyS16  ttyS29   usbmon1  vcsa5        vmci
autofs           dm-0       hwrng             net                 sda   sg2       tty11  tty24  tty37  tty5   tty62   ttyS17  ttyS3    usbmon2  vcsa6        vndbinder
binder           dm-1       initctl           network_latency     sda1  sg3       tty12  tty25  tty38  tty50  tty63   ttyS18  ttyS30   vcs      vcsu         zero
block            dm-2       input             network_throughput  sda2  sg4       tty13  tty26  tty39  tty51  tty7    ttyS19  ttyS31   vcs1     vcsu1
bsg              dmmidi     ion               null                sdb   shm       tty14  tty27  tty4   tty52  tty8    ttyS2   ttyS4    vcs2     vcsu2
btrfs-control    dri        klas              nvram               sdb1  snapshot  tty15  tty28  tty40  tty53  tty9    ttyS20  ttyS5    vcs3     vcsu3
bus              ecryptfs   kmsg              port                sdb2  snd       tty16  tty29  tty41  tty54  ttyS0   ttyS21  ttyS6    vcs4     vcsu4
cdrom            fb0        log               ppp                 sdb5  sr0       tty17  tty3   tty42  tty55  ttyS1   ttyS22  ttyS7    vcs5     vcsu5
char             fd         loop-control      ptmx                sdc   stderr    tty18  tty30  tty43  tty56  ttyS10  ttyS23  ttyS8    vcs6     vcsu6
console          full       mapper            pts                 sdc1  stdin     tty19  tty31  tty44  tty57  ttyS11  ttyS24  ttyS9    vcsa     vfio
core             fuse       mcelog            random              sdd   stdout    tty2   tty32  tty45  tty58  ttyS12  ttyS25  uhid     vcsa1    vga_arbiter
cpu              hidraw0    mem               raw                 sdd1  tty       tty20  tty33  tty46  tty59  ttyS13  ttyS26  uinput   vcsa2    vhci
cpu_dma_latency  hpet       memory_bandwidth  rfkill              sdd2  tty0      tty21  tty34  tty47  tty6   ttyS14  ttyS27  urandom  vcsa3    vhost-net
cuse             hugepages  midi              rtc                 sg0   tty1      tty22  tty35  tty48  tty60  ttyS15  ttyS28  usbmon0  vcsa4    vhost-vsock
[root@Kylin-V10-sp3 ~]# 
# 镜像是只读的,可挂载
[root@Kylin-V10-sp3 ~]# mount /dev/cdrom /mnt/
mount: /mnt: WARNING: source write-protected, mounted read-only.
[root@Kylin-V10-sp3 ~]# 
[root@Kylin-V10-sp3 /mnt]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 459M     0  459M    0% /dev
tmpfs                    475M     0  475M    0% /dev/shm
tmpfs                    475M  6.9M  468M    2% /run
tmpfs                    475M     0  475M    0% /sys/fs/cgroup
/dev/mapper/klas-root     66G  4.6G   61G    7% /
tmpfs                    475M     0  475M    0% /tmp
/dev/sda1               1014M  151M  864M   15% /boot
/dev/mapper/klas-backup   32G  313M   32G    1% /backup
tmpfs                     95M     0   95M    0% /run/user/0
/dev/sr0                 4.3G  4.3G     0  100% /mnt
[root@Kylin-V10-sp3 /mnt]# 
[root@Kylin-V10-sp3 ~]# cd /mnt/
[root@Kylin-V10-sp3 /mnt]# 
[root@Kylin-V10-sp3 /mnt]# ls
EFI  images  isolinux  kylin-sm-package  LICENSE  manual  Packages  repodata  TRANS.TBL
[root@Kylin-V10-sp3 /mnt]# 
[root@Kylin-V10-sp3 /mnt]# ll Packages/ | head 
总用量 3409391
-r--r--r-- 1 root root    322904  3月 15  2023 abattis-cantarell-fonts-0.201-1.ky10.noarch.rpm
-r--r--r-- 1 root root     19640  3月 15  2023 abattis-cantarell-fonts-help-0.201-1.ky10.noarch.rpm
-r--r--r-- 1 root root    503036  3月 15  2023 abrt-2.13.0-9.ky10.x86_64.rpm
-r--r--r-- 1 root root     99304  3月 15  2023 abrt-addon-ccpp-2.13.0-9.ky10.x86_64.rpm
-r--r--r-- 1 root root     29480  3月 15  2023 abrt-addon-kerneloops-2.13.0-9.ky10.x86_64.rpm
-r--r--r-- 1 root root     13844  3月 15  2023 abrt-addon-pstoreoops-2.13.0-9.ky10.x86_64.rpm
-r--r--r-- 1 root root     24388  3月 15  2023 abrt-addon-vmcore-2.13.0-9.ky10.x86_64.rpm
-r--r--r-- 1 root root     24884  3月 15  2023 abrt-addon-xorg-2.13.0-9.ky10.x86_64.rpm
-r--r--r-- 1 root root     57668  3月 15  2023 abrt-dbus-2.13.0-9.ky10.x86_64.rpm
[root@Kylin-V10-sp3 /mnt]# 
[root@Kylin-V10-sp3 /mnt]# 
[root@Kylin-V10-sp3 /mnt]# ll Packages/ | grep tree
-r--r--r-- 1 root root    505908  3月 15  2023 ostree-2020.4-2.ky10.x86_64.rpm
-r--r--r-- 1 root root     66716  3月 15  2023 ostree-help-2020.4-2.ky10.noarch.rpm
-r--r--r-- 1 root root     67024  3月 15  2023 python3-anytree-2.8.0-1.ky10.noarch.rpm
-r--r--r-- 1 root root   1044092  3月 15  2023 rpm-ostree-2018.8-2.ky10.x86_64.rpm
-r--r--r-- 1 root root     15408  3月 15  2023 rpm-ostree-help-2018.8-2.ky10.noarch.rpm
-r--r--r-- 1 root root     18792  3月 15  2023 texlive-pst-tree-svn43272-24.ky10.noarch.rpm
-r--r--r-- 1 root root     52192  3月 15  2023 tree-1.8.0-2.ky10.x86_64.rpm
[root@Kylin-V10-sp3 /mnt]# 

5 故障案例

5.1 案例1 现象

  • 重启,启动Linux的时候,没有进入到命令行,欢迎页面.进入到提示内容.
  • 关键提示:

    Welcome to emergency mode. 欢迎来到紧急救援模式.

    Give root password for maintenance 输入root密码,进入模式..

  • Linux启动流程中,初始化(ip,主机名,fstab自动挂载)

原因与排查

  1. 磁盘有问题.
  2. fstab文件配置不当.
  3. 其他原因通过 journalctl -xb 查看日志定位其他原因.

5.2 案例2 现象

Read-only file system: 文件系统只读(无法创建文件或目录,只能查看)

原因

  1. 磁盘挂了.
  2. fstab配置不当.

解决

  1. mount -o rw,remount /
  2. 上面命令失败,通过系统救援模式,U盘救援模式去修改

 

posted @ 2024-09-06 17:59  老虎死了还有狼  阅读(1010)  评论(0编辑  收藏  举报