我试图在安装 Windows 10 后恢复 grub。我尝试从 Ubuntu Live USB 进行 BootRepair,但没有任何反应。所以我转向手动方式,但当我尝试使用
sudo mount /dev/sda4 /mnt
我收到以下错误
mount: /dev/sda4 is not a valid block device
发生了什么?Windows 10 安装损坏了我的 Ubuntu 分区?
非常感谢
更新1:
我运行 lsblk(感谢 the_Seppi),这是命令输出
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 298.1G 0 disk
├─sda1 8:1 0 100M 0 part
├─sda2 8:2 0 97.7G 0 part
├─sda3 8:3 0 121.5G 0 part
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 7.6G 0 part [SWAP]
sdb 8:16 1 7.5G 0 disk
└─sdb1 8:17 1 7.5G 0 part /cdrom
sr0 11:0 1 1024M 0 rom
loop0 7:0 0 1.1G 1 loop /rofs
另外,这是我的 fdisk -l
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 206847 204800 100M 7 HPFS/NTFS/exFAT
/dev/sda2 206848 205006847 204800000 97.7G 7 HPFS/NTFS/exFAT
/dev/sda3 205006848 459859967 254853120 121.5G 7 HPFS/NTFS/exFAT
/dev/sda4 459864062 625141759 165277698 78.8G 5 Extended
/dev/sda5 609142784 625141759 15998976 7.6G 82 Linux swap / Solaris
/dev/sda4 肯定是我的 Ubuntu 分区,因为我可以互相排除。但是 lsblk 输出中的 1k 大小似乎出了什么问题!
答案1
总结:您的计算机上没有安装 Ubuntu 或者分区表不完整或损坏。
在您的分区列表中,sda4 被列为扩展分区。这意味着它实际上并不是一个“真正的”分区,而是作为子分区的容器。这样做是因为 MBR 磁盘只能有 4 个主分区。通过这样做,可以通过在扩展分区内创建子分区来创建 4 个以上的分区。
另外,在分区列表中,您可以看到分区的开始和结束位置。扩展分区从扇区 459864062 开始,到扇区 625141759 结束。
如您所见,只有一个分区的边界介于这两个值之间:交换分区,其大小为 7.6GiB,位于扩展分区的最末端。所有其他分区都在此范围之外。
因此,您有 3 个主 NTFS 分区和一个扩展分区,其中仅包含一个交换分区。没有可以容纳 Linux 安装的分区;您的计算机上没有安装 Ubuntu。
或者你确实这样做了,而 Windows 安装程序从分区表中删除了该分区;在这种情况下,你应该能够恢复分区条目,例如按照给出的说明这里
答案2
好的,我使用 TestDisk 解决了 -http://www.cgsecurity.org/wiki/TestDisk。它检测到我的 Linux 分区(有,该死的 Windows!)并将其设置为主分区和可启动分区,从而恢复了我的 Ubuntu 安装和 Grub 启动选择。
非常感谢!