Centos7 故障排除_a tpm error occurred get tpm pcr allocation

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

libattr.so.1 => /lib64/libattr.so.1 (0x000000343ea00000)

目前实验删/lib64/libc.so.6这个库吧
~]# mv /lib64/libc.so.6 .
或者删除 ~]# rm -f /lib64/libc.so.6
~]# reboot
reboot: error while loading shared libraries: libc.so.6:
cannot open shared object file: No such file or directory
~]# ls
ls: error while loading shared libraries: libc.so.6: cannot
open shared object file: No such file or directory
此时可以看见由于/lib64/libc.so.6是一个很基础的共享库,许多命令均依赖它
系统此时已处于瘫痪状态!

进入故障排除,救援系统中:
    ln -s  lib-2.17.so /mnt/sysimage/lib64/libc.so.6
注意:软链接时:源应该使用相对路径,这时相对的是目录生成的路径

事先查看了一下此共享库的信息,删除也能修复
~]# ll /lib64/libc.so.6
lrwxrwxrwx. 1 root root 12 Jul 17 16:53 /lib64/libc.so.6 -> libc-2.17.so
可见/lib64/libc.so.6 是/lib64/libc-2.17.so的软链接


注意:  
 在删除/lib64/libc.so.6时再通过软链接生成此文件时需要注意,在救援模式下整个根被挂载至/mnt/sysimage/目录下,如果使用绝对路径软链接生成/lib64/libc.so.6是不行的,因为重启时路径发生了变化~~链接时源路径应该采用相对路径!!  
 注意: 软链接的源一般使用相对路径,源的相对路径是相对于软连接生成的位置,并非当前目录!!!




示例2:破坏系统引导所在的硬盘的分区表(即此分区中boot loader 有数据)但只破坏分区表
1、备份MBR中分区表的64个字节
[root@localhost ~]# dd if=/dev/sdb of=/data/MBR.bak bs=1 count=64 skip=446
64+0 records in skip表示跳过源(if=设备)前446字节
64+0 records out
64 bytes (64 B) copied, 0.000885729 s, 72.3 kB/s
查看
[root@localhost ~]# hexdump -C /data/MBR.bak
00000000 00 20 21 00 83 aa 28 82 00 08 00 00 00 00 20 00 |. !..(… .|
00000010 00 aa 29 82 05 15 79 9c 00 08 20 00 00 00 40 01 |…)…y… …@.|
00000020 00 15 7a 9c 8e a0 82 1e 00 08 60 01 00 00 20 00 |…z…`… .|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…|

查看/dev/sdb分区前512字节:
[root@localhost ~]# hexdump -C -n 512 /dev/sdb -v
…(部分省略) (备份的括号内的数据)
000001c0 21 00 83 aa 28 82 00 08 00 00 00 00 20 00(00 aa |!..(… …|
000001d0 29 82 05 15 79 9c 00 08 20 00 00 00 40 01 00 15 |)…y… …@…|
000001e0 7a 9c 8e a0 82 1e 00 08 60 01 00 00 20 00 00 00 |z…`… …|
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00)55 aa |…U.|

破坏:
[root@localhost ~]# dd if=/dev/zero of=/dev/sdb bs=1 count=64 seek=446
64+0 records in seek表示跳过目标(of=设备)前446字节
64+0 records out
64 bytes (64 B) copied, 0.00417756 s, 15.3 kB/s
查看破坏:
[root@localhost ~]# hexdump -C -n 512 /dev/sdb -v
…部分省略…括号内的数据被破坏
000001b0 00 00 00 00 00 00 00 00 14 44 0c 00 00 00(00 00 |…D…|
000001c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…|
000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…|
000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…|
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00)55 aa |…U.|

查看分区信息:
分区表信息被破坏,即使数据仍在磁盘也坏造成数据丢失。MBR分区方式默认未备份分区信息
[root@localhost ~]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags

修复:
[root@localhost ~]# dd if=/data/MBR.bak of=/dev/sdb bs=1 count=64 seek=446
64+0 records in
64+0 records out
64 bytes (64 B) copied, 0.00331543 s, 19.3 kB/s
将分区信息恢复,磁盘恢复之前的状态
[root@localhost ~]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos – MBR的分区方式
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1075MB 1074MB primary
2 1075MB 11.8GB 10.7GB extended
5 1076MB 2150MB 1074MB logical
6 2151MB 3224MB 1074MB logical
3 11.8GB 12.9GB 1074MB primary lvm
[root@localhost ~]#

破坏系统盘分区信息,将导致系统瘫痪,此时可使用进入救援模式,联网scp复制之前的备份的MBR中分区信息恢复。


### dd命令


* if=FILE    从FILE而不是stdin读取
* of=FILE    写入FILE而不是stdout
* bs=BYTES    一次读写BYTES字节
* count=N    仅复制N个输入块
* seek=N    在输出开始时跳过N个障碍大小的块
* skip=N    在输入开始时跳过N ibs大小的块
* cbs=BYTES    一次转换BYTES字节
* conv=CONVS    根据逗号分隔的符号列表转换文件
* ibs=BYTES    一次读取BYTES字节(默认值:512)
* iflag=FLAGS    按逗号分隔的符号列表读取
* obs=BYTES    一次写BYTES字节(默认值:512)
* oflag=FLAGS    按逗号分隔的符号列表写



小测试:查询命令java来自于哪个rpm包?
rpm -qf 查询文件来自于哪个rpm包。但是:
[root@centos7 ~]# which java
/usr/bin/java
[root@centos7 ~]# rpm -qf which java

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

](https://bbs.csdn.net/topics/618631832)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值