我安装windows10和ubuntu16双系统,安装完后两个系统都无法进入,这就非常奇怪,因为我在物理机上安装过windows和ubuntu双系统,都是成功的,我安装的成功的那几次是ubuntu18和ubuntu20,所以我怀疑这跟版本也是有关系的。如果对ubuntu版本要求不是很高的小伙伴,可以使用18或者20版本,可以省去很多麻烦。

经过6次尝试,终于安装好了windows和ubuntu16双系统,第4次尝试是ubuntu16引导修复的技巧,第6次成功的方式和第4次的方法完全一样(把ubuntu16发行版换成了18发行版,换成20发行版应该也是没问题的),反正16版是有问题,不过完全是可以解决的,各位如果遇到了问题,把这篇博客看全,应该会有不小收获。

一、第一次尝试

修复了windows引导,但是ubuntu引导仍不可用

  本人亲身经历,windows系统是好的,然后安装ubuntu系统,在机械硬盘上划分出100G空间,进行分区,这里的分区,主分区、逻辑分区随便选,网上选哪一种都有成功的案例,问题并不是出在这里(当然,/boot尽量还是选逻辑分区),当你ubuntu16系统安装成功以后,如果不出意外,在进系统时可能哪个系统都进不去。
  网上的教程大家都成功了,可能是教程中大家用的都是虚拟机吧,所以没那么多意外(多说一句,如果是安装ubuntu20的双系统,安装结束后可以正常进入系统,估计是因为ubuntu16的版本问题吧)。
  我分析一下我的为什么每次装双系统,都会破坏windows系统,我的电脑是128G固态硬盘+1T机械硬盘,windows10在固态上安着,ubuntu在我的机械上分出来的100G空间上安着,按说两者应该互相没有影响,但是我之前就发现了,使用EasyUEFI工具查看引导的时候,我的系统引导在D盘上,也就是我的机械硬盘分出来的第一个盘(但是它与我的ubuntu安装盘不是一个盘),我猜想,就算不是一个分区,引导在同一块大的机械盘上,也是会有影响的。
  进入PE启动盘,打开NTBOOT工具或者UEFI修复工具,进行修复引导,前一个相信大家都会用,后面一个,打开之后会让我们选择引导所在分区,这里我们可以打开DiskGenius硬盘工具,查看win10系统的ESP分区在那个盘上,再返回选择即可。后面又让我们选择windows所在根目录,注意,这里不能仅仅选一个磁盘分区,你要找到自己的系统盘,然后点击选择里面的“windows”文件夹,然后修复即可,完成后引导即被修复。
  此时,我们可以正常进入windows系统了,我们使用EasyUEFI将无用的启动项删除即可,但是我们又发现一个问题,安装好之后ubuntu启动项是存在的,但是在选择ubuntu后无法进入该系统,这又是什么情况?这刚装好的ubuntu引导也是坏的!
  查阅资料后发现,windows系统安装ubuntu会出现引导问题,原因是windows系统不希望有其他系统和windows系统共存。所以我们得自己作一个引导。接下来主要介绍两种引导,easyBCD引导和easyUEFI引导,如果你的系统之前没有装过双系统的话easyBCD是可以使用的,但是如果之前比如装了win10和win7双系统的话,你的电脑是微软uefi的引导,所以easyBCD会显示无法使用,而且进去软件之后也是无法添加新条目,会出现下图所示的情况,linux/BSD和Neogrub都是灰色的。这种情况就只能使用easyUEFI引导了,也不麻烦。

  这里我惊奇的发现,这无法启动的ubuntu启动项也在D盘,就是我原来的windows启动项那个位置,但是我在做ubuntu系统的时候,我确定我为ubuntu系统分配了大小为300M的/boot区,并且将ubuntu引导挂载到了该分区,很奇怪,我不知道它为什么把引导装在了D盘中(虽然奇怪,但这至少证明了我之前的猜测是对的,找到了问题的根源所在)

  接下来我们只需要删掉原来的引导重新做引导就好,新建项目,选择我们的引导分区,选择下面的引导(这里奇怪的事情又发生了,机械盘、U盘都不能选,只能选择C盘的引导分区,我的ubuntu引导明明是安在了机械盘中,但是它偏偏就是出现在了C盘中!而且windows引导也出现在了这里,当然这个windows启动项是不能用的,我是用NTBOOT修复的引导才是能用的):

二、第二次尝试

  没出意外,果然ubuntu还是不行,我们可以看到,我将ubuntu16启动项引导放在了第一个位置,windows10放在了第二个,在意料之中,电脑跳过ubuntu系统,直接进入了windows,完全没有识别到ubuntu。

  easyUEFI不认ubuntu划分的磁盘,它识别不到我们当初划分的ubuntu的/boot区,那我们尝试一下使用ubuntu启动盘修复一下引导。
  进入ubuntu启动盘,选择试用ubuntu选项,依次运行如下命令:

sudo mount /dev/sdXXX /mnt
sudo mount /dev/sdXX /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sdX
update-grub
sdX = disk / 安装Ubuntu的硬盘
sdXX = efi partition / EFI 分区
sdXXX = system partition / Ubuntu系统所在分区
比如说,我安装   Ubuntu的硬盘为/dev/sda(=disk),EFI分区在/dev/sda4( efi partition),/boot ==> /dev/sda4Ubuntu系统所在分区为/dev/sda5( efi partition),/ ==> /dev/sda5那么,上面的命令就应该为:
sudo mount /dev/sda5 /mnt
sudo mount /dev/sda4 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sda
update-grub

  运行过之后,它果然没让我失望,还是不能进入ubuntu系统。

三、第三次尝试

  这次我是真的emo住了,windows常用引导修复工具无法识别ubuntu系统的引导盘,ubuntu引导修复工具一点用都没有,这次我决定使用ubuntu引导修复工具Boot Repair,实在不行就重新安装ubuntu,选择与windows共存模式好了,反正这也不破坏windows系统,只是破坏了一个引导而已,我选其他选项,自己划分区间安装,这不也是破坏了windows引导吗?

1、打开终端,终端快捷键是Ctrl+Alt+T,输入命令,添加boot-repair所在的源:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update

2、待上面命令执行完毕后,继续输入以下命令,安装boot-repair并且开启boot-repair:

sudo apt-get install -y boot-repair && boot-repair


点击Recommended repair,过几分钟重启就行了。

3、如果上面的命令成功了,那皆大欢喜,如果没有,运行以下命令:

sudo recommended repair

  如果有些人不小心点击了Create a BootInfo summary的话,那你的开机启动界面将会出来一大堆你以前没见过的东西。
  那样的话,你可以输入名令:cd /boot/grub
  接着输入sudo gedit grub.cfg,打开grub.cfg文件后,通过搜索找到windows,然后把下面这些删去就和原来一样了。

### BEGIN /etc/grub.d/25_custom ###menuentry "efi/EFI/Boot/bootx64.efi" {
search --fs-uuid --no-floppy --set=root d000ed6a-5303-40aa-a517-af50e807c0e9
chainloader (${root})/efi/EFI/Boot/bootx64.efi
}menuentry "efi/EFI/ubuntu/MokManager.efi" {
search --fs-uuid --no-floppy --set=root d000ed6a-5303-40aa-a517-af50e807c0e9
chainloader (${root})/efi/EFI/ubuntu/MokManager.efi
}menuentry "Windows UEFI recovery bootmgfw.efi" {
search --fs-uuid --no-floppy --set=root A603-846C
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}menuentry "Windows Boot UEFI recovery" {
search --fs-uuid --no-floppy --set=root A603-846C
chainloader (${root})/EFI/Boot/bkpbootx64.efi
}menuentry "EFI/ubuntu/MokManager.efi sda2" {
search --fs-uuid --no-floppy --set=root A603-846C
chainloader (${root})/EFI/ubuntu/MokManager.efi
}menuentry "Windows UEFI recovery LrsBootmgr.efi" {
search --fs-uuid --no-floppy --set=root 7607-5674
chainloader (${root})/efi/Microsoft/Boot/LrsBootmgr.efi
}menuentry "Windows Boot UEFI recovery bkpbootx64.efi" {
search --fs-uuid --no-floppy --set=root 7607-5674
chainloader (${root})/efi/Boot/bkpbootx64.efi
}
### END /etc/grub.d/25_custom ###

四、第4次尝试

  我换了WIFI,又换了手机热点,结果都显示失败,第一句命令成功,显示结果如下:

Website: https://sourceforge.net/p/boot-repair/homeMore info: https://launchpad.net/~yannubuntu/+archive/ubuntu/boot-repair
Press [ENTER] to continue or ctrl-c to cancel adding itgpg: keyring `/tmp/tmp4vdd42nz/secring.gpg' created
gpg: keyring `/tmp/tmp4vdd42nz/pubring.gpg' created
gpg: requesting key 60D8DA0B from hkp server keyserver.ubuntu.com
gpg: /tmp/tmp4vdd42nz/trustdb.gpg: trustdb created
gpg: key 60D8DA0B: public key "Launchpad PPA for YannUbuntu" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK

  运行第二句命令,它无法定位到boot-repair包:

ubuntu@ubuntu:~$ sudo apt-get install -y boot-repair
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package boot-repair
ubuntu@ubuntu:~$

  真的是很头痛!我们继续想办法解决,进入ubuntu启动盘系统中试用ubuntu,打开终端:

sudo add-apt-repository ppa:yannubuntu/boot-repair #回车确认添加
sudo apt-get update
sudo apt-get install boot-repair
boot-repair

  点击recommanded repair等待修复即可。
  如果出现E: Unable to locate package boot-repair的问题,修改一下ppa的源即可
  进入目录修改文件

cd /etc/apt/sources.list.d/
sudo gedit yannubuntu-ubuntu-boot-repair-xenial.list

修改文件内容为如下(把xenial改成bionic,即更换一个ubuntu的发行版本号从16.04的xenial到18.04的bionic,推测可能是作者更新时遗漏或者什么问题)

deb http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu bionic main
# deb-src http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu bionic main

再次重新安装:

sudo apt-get update
sudo apt-get install boot-repair
boot-repair

经过开机重启,我们又进入了ubuntu试用版

  把xenial改成bionic,将ubuntu从16版本改为18版本,果然可以正常安装boot-repair了,这次我如愿以偿地看到了boot-repair界面,并进行修复。

在这里我只想说16版本的是真有毛病,你在虚拟机上怎么安装都没事,但是装双系统的话,如果对版本没有硬性要求,尽量装18或者20的。

  安装成功代码如下:

ubuntu@ubuntu:/etc/apt/sources.list.d$ sudo apt-get install boot-repair
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:boot-sav boot-sav-extra gawk glade2script glade2script-python3 libsigsegv2pastebinit
Suggested packages:boot-info mdadm os-uninstaller zfsutils-linux gawk-doc
The following NEW packages will be installed:boot-repair boot-sav boot-sav-extra gawk glade2script glade2script-python3libsigsegv2 pastebinit
0 upgraded, 8 newly installed, 0 to remove and 202 not upgraded.
Need to get 1,079 kB of archives.
After this operation, 4,829 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.ubuntu.com/ubuntu xenial/main amd64 libsigsegv2 amd64 2.10-4 [14.1 kB]
Get:2 http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu bionic/main amd64 glade2script-python3 all 3.2.4~ppa23 [35.9 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial/main amd64 gawk amd64 1:4.1.3+dfsg-0.1 [398 kB]
Get:4 http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu bionic/main amd64 glade2script all 3.2.4~ppa23 [2,204 B]
Get:5 http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu bionic/main amd64 boot-sav all 4ppa171 [456 kB]
Get:6 http://archive.ubuntu.com/ubuntu xenial/main amd64 pastebinit all 1.5-1 [14.6 kB]
Get:7 http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu bionic/main amd64 boot-repair all 4ppa171 [13.8 kB]
Get:8 http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu bionic/main amd64 boot-sav-extra all 4ppa171 [145 kB]
Fetched 1,079 kB in 6s (161 kB/s)
Selecting previously unselected package libsigsegv2:amd64.
(Reading database ... 196349 files and directories currently installed.)
Preparing to unpack .../libsigsegv2_2.10-4_amd64.deb ...
Unpacking libsigsegv2:amd64 (2.10-4) ...
Setting up libsigsegv2:amd64 (2.10-4) ...
Processing triggers for libc-bin (2.23-0ubuntu11.2) ...
Selecting previously unselected package gawk.
(Reading database ... 196357 files and directories currently installed.)
Preparing to unpack .../gawk_1%3a4.1.3+dfsg-0.1_amd64.deb ...
Unpacking gawk (1:4.1.3+dfsg-0.1) ...
Selecting previously unselected package glade2script-python3.
Preparing to unpack .../glade2script-python3_3.2.4~ppa23_all.deb ...
Unpacking glade2script-python3 (3.2.4~ppa23) ...
Selecting previously unselected package glade2script.
Preparing to unpack .../glade2script_3.2.4~ppa23_all.deb ...
Unpacking glade2script (3.2.4~ppa23) ...
Selecting previously unselected package boot-sav.
Preparing to unpack .../boot-sav_4ppa171_all.deb ...
Unpacking boot-sav (4ppa171) ...
Selecting previously unselected package boot-repair.
Preparing to unpack .../boot-repair_4ppa171_all.deb ...
Unpacking boot-repair (4ppa171) ...
Selecting previously unselected package boot-sav-extra.
Preparing to unpack .../boot-sav-extra_4ppa171_all.deb ...
Unpacking boot-sav-extra (4ppa171) ...
Selecting previously unselected package pastebinit.
Preparing to unpack .../pastebinit_1.5-1_all.deb ...
Unpacking pastebinit (1.5-1) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5.2) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20180209-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for mime-support (3.59ubuntu1) ...
Setting up gawk (1:4.1.3+dfsg-0.1) ...
Setting up glade2script-python3 (3.2.4~ppa23) ...
Setting up glade2script (3.2.4~ppa23) ...
Setting up boot-sav (4ppa171) ...
Setting up boot-repair (4ppa171) ...
Setting up boot-sav-extra (4ppa171) ...
Setting up pastebinit (1.5-1) ...
ubuntu@ubuntu:/etc/apt/sources.list.d$

  修复成功日志如下:

Boot successfully repaired.Please write on a paper the following URL:
http://paste.ubuntu.com/p/v7k7vSjkmx/In case you still experience boot problem, indicate this URL to:
boot.repair@gmail.com or to your favorite support forum.You can now reboot your computer.
Please do not forget to make your UEFI firmware boot on the Ubuntu 16.04.7 LTS entry (nvme0n1p1/efi/ubuntu/shimx64.efi file) !
If your computer reboots directly into Windows, try to change the boot order in your UEFI firmware.
If your UEFI firmware does not allow to change the boot order, change the default boot entry of the Windows bootloader.
For example you can boot into Windows, then type the following command in an admin command prompt:
bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi

五、第五次尝试

  我们可以看到boot-repair已经将ubuntu系统修复成功了,但是不出所料,电脑还是找不到ubuntu的引导,不管是使用命令行修复,还是使用boot-repair修复,我都试了一遍,网上大家都成功了,我的还是不行…
  好吧,这回我们重新安装ubuntu试试吧,把ubuntu安装选项选择与windows系统共存看看会怎么样。
  一点意外都没有,电脑仍然无法识别ubuntu引导,但是这里查看到它的引导确实是在的,我这次在安装ubuntu的时候,没有选择其他选项,所以这次没有破坏NTBOOT修复的win10引导,开机后直接跳过ubuntu、windows boot manager启动项,进了第三个启动项——win10。有了意外收获,安装ubuntu时选择与windows boot manager共存不会影响NTBOOT修复的引导,应该会把windows boot manager废掉,但是这个引导本来就是废的,所以也相当于什么都没发生。


  我在EasyUEFI中将ubuntu引导删除,再继续回到ubuntu启动盘中尝试修复引导,看结果如何。

六、第六次尝试

这次终于成功是windows和ubuntu16双系统共存,还是那句话,一般装系统装18或者20版本的ubuntu就没有那么多事儿了。

  我们现在的系统,是选择ubuntu与Windows boot manager共存模式安装的ubuntu16系统,然后结果是第五次尝试的结果,我又用了第四次尝试的方式,完全重复了一遍,结果就成了。
  大家有兴趣可以回去看第四次尝试就好了,祝各位好运。

七、总结

  防止以后我还会遇到此类问题回来看,也方便各位直接使用指令修复,我在这里直接做了总结如下:
  直接使用ubuntu发行版16,会出现无法下载boot-repair的问题,我们只需要将16换成18即可,同时我在使用其他选项安装的ubuntu中,虽然可显示修复ubuntu引导,但实际上是无法进入系统的,后来我在“与Windows boot manager”选项中安装的ubuntu使用同样的方法,完成安装。
  当然,你也可以制作ubuntu18的启动盘,进入18试用界面修复,就不需要换成18了,但是下面的指令也不麻烦,建议和我做的一样就好。

(一)进入目录修改文件

cd /etc/apt/sources.list.d/
sudo gedit yannubuntu-ubuntu-boot-repair-xenial.list

(二)将16发行版换为18发行版(你直接用ubuntu18的启动盘修复引导就可以省略这一步了)

  实质是将xenial改成bionic,其他不用动。

deb http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu bionic main
# deb-src http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu bionic main

(三)添加boot-repair所在的源,并安装它

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

(四)成功打开ubuntu引导修复工具


  点击修复即可,再次重启电脑,没意外的话,你的电脑应该是可以了,祝大家好运!!!

windows和ubuntu16双系统安装问题相关推荐

  1. Win10 + ubuntu16双系统安装以及cuda,cudnn安装

    Win10 + ubuntu16双系统安装以及cuda,cudnn安装 其实这些东西我已经弄过好多次了但是每一次都遇到坑,所以记录一下.仅供参考 1.windows安装 这一步较为简单,注意安装系统到 ...

  2. 6.1 Windows和Ubuntu双系统安装过程

    6.1 Windows和Ubuntu双系统安装过程 **先搞清楚自己电脑的类型:** **情况A:MBR传统bios+单硬盘** **情况B:MBR传统bios+双硬盘(SSD固态硬盘+机械硬盘)** ...

  3. Windows与linux双系统安装

    [源] = [http://xiaomaimai.blog.51cto.com/1182965/294256] Windows与linux双系统 Linux的安装方式有硬盘安装.网络安装.光驱安装. ...

  4. Windows+Chrome OS双系统安装方法

    Windows+Chrome OS双系统安装方法 原文转载自浅行浅醉博客 点击查看原文

  5. Windows、Ubuntu双系统安装

    Windows.Ubuntu双系统安装 一.安装所需工具 U盘一个(大于8G),作为启动盘:启动盘制作工具(ultraiso):Ubuntu系统镜像文件 二.双系统安装过程 安装启动盘制作工具 下载u ...

  6. 教程:Ubuntu 14.04 和 Windows 8.1 双系统安装步骤

    教程:Ubuntu 14.04 和 Windows 8.1 双系统安装步骤 上个周末我尝试了双启动Ubuntu 14.04和Windows 8.1,下文具体介绍了我实现双引导而采取的若干步骤.有的读者 ...

  7. (以Windows 7 引导的)Windows 和Ubuntu双系统安装

    来源于网络,回馈于网络 给硬盘划分空白空间安装Ubuntu. 开始菜单--右键点击我的电脑--管理--存储--磁盘管理(本地) 比如你的D盘有60GB空闲,你希望用40GB来装Ubuntu 那么单击D ...

  8. Windows和Ubuntu双系统安装(非虚拟机)

    前言:   虚拟机的配置和使用经常会给习惯了直接使用各类发行版本linux操作系统的用户带来困扰,特此补充Windows和Ubuntu的双系统安装方法 1.简介   本教程是在Windows系统下安装 ...

  9. windows和ubuntu双系统安装笔记

    自己大部分的编程工作已经由Windows环境转移到了Linux环境中进行.原本考虑的方案是采用虚拟机,但是在使用的过程中发现虚拟机里面处理数据会出现一些问题,所以就考虑安装双系统的方案.基于Linux ...

最新文章

  1. 11月11日截止报名!快来参加顶尖极客汇聚的“AI Challenger 全球AI挑战赛”!
  2. Hibernate:hbm2ddl.auto =在生产中更新?
  3. python读取文件第n行-python读取文件第n行
  4. UML建模之时序图(Sequence Diagram)教程
  5. ArcUser 2006第2期拾零
  6. 计算机原理2408,《计算机组成原理实验》课程教学大纲
  7. 十大垃圾食品中八种可致脂肪肝
  8. 道路里程桩号标注_划重点!我区国、省道交通标志及里程桩“变脸”了,今后开车更享受~...
  9. 海王什么意思,海王是什么意思梗,网络流行词海王介绍
  10. 李宏毅自然语言处理——依存句法分析
  11. envoy中的iptable流量劫持
  12. 瑞士央行2022年巨亏1320亿瑞士法郎
  13. linux常用命令与问题排查命令记录
  14. html中文字不自动换行 white-space style
  15. 【每日蓝桥】17、一三年省赛Java组真题“带分数”
  16. 《SQL基础知识第2版》PDF高清版,限时下载!
  17. 病毒币骗局:号称募资生产口罩,研究疫苗
  18. 盘点 | 2020年网络新技术及人工智能在网络安全领域的特点
  19. 长乐外海风电场创新应用,推动全球智慧海上风电发展
  20. 【C语言】调试方法和技巧详解

热门文章

  1. 冬季使用笔记本电脑五大禁忌
  2. 灵动微电子MM32 MindSPIN系列MCU为电机驱动量身打造
  3. 【每日一题】洛谷--P1996 约瑟夫问题 java题解
  4. 【Windows版】Monodepth2复现过程
  5. 动画系列 - ViewPager动画
  6. 大疆雷达livox avia的bag包转pcd
  7. ffmpeg-avplayer-for-ios
  8. NetSuite Budget功能包
  9. table表格中的cellspacing属性
  10. mysql的datepart函数,数据库datepart函数