我的根分区是 /dev/md0,我更改了分区和文件系统的大小。现在,当我运行 update-grub 和 install-grub 时,它会失败:
# grub-install /dev/sda
Installing for i386-pc platform.
grub-install: error: unknown filesystem.
# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.4.0-67-generic
Found initrd image: /boot/initrd.img-4.4.0-67-generic
/usr/sbin/grub-probe: error: unknown filesystem.
Found linux image: /boot/vmlinuz-4.4.0-66-generic
Found initrd image: /boot/initrd.img-4.4.0-66-generic
/usr/sbin/grub-probe: error: unknown filesystem.
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done
。
# cat /proc/mdstat
...
md0 : active raid1 sda1[1] sdb1[0]
14553024 blocks [2/2] [UU]
unused devices: <none>
。
# cat /proc/partitions
major minor #blocks name
8 0 39082680 sda
8 1 14553088 sda1
8 16 15646680 sdb
8 17 14553088 sdb1
9 0 14553024 md0
在修复此问题之前,我不敢重启该服务器。有什么建议吗?
答案1
我在 ext4 文件系统(没有 RAID)上遇到了此错误。所以也许你的问题完全不同。但万一它对像我一样登陆这里的其他人有用:
当 ext4 文件系统metadata_csum_seed
启用该功能时,grub-install
将无法工作并报告此grub-install: error: unknown filesystem
错误。
这记录在Debian 错误 866603其中还有针对该问题的简单测试:
grub-probe --target=fs --device /dev/sda1
sda1
如果启用该功能,将会出现同样的错误。
您还可以使用它tune2fs
来检查:
tune2fs -l /dev/sda1 | grep metadata_csum_seed
您可以使用以下命令禁用该功能
tune2fs -O ^metadata_csum_seed /dev/sda1
答案2
当我尝试修复无法启动的 Debian11.6 全新安装时,我遇到了这个“grub-install:错误:未知文件系统”。(Gparted 实时启动盘 (USB) 上的 Gparted 帮助文档建议尝试 grub-install,但它不起作用)在运行 debian 安装程序之前,我使用 gparted 对我的驱动器进行分区和 mkfs。安装的 grub 引导加载程序无法工作 - 它们只是启动到黑屏,并以低分辨率文本显示消息“错误!”。
解决方法:使用 debian 安装程序执行分区和 mkfs(es),而不是使用 gparted。
有人安装 Linux,还有支持团队正在追踪这个问题。也许可以尝试对两种方法设置的“相同”分区进行逐字节比较