我有一个 Debian 7 Wheezy(稳定版本),我的 GRUB 突然拒绝查看我的一个分区。它是 GPT 磁盘上的 OS X HFS+ 分区。
此行为是在大约一个月内出现的,它是由于 Debian 或 OS X 的例行更新引起的。错误是/usr/sbin/grub-probe: error: unknown filesystem
。
以下是输出的摘录:
user@wheezy:~$ sudo update-grub
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-3.2.0-4-amd64
Found initrd image: /boot/initrd.img-3.2.0-4-amd64
rmdir: failed to remove `/var/lib/os-prober/mount': Device or resource busy
rmdir: failed to remove `/var/lib/os-prober/mount': Device or resource busy
rmdir: failed to remove `/var/lib/os-prober/mount': Device or resource busy
rmdir: failed to remove `/var/lib/os-prober/mount': Device or resource busy
rmdir: failed to remove `/var/lib/os-prober/mount': Device or resource busy
rmdir: failed to remove `/var/lib/os-prober/mount': Device or resource busy
rmdir: failed to remove `/var/lib/os-prober/mount': Device or resource busy
rmdir: failed to remove `/var/lib/os-prober/mount': Device or resource busy
rmdir: failed to remove `/var/lib/os-prober/mount': Device or resource busy
rmdir: failed to remove `/var/lib/os-prober/mount': Device or resource busy
grub-probe: error: unknown filesystem.
rmdir: failed to remove `/var/lib/os-prober/mount': Device or resource busy
Found Windows 8 (loader) on /dev/sda2
Found Windows 8 (loader) on /dev/sda3
Found Debian GNU/Linux (7.8) on /dev/mapper/altwheezy_vg-main_lv
/usr/sbin/grub-probe: error: unknown filesystem.
Found Debian GNU/Linux (7.8) on /dev/mapper/altwheezy_vg-main_lv_snapshot
done
user@wheezy:~$
如您所见,还有一个/usr/sbin/grub-probe: error: unknown filesystem
错误被多次打印。
我的电脑上有两个 Debian Wheezy,我都试过了。但都无济于事。我甚至尝试过从测试存储库,但错误仍然存在。
我想知道我的 Linux 是否突然无法看到 GPT HFS+ 分区或它的类型,但事实并非如此,因为我已经安装了所有必要的软件包(hfsplus
、、),看到了它,看到了它并且文件系统类型正确,但看不到它。hfsprogs
hfsutils
gparted
gdisk
grub
在 OS X 方面,我已经使用磁盘实用程序检查了 OS X 本身的分区,并没有报告任何错误。
请问有人告诉我我应该检查什么来确定问题的性质。
答案1
我终于明白了。
完全没有必要让 GRUB 查看所有文件系统。您可以指示 GRUB 绕过所有操作,并链负载下一个引导加载程序(我的情况是 Chameleon)。所以我最终得到了这个/etc/grub.d/40_custom
:
menuentry "OS X" --class macosx --class os {
insmod part_gpt
insmod hfsplus
set root='(hd2)'
chainloader +1
}