trouble 系统恢复

系统恢复


1.系统启动流程
          通电
          ||
 bios(主板上的只读存储中,basic input or output system)
 作用,硬件检测,激活硬件
          ||
 grub系统引导(grub引导分为两个阶段)
1)阶段1 mbr(主引导记录)主引导记录在硬盘上的0磁道,一扇区,446个字节
*)dd if=/dev/zero of=/dev/vda bs=446 count=1 可以清空mbr
*)进入到挽救模式,执行chroot /mnt/sysimage切换到真实/环境,
   并执行grub2-install /dev/vda
2)阶段2 grub文件引导阶段
   找到/boot分区
   读取/boot/grub2/grub.cfg
   文件丢失,grub2-mkconfig >/boot/grub2/grub.cfg
          ||
3)启动内核,只读挂载/设备
检测设备
对设备驱动进行初始化
进入系统初始化阶段
内核丢失,从新安装内核安装包就可以解决
rpm -ivh kernel-xxxxx.rpm --force
          ||
4)系统初始化阶段
系统初始化阶段加载initrd镜像
开启初始化进程systemd
开始selinux
加载内核参数
初始化系统时钟,键盘,主机名称
重新读写挂载/设备
激活raid,lvm
激活配额
启动multi-user.target.wants中的所有服务
开启虚拟控制台
启动图形
initramfs-`uname -r`.img丢失用:

mkinitrd initramfs-`uname -r`.img `uname -r` 恢复

小姿势:

    MBR和GPT的区别与联系:

MBR(Master Boot Record)和GPT(Guid Partion Table)是磁盘存储信息的两种不同方式。这些分区信息包含了分区从哪里开始的信息,这样操作系统才知道哪个扇区是属于哪个分区的,以及哪个分区是可以启动的。在磁盘上建立分区时,你必须在MBR和GPT之中做出选择。

MBR叫主引导记录,最早在1983年IBM PC DOS2.0中提出,之所以叫主引导记录,是因为他是存在与驱动器开始部分的一个特殊的启动扇区,这个扇区包含了已安装的操作系统的启动加载器和驱动器的逻辑分区信息。启动加载器是一小段代码,用于加载驱动器上其他分区上的更大的加载器,在linux中,grub就是启动加载器。MBR最多支持2TB磁盘,无法处理大于2TB容量的磁盘。MBR只支持最多4个主分区,如果想要更多 ,需要建立‘扩展分区’。MBR已经成为磁盘分区和启动的工业标准。

GPT意为GUID分区表。(GUID为全局唯一标示符),这是一个正逐渐取代MBR的新标准。他与UFEI相辅相成--UEFI用于取代老旧的BIOS,而GPT则取代老旧的MBR。之所以叫作‘GUID分区表‘,是因为你的驱动器上的每个分区上都有一个全局唯一的标示符(globally unique identifier,GUID)--这是一个随机生成的字符串,可以保证为地球上的每一个GPT分区都分配完全唯一的标示符。他的磁盘驱动器容量比MBR大的多,大到操作系统和文件系统都没法支持,他同时还支持几乎无限个分区数量。在linux系统中最多可分为128个分区,不需要扩展分区。

在MBR磁盘上,分区和启动信息是保存在一起的,如果这部分数据被覆盖,就麻烦了,相对的,GPT在整个磁盘上保存多个信息的副本,因此他更为健壮,并可以恢复被破坏的这部分信息。

使用GPT的驱动器会包含一个‘保护性MBR’,这种MBR会认为GPT驱动器有一个占据整个磁盘的分区。如果你使用老式的MBR磁盘工具对GPT 磁盘进行管理,你只会看见一个占据整个磁盘的分区,这种保护性MBR保证老式工具不会把GPT磁盘当作没有的空磁盘处理而用MBR覆盖本来存在的GPT信息。

2.TROUBLE TROUBLE TROUBLE
troule来了怎么办?
进入resuce模式解决trouble
1.virt-manager

2.双击server ,添加IDE cdrom 在本地iso/选择7.0的虚拟机镜像-finish

3.关闭server再次进入,会看到cdrom被添加到硬盘

4.在BOOT OPINIONS添加cdrom ,把cdrom默认顺序调整到第一个,apply

5.进入光盘启动环境模式,选择troubleshooting,然后选择resuce拯救模式,一路回车,系统会提醒完成后要执行chroot /mnt/sysimage命令切换到真实环境
#注意所有的设置都需要在server关闭的情况下才可以生效

1.virt-manager

2.双击server ,添加IDE cdrom 在本地iso/选择7.0的虚拟机镜像-finish


3.关闭server再次进入,会看到cdrom被添加到硬盘


4.在BOOT OPINIONS添加cdrom ,把cdrom默认顺序调整到第一个,apply


5.进入光盘启动环境模式,选择troubleshooting,然后选择resuce拯救模式,一路回车,系统会提醒完成后要执行chroot /mnt/sysimage命令切换到真实环境


1.主引导阶段:
mbr被清空:
dd if=/dev/zero of=/dev/vda bs=446 count=1

reboot


解决方案:进入挽救模式

chroot /mnt/sysimage 切换到真实环境,此时系统的/是在/mnt/sysimage下面挂载的

grub2-install /dev/vda

vim /etc/sysconfig/selinux

selinux=disabled #为了让虚拟机启动地更快

exit 两次


将cdrom 的默认应用顺序改到第三个,进入虚拟机启动环境,他会自己选择硬盘驱动模式

2.grub文件引导阶段:
找到boot分区

读取/boot/grub2/grub.cfg

<1>当执行了rm -f /boot/grub2/grub.cfg文件丢失时,没有执行reboot时可以直接将grub2-mkconfig> /boot/grub2/grub.cfg

<2>当执行了rm -f /boot/grub2/grub.cfg 并且执行了reboot可以执行以下操作:手动引导

1>set root='hd0,msdos1'#根为硬盘中的第一块模拟磁盘vda1

2>linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/vda1 \set root='hd0,msdos1'

3>initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.img

4>boot

##进入系统后还需要grub2-mkconfig > /boot/grub2/grub.cfg,否则下次启动时还需要手动引导


3.启动内核阶段:
删除了内核文件怎么办?
1>cd /boot/

2>ls

3>rm -fr vmlinuz-3.10.0-123.el7.x86_64


<1>没有重启,还可以挽救

4>yum whatprovides /boot/vmlinuz-3.10.0-123.el7.x86_64
在镜像中Packages中找到kernel-3.10.0-123.el7.x86_64.rpm 复制到桌面

5>cd /Desktop

6>ls

7>rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id

8>cp boot/vmlinuz-3.10.0-123.el7.x86_64 /boot/

9>ls

<2>重启了,进入挽救模式
1>cd /boot

2>rm -fr vmlinuz-3.10.0-123.el7.x86_64

3>reboot

在挽救模式中:

1>cd /run/install/repo/Packages

2>cp kernel-3.10.0-123.el7.x86_64.rpm /mnt/sysimage/mnt/

3>chroot /mnt/sysimage

4>cd /mnt

5>rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id

6>cp boot/vmlinuz-3.10.0-123.el7.x86_64 /boot/

exit两次跳出将cdrom顺序调整

4.系统初始化阶段:
删除了初始化文件怎么办?
1>cd /boot

2>ls

3>rm -fr initramfs-3.10.0-123.el7.x86_64.img

4>ls

5>mkinitrd /boot/initramfs-3.10.0-123.el7.x86_64.img 3.10.0-123.el7.x86_64
 #mkinitrd /boot/initramfs-$(uname-r).img $(uname -r)

6>ls

<2>重启了
1>cd /boot

2>ls

3>rm -fr initramfs-3.10.0-123.el7.x86_64.img

4>reboot
进入挽救模式
1>chroot /mnt/sysimage

2>mkinitrd /boot/initramfs-$(uname -r).img  $(uname -r)
exit两次,将cdrom顺序调整到第三个

5.设定启动级别
systemctl set-default+启动级别

/etc/systemd/system/default.target

systemctl set-default shutdown.target #关闭系统默认开启图形
在linux16编辑5 相当于开启图形界面
systemctl set-default graphical.target #开启系统默认开启图形

runlever0.target-->poweroff.target
runlever1.target-->rescue.target
runlever2.target-->multi-user.target
runlever3.target-->multi-user.target
runlever4.target-->multi-user.target
runlever5.target-->grapical.target
runlever6.target-->reboot.target



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

博主推荐

换一批

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