我曾是遇到麻烦在启动时组装一个新的 RAID 阵列,在有人回复该帖子之前,我尝试更新 mdadm,但由于所有其他依赖项,这最终花费了很长时间。我的靴子在某个地方弄乱了。我很确定 grub 已更新到 /dev/sda 而不是 RAID 阵列,因为我搞砸了(见下文)。但首先,这是目前正在发生的事情:
我有一个 RAID1 阵列,/dev/md1
安装在/
。我能够启动直到运行更新。现在当我启动时我得到
Gave up waiting for root device. Common problems:
-Boot args (cat /proc/cmdline) #unchanged, I checked
-Check rootdelay= (did the system wait long enough?)
-Check root= (did the system wait for the right device?) #yes, correct UUID
-Missing modules (cat /proc/modules; ls /dev) #think this is my error
ALERT! /dev/disk/by-uui/1d3... does not exist. Dropping to a shell!
然后我就被扔进灰烬里了。 blikd 显示我所有的 HDD 都在那里,并且注册为 raid 成员,但没有 RAID 阵列。
这非常容易修复。我可以跑
mdadm --assemble --scan
这将创建 RAID 阵列,并且 cat/proc/mdstat
显示它们工作正常。然后我只要付出exit
,它就会像冠军一样启动。
问题是我无法让它自动执行此操作。在查找数组之前,它不会尝试组装数组。
我认为发生了什么:当我升级 mdadm 时,系统提示我更新 grub,它告诉我需要选择安装位置,因为 UUID 已更改。我,作为一个白痴,查看了我的 fstab 并误读了一条评论#/ was on /dev/md1 during installation
: .我误以为这是.../dev/sda1...
。就像我说的,白痴(我几乎睡不着觉,忙着整理所有这些东西)。不管怎样,这对我来说似乎很有意义,所以我在提示符中选择了 /dev/sda1 (或者只是 sda,我忘了),然后它就顺利进行了。然后我重新启动,就发生了这种情况。
因此,看来我错误地将 grub 放在不同的分区上,因此从那里启动而不是创建 RAID 阵列然后从 /dev/md1 启动很麻烦。有很多关于这个一般错误的帖子,但它们似乎都与我想做的事情无关。有任何想法吗?
答案1
这个答案roaima提供的解决了这个问题。正如本文中所述,我在使用此解决方案之前已经升级了 mdadm,但我建议尽可能避免这样做,因为它显然会导致其他错误。