![Grub2 w/ RAID5 和 btrfs“错误:未知文件系统”](https://linux22.com/image/613433/Grub2%20w%2F%20RAID5%20%E5%92%8C%20btrfs%E2%80%9C%E9%94%99%E8%AF%AF%EF%BC%9A%E6%9C%AA%E7%9F%A5%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E2%80%9D.png)
我有一台虚拟机(ESXi 5.1)运行 Ubuntu Server 12.04。当我尝试启动系统时,grub2 提示“错误:未知文件系统”。我尝试启动 Live CD,然后从 chrooted 环境和提供 --root-directory 选项重新安装 grub。我甚至尝试过启动修复 CD(结果这里) 并重新安装 grub。无论我用什么来修复它,我都会收到错误“路径 `/boot/grub' 在启动时无法被 GRUB 读取。无法安装。中止。”
更复杂的是,我正在使用 mdadm 和 btrfs 作为文件系统运行 RAID5 阵列(5 个磁盘)。Ubuntu 12.04 附带的 btrfs 工具非常老旧。我已将 ppa:cjwatson/grub(当前为 grub2 版本 2.00-2)和 ppa:yofel/btrfs(当前为 btrfs-tools 版本 0.20~git20130524~650e656-0daily13)添加到我的软件源中以获取更多最新实用程序,但没有任何帮助。在从 4 磁盘 RAID0 设置切换之前,系统之前可以正常工作。我想这可能是升级后的第一次重启,但使用 RAID5 系统运行了数周。
答案1
Grub 实际上无法从 raid 1 或 raid 0 mdadm 设备以外的任何设备启动。您需要在某处添加 /boot 设备,然后在 raid 1/0/raw 中设置它。
我会做这样的事情
{a,b} 下面的 2 个新卷可以进行文件备份,但应位于单独的物理磁盘上。
/dev/sd{a,b}1 mdadm raid 1 /boot (2 new disks (500MB or so))
/dev/sd{c..g}1 mdadm raid 5 / (current disks)