中标麒麟4.0(centOS7)与Windows双系统无法启动问题解决

电脑安装中标麒麟4.0与Windows双系统,由于中标麒麟4.0与centOS内核相同,故方法均一致,两者都是使用grub2来引导。
因为手贱重新激活了下Windows下的office,导致系统也被“激活”成盗版,且开机无法启动,用winPE修复启动项后,开机只能进入Windows;
我的解决办法是先用启动盘(我用的是U盘)进入linux系统(注意不是安装,只是进入)
执行grub2-install /dev/sda
但在执行

grub2-mkconfig -o /boot/grub2/grub.cfg

时,发现无法执行,但可以从输出信息中获取linux安装在sdaX ,确定X;
重启,看到grub
1、继续执行:grub>ls
输出:(hd0),(hd0,msdos1),(hd0,msdos2),每个人的这里输出不同;

2、确定boot分区:
ls (hd0,X)/boot/grub

如果存在,则列出该文件夹里的所有文件,不存在则会报错,注意:如果boot为独立分区则使用
ls(hd0,X)/grub2

3、将boot分区设置为临时root分区:
grub>set root=hd0,msdos1

【中标麒麟4.0(centOS7)与Windows双系统无法启动问题解决】hd0,msdos1为第二步中确定的boot分区

4. 后面的路径可以用tab键补全,xxxx代表你的系统内核版本号,注意:/dev/mapper/centos-root为根分区,如果分区格式不是lvm的,根据你的本机情况填写,如/dev/sdaXX为之前确定的;
grub>linux16 /vmlinuz-xxxx.e17.x86_64root=/dev/mapper/centos-root

5. 后面的路径可以用tab键补全,xxxx代表你的系统内核版本号
grub>initrd16 /initramfs-xxxx.e17.x86_64.img

6. 启动
grub>boot

这步执行完应该可以进入linux系统了,但每次开机都要重新输入上面的指令才能进入系统,很是麻烦,这是因为还没有将重新生成配置文件并写入MBR:
按照上述指令进入linux后,执行:
grub-mkconfig -o /boot/grub/grub.cfg


产生新的配置文件,
并往 MBR 里安装一份 bootloader 的拷贝,使用命令:
sudo grub2-install /dev/sda

重启,开机可以正常启动。
参考:
http://www.bubuko.com/infodetail-2249923.html

https://wenku.baidu.com/view/515f652a647d27284b7351dd.html

https://www.cnblogs.com/probemark/p/5857963.html

    推荐阅读