这是我第一次安装 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/
输出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/sda1
1G 并且标记为 BOOT。除非您在该分区上加载了引导加载程序。
如果我们查看您的分区表,我们会发现您有 2 个分区是 NTFS,这是 Windows 使用的格式。您有/dev/sda2
和/dev/sda5
。通过挂载它们找出其中哪一个是带有 Windows 安装的分区。一旦您找出哪一个带有 Windows 安装,您就可以在其上设置启动标志:作为带有 Windows 安装的分区号,您有 2 和 5 可用。
我们可以先将它们两个都安装起来,一次安装一个,然后检查它们的内容。
我知道您已经提到过您的文件已经在里面,/dev/sda2
但是我正在为拥有不同文件的人写这些说明。
mkdir ~/MOUNT
/home/user/MOUNT
<- 这将创建一个临时目录,以便我们将分区挂载到您的主文件夹中。因此,您可以通过文件管理器 GUI 浏览此文件夹的路径。sudo mount -t ntfs -o uid=user,gid=user /dev/sda2 ~/MOUNT
<- 这会将第二个分区作为 NTFS 挂载到我们刚刚创建的目录中。同时将其作为您当前的用户名挂载,这样您就可以自由浏览它。如果没有为您的用户添加uid
和或,它将作为并且只能浏览它挂载。gid
root
root
- 如果命令完成且没有错误,您应该能够从文件管理器浏览目录并检查它是否包含您的 Windows 安装。
sudo umount /dev/sda2
<- 这将卸载您的分区。
/dev/sda5
现在,如果/dev/sda2
不是安装 Windows 的位置,请重复相同的步骤(1-4) 。
在进行任何更改之前,让我们先更新 grub,然后重新启动,看看是否有帮助(参见#5)。
现在您已经确定了哪个分区安装了 Windows,并且之前更新 grub 没有效果,您可以尝试在 Windows 分区上手动设置启动标志。
sudo fdisk /dev/sda
- 在菜单中,按下
a
,系统会询问要添加哪个分区作为启动标志。无论您发现哪个分区安装了 Windows,您输入的号码都是该分区的号码。 - 一旦做出了选择,您可以按打印出当前分区表,并确保您输入的分区已在列
P
中标有。*
Boot
- 一旦您验证了一切正确,您就可以按将
w
更改写入分区表并退出。 - 现在我们需要使用
sudo update-grub
或来更新 grubsudo update-grub2
,具体取决于您使用的 grub 版本。
如果您需要更多帮助请告知我们!