![Ubuntu 分区未知,无法挂载或更新 grub](https://linux22.com/image/976029/Ubuntu%20%E5%88%86%E5%8C%BA%E6%9C%AA%E7%9F%A5%EF%BC%8C%E6%97%A0%E6%B3%95%E6%8C%82%E8%BD%BD%E6%88%96%E6%9B%B4%E6%96%B0%20grub.png)
断电后,出现以下错误:
error: unknown filesystem
grub rescue>
我使用实时 USB 运行了 Ubuntu 修复。日志可以在这里
这个 grub 消失后(我无法选择要启动哪个操作系统),默认情况下我现在启动 Windows。我在 Linux 上运行一个重要的应用程序,但我无法启动 Linux。
然后我编辑了 grub 文件并尝试更新 grub,但它显示:
failed to get canonical path of /cow
下一个选项是
sudo mount /dev/sda5 /mnt
但是我收到错误:mount: you must specify the filesystem type
我不知道文件系统类型,因为我没有在这台特定的机器上进行安装。
我也试过了
cat /etc/fstab
,但它没有显示 sda5,使用命令也无法看到它blkid
。从 GUI(因为我已经从实时 USB 启动了系统),我可以看到分区 5 具有未知类型。
更新:fsck -a -t ext4 /dev/sda5
立即出现以下错误:
来自 util-linux 2.20.1 fsck.ext4 的 fsck:尝试打开 /dev/sda5 /dev/sda5 时超级块中的魔数错误:无法读取超级块或未描述有效的 ext2/ext3/ext4 文件系统。
如果设备有效并且确实包含 ext2/ext3/ext4 文件系统(而不是 swap 或 ufs 或其他东西),则超级块已损坏,您可以尝试使用备用超级块运行 e2fsck:e2fsck -b 8193 或 e2fsck -b 32768
答案1
测试一下:
您必须从 live-dvd/usb 启动。
打开一个终端。
运行:
sudo -i
fsck -a -t ext4 /dev/sda5
mount /dev/sda5 /mnt
mount --bind /dev /mnt/dev
mount --bind /dev/pts /mnt/dev/pts
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
grub-install --root-directory=/mnt /dev/sda
update-grub
umount /mnt
reboot
答案2
根据救援日志和你的评论sda5(您的 Linux 分区)上的文件系统头严重损坏。您可能能够从备份超级块中恢复,如输出中所述fsck
(来自实时系统正如 kyodake 所述):
sudo e2fsck -b 32768 /dev/sda5
如果这不起作用,文件系统可能无法修复。如果你有重要数据,你可以尝试使用数据恢复工具来挽救它,例如如社区帮助中所述。