要如何删除grub中多余的windows引导项?

2024年11月18日 14:27
有2个网友回答
网友(1):

安装Linux后,默认就会把其它系统引导权交给Grub或LILO引导,目前使用Grub多重引导其较多,所以本文仅介绍删除和卸载Grub,有道是安装容易卸载难,或许某天Grub会自带一条指令可直接恢复MBR,随时一条指令即可恢复,可惜目前没有,只能手动想办法。恢复后自动转为默认的Windows引导。
一、启动进入Linux

[!本方法暂未测试通过!网上还有说类似dd if=/boot/boot.NNNN这样的命令,也无法找到类似boot.x的启动扇区自动备份文件,手动就不说了,少有人去主动备份这个扇区数据,仅在grub目录下发现有boot.img, cdboot.img, diskboot.img, g2hdr.img是512字节的启动文件,但似乎都不是备份文件,反到查看GRUB readme时,发现有个bootlace.com命令,--restore-mbr参数,暂还未测试]
只恢复MBR,不移除分区表:
# dd if=/dev/null of=/dev/sdX bs=446 count=1
注意,需用你自己真实的设备名称替换命令中的/dev/sdX,比如/dev/sda,如果你的硬盘不是SCSI或SATA而是IDE,则要该为类似/dev/hdX样子。另外,如果把语句中的446修改为512则会把第一扇区后面的分区表标识部分一并清理掉(特别提醒,不确定请不要修改该参数)。
如何查看设备名称?使用fdisk -l命令(后面的参数是小写L,要注意该命令需root权限执行)。
# fdisk -l
示例输出:
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
...
如果上文无法正常启动进入Linux,也不用去修了(除非Linux分区有数据需要备份),反正下面也要清理引导,那么我们尝试下文方法。
二、启动进入Windows

如果系统自带Windows系统,可以尝试在grub命令行下执行:
grub>rootnoverify (hd0,0)
grub>chainloader +1
grub>boot
依次意思为:
将第一块硬盘第一分区设为根分区,但不加载文件系统
然后将启动引导权交给当前分区的第一扇区
再接着就是启动,会自动进入Windows系统。
启动进入Windows后,采用下文方法,即可开始修复操作,如果无法启动进去Windows,再尝试下文启动盘WINPE启动盘、DOS工具箱等方式启动进入。
三、使用MS-DOS/Windows 9x启动盘

启动进入DOS命令行状态,请注意:一定要定位到将要修复的硬盘上,比如C:\,不要修复错硬盘对象。再执行命令:
fdisk /mbr
如果本条命令能执行,说明MBR已经恢复,GRUB引导部分已被覆盖。如果能启动进去Windows,继续阅读下文。
四、启动WindowsXP恢复环境

Windows XP系统可使用WinXP(WIN2K)启动安装盘启动,然后进入修复模式,执行命令:
# fixmbr
# exit
五、启动Windows 7恢复环境

如果是Vista/Windows 7系统,可在启动时按下F8进去Windows RE环境。
1、开机启动进入Win7恢复模式(Windows RE)
2、在系统恢复选项中,选择 命令行
3、执行命令
bootrec.exe /fixmbr
你会看到,操作成功提示。Grub将会被Win7启动加载器覆盖。
4、重启机子。
补充:
有说在Vista/Windows7的命令行下,以管理员身份执行:
bootsect /nt60 C: /mbr
命令也可修复MBR,未测试。

网友(2):

1分钟帮你去掉多余的开机操作系统引导项