mkinitrd initramfs-`uname -r`.img `uname -r` 恢复
小姿势:
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信息。
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命令切换到真实环境
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 的默认应用顺序改到第三个,进入虚拟机启动环境,他会自己选择硬盘驱动模式
找到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,否则下次启动时还需要手动引导
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
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顺序调整
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
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顺序调整到第三个
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