UEFI模式下win10、Ubuntu双系统安装和问题集锦_win10 ubuntu 双系统 uefi好处-程序员宅基地

安装

from 亲测UEFI启动模式的电脑安装Win10和Ubuntu双系统

最新提示:双硬盘(固态+机械,并且原Windows的引导盘在固态)要装双系统,此文不适用(否则会出现安装完Ubuntu后看不到grub菜单或者搞出来grub菜单后看不到Windows Boot Manager选项,因为你把Ubuntu的引导装在了机械硬盘,和Win的引导不在一个盘),请移步大神们的文章:

我个人不太喜欢虚拟机下安装系统,一来运行效率不行,二来原生体验不行。

原本我的电脑是Windows 10专业版,为了体验和学习Linux,我给本本安装了Ubuntu 16.0.4 LTS(目前官网能下载到的最新版本),于是各种搜安装教程,感觉各种复杂。

后来我发现了他们复杂的原因,我仔细看了下这些教程文章的时间,很多都是好几年前的教程,就算是时间很近的,也是抄来抄去,长篇大论无奇不有。其实那都是因为以前的电脑都不是UEFI启动,而是Legacy,大家都知道Win8以后都有快速启动,必须得依靠UEFI。

然而随着UEFI的普及,现在你去买笔记本电脑几乎买不到不是UEFI的,这是一种先进安全的启动模式,而且Ubuntu本身也是支持UEFI启动的,所以安装双系统是非常简单的事情。

第一步最重要的就是你要分区,Linux没有什么C盘D盘的概念,只有分区挂载目录的概念,所以你在Windows下只需要分出一块较大的未分配空间就行,记住不要去格式化,保证其“未分配”属性(Linux的文件系统和Win是不一样的,NTFS和FAT32都不适用)。
用Win自带的磁盘管理不能合并不相邻的未分配空间,所以你要想C盘割一点,D盘割一点,再合在一起那是不行的,解决办法是在WinPE系统环境下使用无损分区软件,去合并不同区域的空闲空间,这里不赘述。(如果不愿使用PE的,直接分割已有分区即可,比如你最后一个分区是F盘,分出几十个GB就行,当然前提是你原本空间够大)

第二,你必须要有一个U盘(光盘就算了太麻烦了),然后使用软碟通或者USBWriter把iso系统镜像文件烧录进去,这是比较传统的方法,但既然我们UEFI启动,那就根本不需要刻录这么麻烦的工作了,直接将iso里的所有文件解压至U盘即可。
这里写图片描述
大家可以看到,Ubuntu的镜像文件里本身就有EFI文件夹,说明其实支持UEFI引导安装的。

然后记得关闭Windows的快速启动,重启电脑,我是Dell的本,开机按F2进入BIOS设置,F12进入启动设置,其它电脑类似,大家自行了解。

进入BIOS设置后,关闭Security Boot(我这里Dell的本是按F12,再选最后那个Change Mode……,然后改为UEFI, Security Boot Off),最后选择UEFI下的U盘启动,所以整个过程根本不用改为Legacy里的HardDisk启动,那是个既老又慢的启动方式。

选中USB启动,回车后即进入Ubuntu安装流程,
前面几步我就不说了,按照正常的步骤,如果你选择了安装更新和第三方软件,那么一定要记得联网,否则会卡死在最后的进度条上,所以最好不要勾选。另外,不要选择“与其它系统共存”那一项,而选择最后那个“其它选项(创建自己的分区)”。

最最最关键的就是分区这一步,这一步直接影响你安装双系统是否成功!下面依次点击新建分区表来挂载分区。

swap交换空间,这个也就是虚拟内存的地方,选择主分区和空间起始位置。如果你给Ubuntu系统分区容量足够的话,最好是能给到你物理内存的2倍大小,像我8GB内存,就可以给个16GB的空间给它,这个看个人使用情况,太小也不好,太大也没用。(其实我只给了8GB,没什么问题)

新建efi系统分区,选中逻辑分区(这里不是主分区,请勿怀疑,老式的boot挂载才是主分区)和空间起始位置,大小最好不要小于256MB,系统引导文件都会在里面,我给的512MB,它的作用和boot引导分区一样,但是boot引导是默认grub引导的,而efi显然是UEFI引导的。不要按照那些老教程去选boot引导分区,也就是最后你的挂载点里没有“/boot”这一项,否则你就没办法UEFI启动两个系统了。

挂载“/home”,类型为EXT4日志文件系统,选中逻辑分区和空间起始位置,这个相当于你的个人文件夹,类似Windows里的User,如果你是个娱乐向的用户,我建议最好能分配稍微大点,因为你的图片、视频、下载内容基本都在这里面,这些东西可不像在Win上面你想移动就能移动的。
总的来说,最好不要低于8GB,我Ubuntu分区的总大小是64GB,这里我给了12GB给home。
(这里特别提醒一下,Ubuntu最新发行版不建议强制获取Root权限,因为我已经玩崩过一次。所以你以后很多文档、图片、包括免安装软件等资源不得不直接放在home分支下面。你作为图形界面用户,只对home分支有完全的读写执行权限,其余分支例如usr你只能在终端使用sudo命令来操作文件,不利于存放一些直接解压使用的免安装软件。因此,建议home分支多分配一点空间,32GB最好……)

挂载“/usr”,类型为EXT4日志文件系统,选中逻辑分区和空间起始位置,这个相当于你的软件安装位置,Linux下一般来说安装第三方软件你是没办法更改安装目录的,系统都会统一地安装到/usr目录下面,因此你就知道了,这个分区必须要大,我给了32GB。

最后,挂载“/”,类型为EXT4日志文件系统,选中逻辑分区和空间起始位置,
因为除了home和usr还有很多别的目录,但那些都不是最重要的,“/”就把除了之前你挂载的home和usr外的全部杂项囊括了,大小也不要太小,最好不低于8GB。如果你非要挨个仔细分配空间,那么你需要知道这些各个分区的含义(Linux(ubuntu)分区挂载点介绍)
不过就算你把所有目录都自定义分配了空间也必须要给“/”挂载点分配一定的空间。

分配好各个挂载点后,还有一个至关重要的步骤,那就是选择“安装引导启动器的设备”,默认是错误的,既然我们为Ubuntu分配了efi系统引导分区,那么显然,这里应该把它改成刚刚第2步分配efi引导的那个分区(比如我安装时它是/dev/sda7,那么我就选这个)。

如此一来,成功一大半,接下来点击安装,等待差不多半小时即可。这个就看电脑配置和网速了。

这里再多说一句,如果你安装进度条卡在最后的update-notifier-common,请拔掉你的网线也就是断网,然后再连接,多等一会儿就会好。你点一下那行字就会看到安装详情,只要详情在刷新就没问题。

安装成功后,会提示你拔掉U盘并且重启,重启后记得进入BIOS改回UEFI Security Boot On模式,也就是重新开启Security Boot,然后再重启你就可以看到选择系统的启动引导界面了,一般来说:
第一个是Ubuntu,选这个进入Ubuntu系统,
第二个是Ubuntu高级选项,
第三个是Windows Boot Manager,也就是启动你的Win10,
第四个不好意思忘了。

默认10s自动进入第一个,如果你不动的话。
以上教程比网上一些图文更系统更有用,只要你耐心看完,保证万无一失。安装成功后,Win10的快速启动也可以重新开启。

最最最后,如果大家装好系统后想要恢复U盘到普通状态的话,请看我的另一篇博文:解决U盘制作Ubuntu系统安装盘后无法格式化且容量无法恢复。

问题集锦

1. Linux下不能进入windows的NTFS分区之挂载错误问题

From Linux下不能进入windows的NTFS分区之挂载错误问题(error mounting)

问题描述

装了Windows 8.1与Ubuntu双系统后,在Ubuntu系统下想进入Windows的某个NTFS分区,点击时却出现下面错误:

Error mounting /dev/sda2 at /media/love/Mis Archiivos: Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sda2" "/media/love/Mis Archiivos"' exited with non-zero exit status 14: The disk contains an unclean file system (0, 0). Metadata kept in Windows cache, refused to mount. Failed to mount '/dev/sda2': Operation not permitted The NTFS partition is in an unsafe state. Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount the volume read-only with the 'ro' mount option.

解决方案

使用ntfsfix这个命令解决,在软件包ntfs-3g中,因此需要先安装此软件包:

sudo apt-get install ntfs-3g

安装成功后,修复对应的ntfs分区(即错误中报出的分区名称):

sudo ntfsfix /dev/sda2

2. Windows和Ubuntu双系统,修复UEFI引导

From Windows和Ubuntu双系统,修复UEFI引导的两种办法

读者在读过我的安装Ubuntu和Windows 8双系统教程以后(见http://www.linuxidc.com/Linux/2015-01/111796.htm),碰到的主要的问题是电脑直接启动到Windows 8而没有出现启动Ubuntu的选项。

这里有两种修复EFI启动引导的方法,使Ubuntu可以正常启动

Windows和Ubuntu双系统,修复UEFI引导的两种办法

将GRUB2设置为启动引导

  1. 启用GRUB引导
    在安装时,有些地方可能会出问题。

理论上来说,如果你首先安装Ubuntu,那么你需要关闭快速启动。

希望你按照这个指南创建一个UEFI Ubuntu 启动优盘安装正确的UEFI引导程序。

如果你在安装时已经完成了这些事情,那么可能出错的地方就是将GRUB2设置为启动管理器。

可以按照以下几个步骤将GRUB2设置为默认的引导程序:

登录Windows 8
转到桌面
右击开始按钮,选择管理员命令行
输入 mountvol g: /s (这将你的EFI目录结构映射到G盘)
输入 cd g:\EFI
当你输入 dir 列出文件夹内容时,你可以看到一个Ubuntu的文件夹
这里的参数可以是grubx64.efi或者shimx64.efi
运行下列命令将grub64.efi设置为启动引导程序:

bcdedit /set {
    bootmgr} path \EFI\ubuntu\grubx64.efi 

注意,在win10下需要用”括起来。如下:

bcdedit /set '{
    bootmgr}' path \EFI\refind\refind_x64.efi

重启你的电脑
你将会看到一个包含Ubuntu和Windows选项的GRUB菜单
如果你的电脑仍然直接启动到Windows,重复步骤1到7,但是这次输入:

bcdedit /set {
    bootmgr} path \EFI\ubuntu\shimx64.efi 

重启你的电脑
这里你做的事情就是登录Windows管理员命令行,将EFI引导区映射到磁盘上,来查看Ubuntu的引导程序是否安装成功,然后选择grubx64.efi或者shimx64.efi作为引导程序。

那么grubx64.efi和shimx64.efi有什么区别呢?在安全启动(serureboot)关闭的情况下,你可以使用grubx64.efi。如果安全启动打开则需要选择shimx64.efi。

在我上面的步骤里面,我建议先试一个,然后再试试另外一个。另外一种方法是选择一个,然后根据你选择的引导程序在BIOS中启用或者禁用安全启动。

2.使用rEFInd引导Ubuntu和Windows双系统
rEFInd启动管理器配置文件详解

rEFInd引导程序会以图标的方式列出你所有的操作系统。因此,你可以通过点击相应的图标来启动Windows、Ubuntu或者优盘中的操作系统。

点击这里下载rEFInd for Windows 8。

下载和解压以后,按照以下的步骤安装rEFInd。

返回桌面
右击开始按钮,选择管理员命令行
输入 mountvol g: /s (这将你的EFI目录结构映射到G盘)
进入解压的rEFInd目录。例如: cd c:\users\gary\downloads\refind-bin-0.8.4\refind-bin-0.8.4 。 当你输入 dir 命令,你可以看到一个refind目录
输入如下命令将refind拷贝到EFI引导区 xcopy /E refind g:\EFI\refind\
输入如下命令进入refind文件夹 cd g:\EFI\refind
重命名示例配置文件 rename refind.conf-sample refind.conf
运行如下命令将rEFind设置为引导程序 bcdedit /set {bootmgr} path \EFI\refind\refind_x64.efi
重启你的电脑
你将会看到一个包含Ubuntu和Windows的图形菜单
这个过程和选择GRUB引导程序十分相似。

简单的说,主要是下载rEFind,解压文件。拷贝文件到EFI引导区,重命名配置文件,然后将rEFind设置为引导程序。

概要
希望这篇文章可以解决有些人在安装Ubuntu和Windows 8.1双系统时出现的问题。如果你仍然有问题,可以通过上面的电邮和我进行交流。

更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/fangjin_kl/article/details/78676948

智能推荐

已知num为无符号十进制整数,请写一非递归算法,该算法输出num对应的r进制的各位数字。要求算法中用到的栈采用线性链表存储结构(1<r<10)。-程序员宅基地

文章浏览阅读74次。思路:num%r得到末位r进制数,num/r得到num去掉末位r进制数后的数字。得到的末位r进制数采用头插法插入链表中,更新num的值,循环计算,直到num为0,最后输出链表。//重置,s指针与头指针指向同一处。//更新num的值,至num为0退出循环。//末位r进制数存入s数据域中。//头插法插入链表中(无头结点)//定义头指针为空,s指针。= NULL) //s不为空,输出链表,栈先入后出。

开始报名!CW32开发者扶持计划正式进行,将助力中国的大学教育及人才培养_cw32开发者扶持计划申请-程序员宅基地

文章浏览阅读176次。武汉芯源半导体积极参与推动中国的大学教育改革以及注重电子行业的人才培养,建立以企业为主体、市场为导向、产学研深度融合的技术创新体系。2023年3月,武汉芯源半导体开发者扶持计划正式开始进行,以打造更为丰富的CW32生态社区。_cw32开发者扶持计划申请

希捷硬盘开机不识别,进入系统后自动扫描硬件以识别显示_st2000dm001不认盘-程序员宅基地

文章浏览阅读5.7k次。2014年底买的一块2TB希捷机械硬盘ST2000DM001-1ER164,用了两年更换了主板、CPU等,后来出现开机不识别的情况,具体表现为:关机后开机,找不到硬盘,就进入BIOS了,只要在BIOS状态下待机半分钟左右再重启,硬盘就会出现。进入系统后,重启(这个过程中主板对硬盘始终处于供电状态),也不会出现不识别硬盘的现象。就好像是硬盘或主板上某个电容坏了一样,刚开始给硬盘通电的N秒钟内电容未能..._st2000dm001不认盘

ADO.NET包含主要对象以及其作用-程序员宅基地

文章浏览阅读1.5k次。ADO.NET的数据源不单单是DB,也可以是XML、ExcelADO.NET连接数据源有两种交互模式:连接模式和断开模式两个对应的组件:数据提供程序(数据提供者)&DataSetSqlConnectionStringBuilder——连接字符串Connection对象用于开启程序和数据库之间的连接public SqlConnection c..._列举ado.net在操作数据库时,常用的对象及作用

Android 自定义对话框不能铺满全屏_android dialog宽度不铺满-程序员宅基地

文章浏览阅读113次。【代码】Android 自定义对话框不能铺满全屏。_android dialog宽度不铺满

Redis的主从集群与哨兵模式_redis的主从和哨兵集群-程序员宅基地

文章浏览阅读331次。Redis的主从集群与哨兵模式Redis的主从模式全量同步增量同步Redis主从同步策略流程redis主从部署环境哨兵模式原理哨兵模式概述哨兵模式的作用哨兵模式项目部署Redis的主从模式1、Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。2、为了分担读压力,Redis支持主从复制,保证主数据库的数据内容和从数据库的内容完全一致。3、Redis的主从结构可以采用一主多从或者级联结构,Redis主从复制可以根据是否是全量分为全量同步和增量同步。全量同步Redis全量复制一般发_redis的主从和哨兵集群

随便推点

mysql utf-8的作用_为什么不建议在MySQL中使用UTF-8-程序员宅基地

文章浏览阅读116次。作者:brightwang原文:https://www.jianshu.com/p/ab9aa8d4df7d最近我遇到了一个bug,我试着通过Rails在以“utf8”编码的MariaDB中保存一个UTF-8字符串,然后出现了一个离奇的错误:Incorrect string value: ‘😃 我用的是UTF-8编码的客户端,服务器也是UTF-8编码的,数据库也是,就连要保存的这个字符串“????..._mysql utf8的作用

MATLAB中对多张图片进行对比画图操作(包括RGB直方图、高斯+USM锐化后的图、HSV空间分量图及均衡化后的图)_matlab图像比较-程序员宅基地

文章浏览阅读278次。毕业这么久了,最近闲来准备把毕设过程中的代码整理公开一下,所有代码其实都是网上找的,但都是经过调试能跑通的,希望对需要的人有用。PS:里边很多注释不讲什么意思了,能看懂的自然能看懂。_matlab图像比较

16.libgdx根据配置文件生成布局(未完)-程序员宅基地

文章浏览阅读73次。思路:  screen分为普通和复杂两种,普通的功能大部分是页面跳转以及简单的crud数据,复杂的单独弄出来  跳转普通的screen,直接根据配置文件调整设置<layouts> <loyout screenId="0" bg="bg_start" name="start" defaultWinId="" bgm="" remark=""> ..._libgdx ui 布局

playwright-python 处理Text input、Checkboxs 和 radio buttons(三)_playwright checkbox-程序员宅基地

文章浏览阅读3k次,点赞2次,收藏13次。playwright-python 处理Text input和Checkboxs 和 radio buttonsText input输入框输入元素,直接用fill方法即可,支持 ,,[contenteditable] 和<label>这些标签,如下代码:page.fill('#name', 'Peter');# 日期输入page.fill('#date', '2020-02-02')# 时间输入page.fill('#time', '13-15')# 本地日期时间输入p_playwright checkbox

windows10使用Cygwin64安装PHP Swoole扩展_win10 php 安装swoole-程序员宅基地

文章浏览阅读596次,点赞5次,收藏6次。这是我看到最最详细的安装说明文章了,必须要给赞!学习了,也配置了,成功的一批!真不知道还有什么可补充的了,在此做个推广,喜欢的小伙伴,走起!_win10 php 安装swoole

angular2里引入flexible.js(rem的布局)_angular 使用rem-程序员宅基地

文章浏览阅读1k次。今天想实现页面的自适应,本来用的是栅格,但效果不理想,就想起了rem布局。以前使用rem布局,都是在原生html里,还没在框架里使用过,百度没百度出来,就自己琢磨,不知道方法规范不规范,反正成功了,操作如下:1、下载flexible.js2、引入到angular项目里3、根据自己的需要修改细节3.1、在flexible.js里修改每份的像素,3.2、引入cssrem插件,在设置里设..._angular 使用rem

推荐文章

热门文章

相关标签