我是先安装的Windows10 然后安装的Ubuntu
18.04桌面版系统,Ubuntu的系统EFI也安装在了Windows10的efi分区里面,所以开机只能进入到Ubuntu系统,为了解决这个问题,找了不知道多少个网站,可能是每个人的环境不同,所以给出的方法也不一样。
下面分享几个踩过的坑吧
按照网上的教程说,使用Ubuntu的引导镜像,在“试用Ubuntu”里面 使用"boot-repair"来扫描efi分区启动,然后自动添加grub文件。
但是!
找了好多的教程也没有提到 联网!联网!联网!,按照centos的逻辑,在启动盘下安装软件的话,应该以启动盘里的软件源作为安装源来安装软件,没想到Ubuntu这个安装必须要联网,所以,搞了好久都是报错,直到我想到了联网试试。。。。。。
所以对于纯小白来说,这个步骤应该是这样的:
sudo - i #获取root权限
add-apt-repository ppa:yannubuntu/boot-repair #获取最新修复引导的档案源
apt-get update #更新
apt-get install boot-repair #获取并安装"boot-repair"安装包
然后按"win键" 输入:boot-repair,点击boot-repair的图标打开此软件,然后按"recommand repair"进行引导扫描,这里可能会扫描出很多的efi,后面会说怎么清理多余的efi。
扫描结束后,输入init 0
关机,然后把U盘拔掉,再开机。
这里有的小伙伴并没有出现网上很多教程里面出现的很多引导项,还是和之前一样,直接引导进了Ubuntu系统,我也是这样的,后来又找了很多文章,把这个问题解决了。
这个和Ubuntu的默认grub配置文件有关,这里的配置文件设置的是自动跳过grub菜单,所以我们要设置一下这个,让他能显示出来,这样我们也可以使用Ubuntu的grub来引导Windows10 的系统(偷笑)。
这里贴一下我的/etc/default/grub
的配置文件,然后解释一下:
1.先注释掉GRUB_TIMEOUT_STYLE=hidden
2.再修改一下GRUB_CMDLINE_LINUX_DEFAULT=""
里的选项
这里注意一下,不要删除原来的配置,不用的就注释掉,免得后面还会用到,或者删错了不容易恢复。
lcp@lcp:~$ cat /etc/default/grub
GRUB_DEFAULT=0
#GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="text"
GRUB_CMDLINE_LINUX=""
修改完默认grub文件后,还需要手动更新一下grub。
sudo update-grub
刚才我们扫描出了好多菜单,那么怎么分辨这些菜单是有用的,哪些是没用的呢,很简单!一个一个测试就可以了,点完回车没反应,或者进不去系统的,肯定就不是了,哈哈。
当然,我写这个博客就是为了让小白少踩坑。所以我这里简单说一下哪写是有用的,
ubuntu肯定是有用的,因为我们玩的就是Windows 和Ubuntu双系统啊。
还有就是Windows 10,就是"Windows UEFI bootmgfw.efi" 这个了。
这个System setup 就是刚才启动的时候,按ESC进入的那个菜单。
我们理清思路后,再进入到系统下,把多余的项目清理一下。
这个文件修改还是挺危险的,所以我们先把这个文件备份一份。
lcp@lcp:~$ cp /boot/grub/grub.cfg ./grub.bak
然后编辑这个备份文件。
向下翻,翻到"### BEGIN /etc/grub.d/25_custom ###"这段下面,就是刚才我们扫描出来的那些efi启动项。
在这个区域的配置文件只保留下面这部分就可以,当然我们也可以给这个配置文件改个名字。
只需要替换menuentry “Windows UEFI bootmgfw.efi”,引号里的就行,例如menuentry "Windows 10"这样。
menuentry "Windows UEFI bootmgfw.efi" {
search --fs-uuid --no-floppy --set=root 8065E6370CF1A209
chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
}
这里可能会出现提示文件只读,我们使用wq!来保存即可。
我们再备份一次/boot/grub/grub.cfg
这个文件,因为我们马上要替换这个文件了,所以再保存一份,以防刚才改的有问题。
lcp@lcp:~$ cp /boot/grub/grub.cfg ./grub.bak2
lcp@lcp:~$ sudo cp ./grub.bak /boot/grub/grub.cfg
然后我们重启电脑,看一下刚才的grub菜单。
我们选择windows 10,没一会儿就正常的进入到了我们的windows 10的系统。
现在引导问题解决了,但是还有各种常用的应用问题还没解决,就已经凌晨3点了,明天再弄吧,如果文章里有哪里出现纰漏,请帮忙在评论中指出。
下面就是我的ubuntu啦。
参考文章:
解决Windows 10引导方面:
https://www.cnblogs.com/lymboy/p/7783756.html
grub方面:
https://zhidao.baidu.com/question/814215418815865532.html