我有 W10/Ubuntu 18 双启动,两个系统都在一个 SSD 上(启动 BIOS,而不是 UEFI)最近的 W10 更新弄乱了我的分区,我得到了 grub 救援屏幕。我能够使用 parted 救援恢复 linux 分区来修复它。之后我能够启动,选择 W10,它成功完成了更新过程。之后我能够在 Ubuntu 中启动,但有一个小问题 - “没有符号表”
我跑
sudo grub-install /dev/sda
sudo update-grub
它修复了 Linux 启动问题,但是现在当我从 grub 菜单中选择我的 W10 时,它只会重新启动并返回到 grub 菜单。
这是我的磁盘分区:
~$ sudo parted /dev/sda print
Model: ATA Samsung SSD 850 (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary ntfs
2 106MB 144GB 144GB primary ntfs boot
3 144GB 144GB 543MB primary ntfs diag
4 144GB 256GB 112GB extended
6 144GB 248GB 104GB logical ext4
5 248GB 256GB 8210MB logical linux-swap(v1)
我的 W10 是 3 号,我ls (hd0,msdos2)/
在 grub 中确认了这一点
我在 W10 部分的 grub.cfg 中看到的内容:
menuentry 'Windows 10 (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-68349BA7349B7732' {
savedefault
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 68349BA7349B7732
else
search --no-floppy --fs-uuid --set=root 68349BA7349B7732
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}
这似乎是错误的,因为它指向 hd0,msdos1 小的保留分区,W10 分区的 UUID 是 86CA9C8FCA9C7CDD,它是 hd0,msdos2 (/dev/sda2)
我尝试重新运行 os-prober 和 update-grub,但没有任何变化。请帮助我恢复从 grub 菜单启动的 W10,在此先谢谢了。
答案1
启动修复状态:
=================== Suggested repair
The default repair of the Boot-Repair utility would reinstall the grub2 of
sda6 into the MBR of sda.
Additional repair would be performed: unhide-bootmenu-10s fix-windows-boot
选择建议修复修复 Windows 启动的选项: