生命不息,折腾不止。distrowatch排名前15的linux发行版已经被我一一撸过。近一段时间又开始撸其他有特色的活跃发展中的发行版例如OpenMandriva。
不撸不知道,一撸见分晓。排名越靠前的发行版,bug就越少。openmandriva排名靠后,bug一大堆。安装完openmandriva之后,它竟然不能生成grub引导记录到/dev/sda上,只好用archlinux修复盘修复引导,之后openmandriva在grub列表里出现了,但是却无法正常引导,退到了dracut界面。
于是我想起了chroot神器:
mkdir /mnt
mkdir /mnt/openmandriva
mount /dev/sda26 /mnt/openmandriva
chroot /mnt/openmandriva /bin/bash #回到了openmandriva系统的命令界面
dracut --force
还是无法正常引导。
后来发现archlinux的grub.cfg的OpenMandriva条目里linux开头的行是这样写的
linux /boot/vmlinuz-3.15.10-nrjQL-desktop-2omv root=/dev/mapper/live-rw ro quiet splash=silent logo.nologo acpi_osi=Linux video.use_native_backlight=1 locale.lang=en_US.UTF-8 vconsole.keymap=us resume=
将其中的 root=/dev/mapper/live-rw改成root=UUID=d9bdb6ca-4698-4ae0-9802-bd856b58f887就搞定了。
出现问题的原因原来是openmandriva安装之后将U盘当成系统根分区,从而导致grub生成错误造成的。
总结一下:凡是系统安装后无法引导,可以通过下列步骤排查
1,检查/etc/fstab
2,检查/boot/grub.cfg
3,使用上面的chroot利器碰碰运气
4,按照http://www.linux.zone/archives/173的方法重新生成引导