我最近在我的电脑上安装了 mint 17。
$ parted -l
Model: ATA PLEXTOR PX-256M5 (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 256MB 255MB primary ext2 boot
2 257MB 256GB 256GB extended
5 257MB 256GB 256GB logical lvm
Model: ATA SAMSUNG HD103SJ (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 1000GB 1000GB primary ext3
Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/mint--vg-root: 252GB
Sector size (logical/physical): 512B/4096B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 252GB 252GB ext4
Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/mint--vg-swap_1: 4291MB
Sector size (logical/physical): 512B/4096B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 4291MB 4291MB linux-swap(v1)
ATA PLEXTOR PX-256M5 磁盘之前确实装有 Windows 8,但它已经重新格式化,应该完全消失了,现在上面安装了 linux mint。
TA SAMSUNG HD103SJ 磁盘上确实有 Windows 7,所以我怀疑这与该磁盘有关。 Mint 会自动挂载此磁盘(它没有 fstab 条目)。
我已经成功地使用 fdisk 然后使用 mkfs 在磁盘上手动创建了一个分区,但是当我重新启动电脑时,我仍然看到 Windows 7 选项。
谁能告诉我我错过了什么?
答案1
事实证明我需要运行以下命令:
sudo update-grub
这更新了我的 /boot/grub/grub.cfg 文件并删除了 windows 7 选项。
答案2
Grub 的菜单来自配置文件,而不是通过扫描硬件。但是,可以通过扫描硬件来创建配置文件,您可能希望在更改分区后执行此操作。
执行此操作的命令是grub-mkconfig
(Debian 派生)或grub2-mkconfig
(Fedora 派生)。我认为 Mint 会是前者,但无论如何,实际上只会安装其中一个。
仔细检查您是否有现有的/boot/grub2/grub.cfg
.如果没有,应该有一个 grub 子目录 grub.cfg
。/boot
支持这一点(例如cp grub.cfg grub.cfg.bk
)。然后你需要su root
运行grub-mkconfig
(或grub2-
...);这将打印到标准输出。这只是为了确保它有效。如果是这样:
grub-mkconfig > /etc/grub2/grub.cfg
假设这是正确的道路。我这里之所以说使用su
and而不是sudo
因为重定向(>
)。这次输出会少得多,只有Found linux image:
诸如此类的东西。
当您重新启动时,选项应该会更新。如果由于某种原因新配置不起作用,您将需要启动 Live CD 并替换grub.cfg
为您所做的备份。
答案3
从您提供的信息来看,如果您没有安装除 Linux 之外的其他操作系统,则可以选择禁用 os-prober。
执行此操作的两种方法:
- 在 grub 默认文件中设置 GRUB_DISABLE_OS_PROBER=true (/etc/default/grub? - Mint 上不确定)
- 删除 os-prober 软件包(如果缺少,grub-mkconfig 将跳过该部分)
可能发生的情况是 os-prober 错误地认为该磁盘上仍然存在 Win7,因为某些扇区仍然包含它检查的任何签名。另一种解决方案,如果该驱动器上还没有重要数据(因为您似乎暗示它最近重新分区和格式化),则将前 10Mb 左右归零(例如dd if=/dev/zero of=/dev/sdb count=1 bs=10M
),然后重新安装启动标签,重新分区并重新格式化。
在尝试执行任何操作之前,检查 /boot/.../grub.cfg 应该会告诉您哪个设备被检测为具有 Win 7。