opensuse 引导光驱位硬盘上面系统问题
由于从grub2界面选择位于光驱位的机械硬盘上系统启动时,发现总是 error: no such device: xxxx(i.e., UUID value). error: hd1 cannot get CHS values. error: you need to load the kernel first.
后来逐渐发现这可能是没有加载ahci驱动的问题。于是在相应启动项前面加上 insmod ahci,结果问题发生变化,不能找到'hd0,msdos3'。明明之前还可以的,赶紧试试主硬盘上面的启动项,发现还是这个问题,最后发现在所有启动项上面尝试都是这个问题,只有重启才没事。于是猜测:可能加载了ahci后主硬盘的名称变了。
于是将 insmod ahci 放到所有 insmod 后面,发现还是这样。仔细看发现中间有个if判断,可能这个if判断与主硬盘有关,于是将之放到 if 里面 search 项目前面,结果搞定!
接下来要思考的就是如何设置 grub 默认加载 ahci 驱动。这才是解决之道。目前没有省力的解决办法,只能修改 /boot/grub2/grub.cfg,在相应位置加上 insmod ahci,升级内核、更新 grub.cfg 都得重新手动修改。