Linux常见维护报错,修复MBR引导/修复grub2菜单/内核文件丢失

简介: Linux常见维护报错,修复MBR引导/修复grub2菜单/内核文件丢失

一,修复MBR

1.模拟MBR损坏

破坏bootloader:

[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=1 count=446
记录了446+0 的读入
记录了446+0 的写出
446字节(446 B)已复制,0.000308168 秒,1.4 MB/秒

注意: 这里边block size只要小于等于446即可。

2.重启查看系统

3.借助当前系统的光盘来进行修复

挂载光盘,进入光盘引导,进入检修模式

  • 安装centos7系统
  • 检查系统并安装系统
  • 进入安全模式

继续进入营救模式

  • 安装图形化系统
  • 进入营救模式
  • 进入测试模式
  • 运行本地磁盘
  • 返回菜单

继续进入

4.进入修复模式 进行修复

chroot /mnt/sysimage    #提升权限
#centos7以上执行
grub2-install /dev/sda
#以下执行
grub-install /dev/sda

退出重启即可

reboot

5.恢复正常

二,修复grub2菜单

grub2菜单文件存放位置

1. [root@localhost boot]# cd /boot/grub2/
2. [root@localhost grub2]# ls
3. device.map  fonts  grub.cfg  grubenv  i386-pc  locale  themes

1.出现情况

2.进入修复模式

进入光盘引导:3--》2--》1--》回车

3.进行修复grub2菜单

[root@localhost boot]# cd /boot/grub2/
[root@localhost grub2]# ls
device.map  fonts  grub.cfg  grubenv  i386-pc  locale  themes

4.退出重启即可

三,内核文件丢失

内核文件存放位置

[root@localhost ~]# ls /boot/
config-3.10.0-514.el7.x86_64
grub
grub2
initramfs-0-rescue-a72540d4c3624c1e9c24a0e20cefad5a.img
initramfs-3.10.0-514.el7.x86_64.img
initramfs-3.10.0-514.el7.x86_64kdump.img
initrd-plymouth.img
symvers-3.10.0-514.el7.x86_64.gz
System.map-3.10.0-514.el7.x86_64
vmlinuz-0-rescue-a72540d4c3624c1e9c24a0e20cefad5a
vmlinuz-3.10.0-514.el7.x86_64
[root@localhost ~]# rpm -qf /boot/vmlinuz-3.10.0-514.el7.x86_64 
kernel-3.10.0-514.el7.x86_64

1.进入安全模式

进入光盘引导:3--》2--》1--》回车

2.挂载光盘

[root@localhost ~]# mount  -t  auto  /dev/cdrom /mnt/cdrom

3.安装光盘内的内核包

[root@localhost ~]# cd /mnt/cdrom/Packages
[root@localhost ~]# ls | grep kernel
#显示如下:
.....
kernel-3.10.0-123.el7.x86_64.rpm
......
#修复内核
[root@localhost ~]# rpm -ivh kernel-3.10.0-123.el7.x86_64.rpm --force

4.修复grub.cfg文件

[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

5.重启即可

目录
打赏
0
0
0
0
45
分享
相关文章
|
4月前
|
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
75 9
linux 挂载硬盘报错 "mount: unknown filesystem type 'ntfs'"
【10月更文挑战第7天】在Linux系统中挂载硬盘时遇到“mount: unknown filesystem type 'ntfs'”错误,是因为Linux默认可能不支持NTFS文件系统。本文提供了解决方案:安装NTFS-3G软件包以支持NTFS,并检查内核是否已加载NTFS模块。对于Ubuntu/Debian系统,可使用`sudo apt-get install ntfs-3g`命令;对于CentOS/RHEL系统,则需先安装EPEL仓库再安装NTFS-3G。此外,还需确认硬盘设备名正确无误,并创建合适的挂载点目录。
1208 2
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
76 5
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
580 1
用Qemu模拟vexpress-a9 (三)--- 实现用u-boot引导Linux内核
用Qemu模拟vexpress-a9 (三)--- 实现用u-boot引导Linux内核
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
【Linux】grub命令行引导进入windows系统
【8月更文挑战第20天】在Linux中通过GRUB命令行引导Windows的方法包括:1) 进入GRUB命令行模式,启动时按`c`键;2) 使用`ls`查找含Windows引导文件的分区,如`bootmgr`或`ntldr`;3) 设置根设备`root=(hd0,msdos3)`与链加载器`chainloader +1`;4) 输入`boot`命令启动Windows。请注意实际步骤可能因系统配置而异。
812 2
|
7月前
|
【Linux系统】使用g = GloveEmbedding()报错BadZipFile: File is not a zip file
本文讨论了在使用embeddings工具包时遇到的“BadZipFile: File is not a zip file”错误,原因是程序中断导致zip文件损坏,解决方法是删除损坏的文件并重新运行程序,具体操作是在Linux系统中删除“~/.embeddings/”目录下的glove文件夹。
62 0
使用docker 启动naocs 报错出现:standard_init_linux.go:241: exec user process caused "exec format error"
```markdown Error in Docker container startup: "standard_init_linux.go:241: exec user process caused \"exec format error\"". Occurred at 2024-06-29 09:26:19.910, followed by a failed hook with a syslog delivery error at 09:27:20.193. Seeking solutions from experts. ```