grub修复记录

rescue模式下手动引导进入系统

三大命令,ls, set, insmod

grub rescue>ls
grub rescue>(hd0,msdo1) (hd1,XX)  #输出磁盘
grub rescue>ls (hd1,msdos1)/boot/grub #逐个替换磁盘名hd1,直到该命令显示出grub.cfg,说明该盘为引导盘
grub rescue>set root=(hd2,msdos1)
grub rescue>set prefix=(hd2,msdos1)/boot/grub
grub rescue>insmod (hd2,msdos1)/boot/grub/i386-pc/normal.mod
grub rescue>normal #此时可以进入系统

重新安装grub

grub-update
grub-install /dev/sdX #此处不要带盘符号,/dev/sda1 这种会错误

这两条命令可以重新安装grub

在其它磁盘上删除旧的引导

只删除引导,不删数据,例如删除/dev/sda1上的引导,参考How to remove grub

:~# dd if=/dev/sda of=/data/disk.img bs=446 count=1 #Create backup of first 446b on your disk (this is not all MBR - it has 512b), so when your disk is /dev/sda
:~# dd if=/dev/zero of=/dev/sda bs=446 count=1 #next remove (only erase bootloader without disk table):
:~# dd if=/data/disk.img of=/dev/sda bs=446 count=1 #If you want revert

为什么是446?参考操作系统引导详细过程
MBR的主要作用是告诉计算机到存储设备的哪个位置去找操作系统对应的硬盘主分区。它主要由三部分组成:

第1-446字节:调用操作系统的机器码。
第447-510字节:硬盘分区表(Disk Partition Table,DPT),将硬盘分成若干分区。
第511-512字节:主引导记录签名(0x55和0xAA)。

你可能感兴趣的:(grub修复记录)