我已经查看了几十个答案。我这里遇到了一个不同的问题。我安装了 Windows 10。我最近用 Ubuntu 16.04 双启动了我的 lenovo ideapad 310。但从那时起,我的 grub 菜单就没有显示 Windows 10。在安装 Ubuntu 之前,我尝试进入 BIOS,但无法做到。联想社区论坛建议我重新启动(而不是关闭)Windows,然后在重新启动时打开 BIOS。它成功了,我更改了启动顺序并安装了 Ubuntu。
现在我想提几点
- 两种操作系统均在传统支持模式下安装。
- 我可以在 ubuntu 中查看和安装 Windows 分区。
- 我已经使用过启动修复但是没有效果。
以下是一些命令的输出
sudo update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.4.0-77-generic
Found initrd image: /boot/initrd.img-4.4.0-77-generic
Found linux image: /boot/vmlinuz-4.4.0-21-generic
Found initrd image: /boot/initrd.img-4.4.0-21-generic
Found FreeDOS on /dev/sda1
done
sudo fdisk -l
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xd9fa2484
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 2050047 2048000 1000M b W95 FAT32
/dev/sda2 2052094 929521663 927469570 442.3G f W95 Ext'd (LBA)
/dev/sda3 929521664 1951702742 1022181079 487.4G 7 HPFS/NTFS/exFAT
/dev/sda4 1951703040 1953519615 1816576 887M 27 Hidden NTFS WinRE
/dev/sda5 2052096 75505220 73453125 35G 83 Linux
/dev/sda6 75507712 179953663 104445952 49.8G 83 Linux
/dev/sda7 179955712 188342271 8386560 4G 82 Linux swap / Solaris
/dev/sda8 188344320 929521663 741177344 353.4G 7 HPFS/NTFS/exFAT
Partition 2 does not start on physical sector boundary.
Partition table entries are not in disk order.
/dev/sda5
我的 ubuntu 根目录是
/dev/sda6
这是我在 ubuntu 的家
/dev/sda8
是额外的空间
/dev/sda1
我猜是 FreeDos,但我不确定。
以下是由我生成的启动信息摘要boot-repair
答案1
看起来 grub 正在将处于打开状态的 Windows 引导加载程序识别/dev/sda1
为 FreeDOS。您实际安装的 Windows 处于打开状态/dev/sda3
,并且/dev/sda1
您将只拥有 Windows 自己的引导加载程序。我不知道为什么它会被检测为 FreeDOS,但这显然是正在发生的事情。
因此,只需启动 FreeDOS,您就应该启动 Windows。如果您想更改名称,请编辑/boot/grub/grub/cfg
,找到以 FreeDOS 开头并提及 FreeDOS 的行menuentry
,然后将该行更改为 Windows。它应该看起来像这样(不完全像这样,这只是一个例子,细节会有所不同;只需更改引号内的文本):
menuentry "Windows 7 BIOS MBR" {
insmod part_msdos
insmod chain
drivemap hd0 hd1
chainloader (hd1,msdos2)+1
}
答案2
是的,实际上 dev/sda1 是您之前安装的 Windows,但系统将其识别为 Free dos。因此在 Ubuntu 中只需输入 sudo os-prober 即可确认。之后只需输入 sudo update-grub 并重新启动 PC。然后从 free dos 加载它。