给虚拟机增加一块硬盘,用于备份mbr的信息
fdisk -l 查看硬盘系统是否认识
fdisk /dev/sdb 进行分区
fdisk -l 查看分区是否出来
mkfs -t ext4 /dev/sbd1 进行格式化
mkdir /backup
mount /dev/sb1 /backup 挂载到backup下
破坏mbr之前先做做备份,后面恢复系统用:
dd if=/dev/sda of=/backup/sda.mbr.bak bs=512 count=1 将sda前面512个字节备份到backup的目录下
ls /backup 查看是否有备份的文件
模拟破坏mbr扇区
dd if=/dev/zero of=/dev/sda bs=512 count=1 通过zero文件把sda设备的前512字节毁掉。由于mdmdr存在这个磁盘的前512个字节上
reboot 启动系统 看会发现什么情况,不能进入系统。
进入修复模式,没有修复模式的可进入光盘系统。然后调出命令提示窗口。fdisk -l 查看有没有增加的磁盘。然后执行下列命令 恢复备份。重启 系统正常。
修复grub引导故障:
下面演示grub遭到破坏系统如何启动
vim /boot/grub/grub.conf 编辑这个文件
重启系统,在grub提示符下做 *** 作
root (hd0,0)指定从哪一块硬盘的哪一个分区去引导 *** 作系统
kernel /vmlinuz-(tab键) ro root=/dev/sda1(主文件系统) 执行从哪一个内核去引导系统 ro 后面挂载的文件系统以什么样的方式去挂载 root代表根分区所在的位置
initrd /initramfs-2.6.32
boot
早期的 Linux 系统为了兼容于 Windows 的磁盘,因此使用的是支持 Windows 的MBR(Master BootRecord, 主要开机纪录区) 的方式来处理开机管理程序与分区表!而开机管理程序纪录区与分区表则通通放在磁盘的第一个扇区, 这个扇区通常是 512bytes 的大小 (旧的磁盘扇区都是 512bytes 喔! ),所以说,第一个扇区 512bytes 会有这两个数据:(1)主要启动记录区:可以安装开机管理程序的地方,有446bytes。第1种方法:就是将Windows的安装盘放入计算机以后,重启计算机,进入Windows安装程序,随后,进入恢复控制台,输入命令fixmbr即可。第2种方法是为没有Windows安装盘的朋友准备的,就是使用MBRFix工具进行修复。使用命令MbrFix /drive 0 fixmbr
第3种方法:linux下使用grub修复mbr
1.把安装盘的第一张放到光驱,然后重新启动机器,在BOIS中设置为首先以光驱来启动。
2.等安装界面出来后,按[F5]键,也就是linux rescue模式。
3.一系列键盘以及几项简单的配制,过后就[继续]了。。。这个过程,我不说了,比较简单。
4.然后会出现这样的字符
sh#
5.敲入命令grub,会出现这样的提示符
grub>
6、我们就可以在这样的字符后面,输入
grub>root (hdX,Y)
grub>setup (hd0)
如果成功会有一个successful......
请留意root和(hdX,Y)之间有一个空格,这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;Y
,就是装有linux系统所在的根分区。 setup (hd0)就是把GRUB写到硬盘的MBR上。
7、退出救援模式,重新启动机子就可以了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)