我将 Ubuntu 18.04 与我的 Windows 10 一起安装在单独的外部驱动器上。 Ubuntu 安装成功,但我无法再启动 Windows 10,甚至无法从 BIOS 使用引导覆盖。这些文件似乎完好无损,因为我可以安装驱动器并查看文件。它也不会出现在 GRUB 菜单中。
我已经尝试过GRUB给出的解决方案没有检测到 Windows,但是 os-prober 没有找到我的 Windows 安装。lsblk
显示分区,但没有/boot/efi
如下结果所示。
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 14,8M 1 loop /snap/gnome-characters/296
loop1 7:1 0 3,7M 1 loop /snap/gnome-system-monitor/100
loop2 7:2 0 65,9M 1 loop /snap/discord/101
loop3 7:3 0 42,8M 1 loop /snap/gtk-common-themes/1313
loop4 7:4 0 181,1M 1 loop /snap/spotify/36
loop5 7:5 0 136,9M 1 loop /snap/code/20
loop6 7:6 0 4M 1 loop /snap/gnome-calculator/406
loop7 7:7 0 1008K 1 loop /snap/gnome-logs/61
loop8 7:8 0 149,9M 1 loop /snap/gnome-3-28-1804/67
loop9 7:9 0 88,5M 1 loop /snap/core/7270
loop10 7:10 0 54,4M 1 loop /snap/core18/1066
sda 8:0 0 931,5G 0 disk
├─sda1 8:1 0 128M 0 part
└─sda2 8:2 0 931,4G 0 part
sdb 8:16 0 232,9G 0 disk
├─sdb1 8:17 0 450M 0 part
├─sdb2 8:18 0 99M 0 part
├─sdb3 8:19 0 16M 0 part
├─sdb4 8:20 0 231,8G 0 part
└─sdb5 8:21 0 517M 0 part
sdc 8:32 0 931,5G 0 disk
└─sdc1 8:33 0 931,5G 0 part /
为什么我无法启动 Windows 10?
编辑:正如 Paul Benson 所建议的,这里是输出grep -i -A10 windows /boot/grub/grub.cfg
:
$ grep -i -A10 windows /boot/grub/grub.cfg
menuentry "Windows 10" {
set root='{hd0,1}'
chainloader + 1
}
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
并且sudo fdisk -l|grep -A4 /dev/sd
:
Partition 1 does not start on physical sector boundary.
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: gpt
--
/dev/sda1 34 262177 262144 128M Microsoft reserved
/dev/sda2 264192 1953523711 1953259520 931,4G Microsoft basic data
Disk /dev/sdb: 232,9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
--
/dev/sdb1 2048 923647 921600 450M Windows recovery environment
/dev/sdb2 923648 1126399 202752 99M EFI System
/dev/sdb3 1126400 1159167 32768 16M Microsoft reserved
/dev/sdb4 1159168 487335654 486176487 231,8G Microsoft basic data
/dev/sdb5 487335936 488394751 1058816 517M Windows recovery environment
Disk /dev/sdc: 931,5 GiB, 1000170586112 bytes, 1953458176 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
--
/dev/sdc1 * 2048 1953456127 1953454080 931,5G 83 Linux
Disk /dev/loop8: 149,9 MiB, 157184000 bytes, 307000 sectors
Units: sectors of 1 * 512 = 512 bytes
第一次使用 Windows/Ubuntu 设置双引导时的一个常见问题是,您发现只能引导到一个系统或另一个系统,在这种情况下是 Ubuntu。造成这种情况的原因可能有多种,但我见过的最常见的一种情况是,每个系统都使用 2 个磁盘分别安装,一个磁盘格式化为 DOS,另一个格式化为 GPT。
如果在 Ubuntu 或 Live Ubuntu 中启动,首先要做的是检查您的分区。运行sudo fdisk -l|grep -A4 /dev/sd
它不仅会显示存储在分区上的所有详细信息,还会显示磁盘是在 GPT 还是 DOS(这是磁盘分区排列方式的旧 MBR 格式)中格式化的。
在这里我们知道计算机正在以 Legacy Bios 模式运行,但对于 Windows 10,我们将磁盘sdb格式化为 GPT。这两个状态不兼容。安装在 GPT 磁盘上的 W10 必须在 UEFI 模式下运行,否则将无法识别磁盘。但是这里的Ubuntu在sdc磁盘上设置的是DOS磁盘格式。就其本身而言,即使在 UEFI BIOS 中运行也不会导致问题。但是对于双启动,一个磁盘为 DOS,另一个磁盘为 GPT 格式,通常最终只允许用户启动到一个系统。
因此,最好的解决方案是将 Ubuntu DOS 磁盘转换为 GPT,因为它是更现代的格式,允许创建 4 个以上的主分区(DOS 限制为 4 个)。这确实意味着重新安装 Ubuntu,因为将磁盘转换为 GPT 会擦除其上的所有内容。将 Windows 磁盘改回 DOS 格式并在旧系统的 Legacy BIOS 中运行以及重新安装 W10 所增加的复杂性是没有意义的,这更复杂,需要更长的时间才能实现。
为此,请准备好 Live Ubuntu USB 驱动器。如果在 Legacy BIOS 中,则进入 BIOS 并将其切换到 UEFI。然后启动到您的 USB 并运行 Gparted。如果显示为包含 Ubuntu 安装的磁盘,请选择 sdc。您现在要将 sdc 转换为 GPT 驱动器。单击设备选项卡->创建分区表。选择 GPT。现在将擦除 sdc 上的所有内容。然后重新安装 Ubuntu,在 sdc 上创建 2 个主要的 ext4 分区,一个用于 Root,另一个用于 Home,然后继续安装,然后重新启动。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句