我从 Squeeze 升级到 Wheezy,没有出现任何问题。但升级到 Jessie 后,系统无法再启动(使用 LILO)。
LILO
ERROR: Duplicated Volume ID
O 24.1 Loading Linux ....(snip)
BIOS data check successful
Loading, please wait
[ 14.948425] end_request: I/O error, dev fd0, sector 0
mdadm: /dev/md3 has been started with 1 drive (out of 2).
[ 27.196906] end_request: I/O error, dev fd0, sector 0
...剪断
modprobe: module unknown not found in modules.dep
fsck from util-linux 2.25.2
mount: mounting /dev/root on /root failed: No such file or directory
...ETC。
我进入 (initramfs) 提示符
当我尝试列出其中一个 RAID 磁盘的分区时,它们没有显示。
(initramfs) ls /dev/sda*
/dev/sda
检查磁盘说
(initramfs) mdadm --examine /dev/sda
/dev/sda:
Magic : Intel Raid ISM Cfg Sig.
虽然板载 RAID 控制器在 BIOS 中被禁用。当我使用 KNOPPIX (7.0.5) 访问磁盘时,我可以毫无问题地访问和同步分区(sda1、sdc1)。所以我猜:
- RAID 磁盘是在过去使用板载 RAID 控制器创建的
- 由于 debian 不支持 ICH9 芯片组,因此 BIOS 中禁用了对此的支持
- Jessie 似乎不仅查看分区的超级块,还查看磁盘的超级块,并且失败,因为它们是相同的?
我应该如何解决这个问题?
- 在 BIOS 中启用 ICH9 raid 重新同步磁盘吗?系统会启动吗?
- 使用磁盘上的 mdadm 将超级块清零
答案1
最后我自己找到了解决方案。因此,对于遇到类似问题的任何人:
首先,我使用 live CD 对不工作的 raid 磁盘进行了完整的磁盘转储。
dd if=/dev/sda bs=10M | gzip -1 > /some/backup/drive/sda.img.gz
dd if=/dev/sdc bs=10M | gzip -1 > /some/backup/drive/sdc.img.gz
我重新启动并从 Intel Raid util 中的阵列中删除了两个磁盘(BIOS 之后)。然后我用 live CD 再次启动。
dmraid 自动启动磁盘raid。所以我不得不停用它
dmraid -an
然后我检查了分区的状态
mdadm --examine /dev/sda1
mdadm --examine /dev/sdc1
sda 磁盘的超级块错误。我修复了它并激活了突袭。
mdadm --zero-superblock /dev/sda1
mdadm -A --run /dev/md0 /dev/sdc1
mdadm -add /dev/md0 /dev/sda1