在我的 lubuntu 13.10 上,我创建了一个降级的 RAID 阵列,复制了“主”磁盘的所有内容并尝试从该阵列启动。我主要关注的是这些说明。
启动时系统无法识别根分区 ( ALERT! /dev/disk/by-uuid/THE-ROOT-ARRAY-ID does not exist
)。我blkid
从 initramfs shell 执行,并且 raid 阵列未列出。
更新:
也cat /proc/mdstat
没有ls /dev/md*
给我任何结果。我也尝试手动将raid1
模块添加到/etc/initramfs-tools/modules
,但什么也没有。即使在正常启动期间,Raid 阵列也不会组装:我停止了它在 grub 的主菜单项中编辑根 UUID。
请注意,如果操作系统正常启动,则会组装数组。此外,我可以在 initramfs shell 中组装数组,手动安装根分区并执行
/mnt/sbin/mdadm --assemble --scan
旧信息(可能没用):
所以我检查是否使用正确的 raid 模块加载
sudo update-initramfs -u -k all -v > ~/initout.txt
cat ~/initout.txt | grep raid
这是结果:
Adding module /lib/modules/3.11.0-13-generic/kernel/lib/raid6/raid6_pq.ko
Adding module /lib/modules/3.11.0-13-generic/kernel/drivers/scsi/raid_class.ko
Adding module /lib/modules/3.11.0-13-generic/kernel/drivers/scsi/aacraid/aacraid.ko
Adding module /lib/modules/3.11.0-13-generic/kernel/drivers/scsi/megaraid.ko
Adding module /lib/modules/3.11.0-13-generic/kernel/drivers/scsi/megaraid/megaraid_mm.ko
Adding module /lib/modules/3.11.0-13-generic/kernel/drivers/scsi/megaraid/megaraid_sas.ko
Adding module /lib/modules/3.11.0-13-generic/kernel/drivers/scsi/megaraid/megaraid_mbox.ko
Adding module /lib/modules/3.11.0-13-generic/kernel/drivers/scsi/pmcraid.ko
[...]
似乎/lib/modules/3.11.0-13-generic/kernel/drivers/md/raid1.ko
没有添加正确的 raid 模块。这是我的/etc/mdadm.conf
文件的内容:
DEVICE /dev/sda* /dev/sdb*
ARRAY /dev/md/root metadata=1.2 name=root-array UUID=0e3ae751:5bca2767:a0de084c:c92033b1
ARRAY /dev/md/win metadata=1.2 name=win-array UUID=3c03111e:2658df20:2a8aba2d:e6ade522
ARRAY /dev/md/boot metadata=1.2 name=boot-array UUID=ab40adc4:20238d93:29ee1ab5:22608d05
ARRAY /dev/md/home metadata=1.2 name=home-array UUID=13768370:b8b8d4f4:aef53340:64626427
ARRAY /dev/md/swap metadata=1.2 name=swap-array UUID=fea8ebfd:b2c87eb2:4d8642d5:5adbb6e0
我也尝试过移动它,/etd/mdadm/mdadm.conf
但没有成功。
答案1
我已经找到问题了。我从源代码安装并编译,mdadm
而不是从存储库安装它,因为我不确定存储库版本是否很好地支持 grub。
似乎mdadm
不支持自动包含 initramfs mdadm
,但它留给了发行版维护者。
我手动删除它并重新安装 repo 版本,现在一切正常。