当我update-grub
在我的系统上运行时,我得到以下输出:
Found linux image: /boot/vmlinuz-3.2.0-29-generic
Found initrd image: /boot/initrd.img-3.2.0-29-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
让我烦恼的是 Windows 7 加载程序。/dev/sda
确实之前安装了 Windows 7。但是,我的目标是彻底删除它。在安装过程中,我删除了分区表并在每个驱动器上为 RAID 1 创建了两个分区。所以现在我得到了:
md1 : active raid1 sdb2[1] sda2[0]
1855727424 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sdb1[1] sda1[0]
97589120 blocks super 1.2 [2/2] [UU]
md0
=/
和md1
= /home
,均采用 格式ext4
。
为什么 GRUB 一直坚持有一个 Windows 7 加载程序,这让我很困惑。这个加载程序位于哪里,我该如何摆脱它?
答案1
据我所知,Windows 7 启动过程不仅使用 MBR,还使用 VBR(卷引导记录),它包含在分区的前 512 个字节中。
因此,我会尝试将所有 sda1 清零,例如
dd if=/dev/zero of=/dev/sda1 bs=1M
然后再次运行update-grub
。
答案2
1 停止(Windows)操作系统探测
sudo chmod a-x /etc/grub.d/30_os-prober
...您应该会看到,下次再使用时不会再进行窗口探测sudo update-grub
。(a+x
恢复)。更加“棘手”,但“侵入性”更少。
...或 2(擦除 MBR)
- 创建备份
- 验证确实存在 MBR(以 结尾
55 aa
,正如 maniaque 所说) - 擦除 mbr。要格外小心,sda 也是如此X数字, 之前读过。
代码:
sudo dd if=/dev/sda1 of=~/mbr_sda1_backup bs=512 count=1
hexdump -C -n 512 /dev/sda1
sudo dd if=/dev/zero of=/dev/sda1 bs=512 count=1