我的电脑需要更多空间,因此我想做一些基本的更改。其中之一就是为所有文件设置 RAID,使其更加稳定(我的硬盘刚刚崩溃,所以现在我有点担心)。
旧设置:硬盘上有一个专用根分区和一个启动分区。没什么特别的。其他分区位于 LVM 下(这里无所谓)。
新的(期望的)设置:两个分区/
和/boot
合并为一个分区,并在 RAID5 下进行管理。LVM 将位于另一个 RAID5 下。
我做了什么:我在所有新硬盘上创建了分区:一个用于根 RAID,一个用于交换,一个用于其余部分。我创建了根文件系统并将相关数据复制到那里。我进行了修改以/etc/fstab
使用正确的设备(RAID 分区而不是挂载在 上/boot
)。然后我在grub.cfg
老的系统,这样我就可以启动到新的根目录。只需快速破解即可启动。
现在问题出现了:我重新启动并能够启动新的(基于 RAID 的)根文件系统。我在那里创建了一个update-grub
并在另一个硬盘上安装了 grub。所以现在我可以通过 bios 选择要使用的 grub 版本。如果我选择老的一、基于 RAID 的根文件系统可以加载,一切正常。如果我尝试从新的grub 版本(自动生成,仅使用 RAID 分区中的数据),我最终进入 grub 救援控制台。我收到一些错误,例如:error: No such device ...
。这里插入了 RAID 设备的 UUID。
我的问题是:
- grub 通常可以从 raid 设备加载其数据吗?
- 需要采取什么特殊行动吗?
- 是否可以使用级别和元数据版本?
- 我是否需要一个单独的
/boot
分区来实现正确启动?
谢谢
PS:是debian squeeze系统。
备注:工作 grub 配置和不起作用的配置以供进一步阅读。
答案1
最后我终于让它运行起来了。我必须取消注释该行GRUB_TERMINAL=console
,/etc/default/grub
然后执行update-grub
。我还在GRUB_PRELOAD_MODULES="raid mdraid"
最后添加了(不确定是否需要)。