昨晚,我尝试将我的电脑从 Debian 7, Wheezy(现在是稳定版)更新到 Debian 8, Jessie(现在是稳定版)。重新启动后,系统在启动后 0.267166 分钟崩溃,告诉我找不到硬盘。整个操作系统位于单个软件 RAID 磁盘上,这不是我的第一选择,它跨越 Raid 0 系统中的两个 250GB 硬盘。这在 Wheezy 中有效,但自从我尝试更新到 Jessie 后就不起作用了。
GRUB 配置为:
setparams 'Debian GNU/Linux'
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod part_msdos
insmod diskfilter
insmod mbraid1x
insmod ext2
set root='mduuid/d9fbcc87d121184a2fb58c97c2be2174'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='mduuid/d9fbcc87d121184a2fb58c97c2174' 0369663c-69ae-4f58-9496-30525afc47d2
else
search --no-floppy --fs-uuid --set=root 0369663c-69ae-4f58-9496-30525afc47d2
fi
echo 'Loading Linux 3.16.0-4amd64 ...'
linux /boot/vmlinz-3.16.0-4-amd64 root=UUID=0369663c-69ae-4f58-9496-30525afc47d2 ro quiet
echo 'Loading initial ramdisk ...'
intrd /boot/intrd.img-3.16.0-4-amd64
它响应它无法从 hd0 读取。然后它会转到标准输出(黑白终端),其中包含大量错误和调试信息,包括调用堆栈跟踪和内核恐慌错误,表明它无法挂载位于块(0,0)的文件系统。
我想知道的是如何解决这个问题?看来raid阵列没有初始化。如果无法修复此问题,是否最好为 Jessie 进行全新安装,或者它是否不像他们所说的那么稳定,从而更好地进行 Wheezy 的全新安装?如果我必须进行全新安装,我将不会再次使用软件 RAID。
答案1
由于某种原因,您的 initramfs 无法启动 RAID 阵列。这可能意味着它只是没有配置,或者它以某种方式生成错误。由于您可以从恢复磁盘启动,因此您可以使用以下命令轻松更改设置并重新生成它:
dpkg-reconfigure mdadm
。应该询问您在 initramfs 中启动哪些数组,您至少需要在此处拥有您的数组,或者只是全部。update-initramfs -u -a
。这会更新您的所有 initramfses。可能需要一分钟。
最后,如果 grub 还发出警告,dpkg-reconfigure grub-pc
可能会修复它。当提示您安装 grub 的位置时,您很可能想要选择两个都您的磁盘数(例如,/dev/sda
和/dev/sdb
)。这也需要几秒钟的时间。