双启动:安装后 Ubuntu 无法检测到 Windows 10(旧版)

双启动:安装后 Ubuntu 无法检测到 Windows 10(旧版)

这是我第一次安装 Ubuntu,我真的需要您的帮助。

我的笔记本电脑上安装了 Windows 10(BIOS Legacy),并决定通过 USB 与 Ubuntu 16.4 进行双启动,不使用 EFI(UEFI),而是再次使用传统安装。

将我的 C: 分区缩小 50GB 后,我重新启动了 Windows 几次,禁用了快速启动并在 C: 上运行了 chkdsk。

后来打开 Ubuntu 安装程序时,我只能看到“与 FreeDOS 一起安装 Ubuntu”,而不是“Windows 10”,所以安装程序无法检测到 Windows,但是我真傻,我以为当我安装 Ubuntu 时这个问题会自行解决。

我决定使用“其他”选项,为交换分配 2GB,为根分配 48GB。

现在,当启动我的笔记本电脑时,我可以选择 Ubuntu、FreeDOS 和 Windows 恢复环境(如果我选择它则不会启动 Windows,而只显示“一键恢复分区已损坏,因此不要启动主应用程序”并且我认为这个加载器在那里是因为我的笔记本电脑是联想的,他们有这些一键恢复选项)。

我应该提到,我可以从安装了 Windows 的分区“C:”(/sda2) 中的 Ubuntu 访问我的所有文件,所以我猜我应该能够再次启动 Windows。

这是运行启动修复后的日志:http://paste.ubuntu.com/25594317/

Grub 定制器的屏幕截图

输出sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL

NAME   FSTYPE   SIZE MOUNTPOINT                         LABEL
sr0            1024M                                    
sda           931,5G                                    
├─sda4 ntfs    1000M                                    PBR_DRV
├─sda2 ntfs     150G /media/blaskowitz/F05A1F705A1F32B8 
├─sda7 ext4    48,1G /                                  
├─sda5 ntfs   729,6G                                    Local Disk
├─sda3            1K                                    
├─sda1 vfat    1000M                                    
└─sda6 swap     1,9G [SWAP] 

输出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          2050048  316624895  314574848   150G  7 HPFS/NTFS/exFAT
/dev/sda3        316626942 1951475711 1634848770 779,6G  f W95 Ext'd (LBA)
/dev/sda4       1951475712 1953523711    2048000  1000M  2 XENIX root
/dev/sda5        421484544 1951475711 1529991168 729,6G  7 HPFS/NTFS/exFAT
/dev/sda6        316626944  320624639    3997696   1,9G 82 Linux swap / Solaris
/dev/sda7        320626688  421480447  100853760  48,1G 83 Linux

Partition 3 does not start on physical sector boundary.
Partition table entries are not in disk order.

答案1

我刚刚查看了我的分区表,似乎您的 Windows 操作系统分区的启动标志已被删除。查看您发布的内容,启动*只有/dev/sda11G 并且标记为 BOOT。除非您在该分区上加载了引导加载程序。

如果我们查看您的分区表,我们会发现您有 2 个分区是 NTFS,这是 Windows 使用的格式。您有/dev/sda2/dev/sda5。通过挂载它们找出其中哪一个是带有 Windows 安装的分区。一旦您找出哪一个带有 Windows 安装,您就可以在其上设置启动标志:作为带有 Windows 安装的分区号,您有 2 和 5 可用。

我们可以先将它们两个都安装起来,一次安装一个,然后检查它们的内容。

我知道您已经提到过您的文件已经在里面,/dev/sda2但是我正在为拥有不同文件的人写这些说明。

  1. mkdir ~/MOUNT/home/user/MOUNT<- 这将创建一个临时目录,以便我们将分区挂载到您的主文件夹中。因此,您可以通过文件管理器 GUI 浏览此文件夹的路径。
  2. sudo mount -t ntfs -o uid=user,gid=user /dev/sda2 ~/MOUNT<- 这会将第二个分区作为 NTFS 挂载到我们刚刚创建的目录中。同时将其作为您当前的用户名挂载,这样您就可以自由浏览它。如果没有为您的用户添加uid和或,它将作为并且只能浏览它挂载。gidrootroot
  3. 如果命令完成且没有错误,您应该能够从文件管理器浏览目录并检查它是否包含您的 Windows 安装。
  4. sudo umount /dev/sda2<- 这将卸载您的分区。

/dev/sda5现在,如果/dev/sda2不是安装 Windows 的位置,请重复相同的步骤(1-4) 。

在进行任何更改之前,让我们先更新 grub,然后重新启动,看看是否有帮助(参见#5)。

现在您已经确定了哪个分区安装了 Windows,并且之前更新 grub 没有效果,您可以尝试在 Windows 分区上手动设置启动标志。

  1. sudo fdisk /dev/sda
  2. 在菜单中,按下a,系统会询问要添加哪个分区作为启动标志。无论您发现哪个分区安装了 Windows,您输入的号码都是该分区的号码。
  3. 一旦做出了选择,您可以按打印出当前分区表,并确保您输入的分区已在列P中标有。*Boot
  4. 一旦您验证了一切正确,您就可以按将w更改写入分区表并退出。
  5. 现在我们需要使用sudo update-grub或来更新 grub sudo update-grub2,具体取决于您使用的 grub 版本。

如果您需要更多帮助请告知我们!

相关内容