我有两个SSD磁盘,我想将它们放入软件镜像RAID中。
但无论我做什么,OpenSuSe 安装都会不断告诉我,由于分区方案,他将无法安装引导加载程序。
我应该如何对磁盘进行分区?另外,我应该在袭击中使用什么块大小?
我尝试了以下方法:
ssd1 -> FAT EFI (256MB)
-> Raid 1/2 mirror swap (4GB)
-> Raid 1/2 mirror LVM (~50GB)
ssd2 -> empty (256MB)
-> Raid 2/2 mirror swap (4GB)
-> Raid 2/2 mirror LVM (~50GB)
LVM -> root (25GB)
-> home (~25GB)
答案1
显然有几个问题和几种方法来处理这个问题。
EFI 应该能够处理 RAID 分区,但仅限元数据 <= 1.0
较新版本的元数据存储在分区的开头(搞乱了文件系统检测)。
安装后/boot
集成即可,/boot
无需额外分区。/boot/efi
我最终做的是这样的(两个磁盘,RAID 1):
- 创建一个具有非 raid、非 lvm 的布局
/boot/efi
- 在另一个磁盘上创建一个空的副本(相同大小)
- 创建一个
/boot
非lvm(可以raid) - 创建其他分区(根、主分区、交换分区等...)
- 让安装完成它的工作
- 克隆
/boot/efi
使用dd
dd if=/dev/sda1 of=/dev/sdb1
- 为克隆添加 efi 记录
efibootmgr -c -g -d /dev/sdb -p 1 -L "opensuse" -l '\EFI\opensuse\grubx64.efi'
- 使用
efibootmgr --bootorder
更改启动顺序,以便两个 opensuse (或任何您的发行版)记录彼此相邻
答案2
我对 SUSE 不太熟悉,但我认为引导分区始终必须位于 lvm 之外。
内核加载 lvm 模块,然后可以访问 lvm 磁盘,但之前不能。所以你需要在lvm之外有一个500MB的/boot分区来保存内核镜像。
据我所知,您需要一个特殊的引导管理器才能从 EFI 引导:
我不确定这对您是否有帮助,我只找到了一些关于启动管理器以及相应的联机帮助页手动 efibootmgr。
.到目前为止我一直避免使用EFI并更改为普通BIOS
答案3
我不知道任何关于软件 RAID1 上的 ESP 的现有建议;最近在 ALT Linux 论坛上被问到“假设”时,我建议在每个磁盘上放置一个单独的 ESP,如果确实需要 UEFI 方式,则手动维护冗余,或者只是采用 BIOS 方式。
您的设置看起来很合理,因此值得针对 YaST 引导加载程序设置模块提交错误(如果您这样做,请在此处提供链接);同时您可以尝试跳过引导加载程序安装并安装它用手启动一些支持 UEFI 的救援映像时(例如这个如果现有的由于某种原因无法使用)。
@itconlor:GRUB2 可以启动 LVM但UEFI 固件期望 EFI 系统分区是一个“简单”分区具体类型(请参阅“EFI 磁盘结构”)。