启动linux_使用 UEFI 双启动 Windows 和 Linux | Linux 中国

282cace44e6aaa1faf6756cdda053dd8.png
这是一份在同一台机器上设置 Linux 和 Windows 双重启动的速成解释,使用统一可扩展固件接口(UEFI)。
  • 来源:https://linux.cn/article-12891-1.html
  • 作者:Alan Formy-duval
  • 译者:郑

(本文字数:2727,阅读时长大约:4 分钟)

我将强调一些重要点,而不是一步一步地指导你来如何配置你的系统以实现双重启动。作为一个示例,我将提到我在几个月之前新买的笔记本计算机。我先是安装 Ubuntu Linux 到整个硬盘中,这就摧毁了预装的 Windows 10 环境。几个月后,我决定安装一个不同的 Linux 发行版 Fedora Linux,也决定在双重启动配置中与它一起再次安装 Windows 10 。我将强调一些极其重要的实际情况。让我们开始吧!

固件

双重启动不仅仅是软件问题。或者说它算是软件的问题,因为它需要更改你的固件,以告诉你的机器如何开始启动程序。这里有一些和固件相关的重要事项要铭记于心。

UEFI vs BIOS

在尝试安装前,确保你的固件配置是最佳的。现在出售的大多数计算机有一个名为 统一可扩展固件接口(Unified Extensible Firmware Interface) (UEFI)的新类型固件,UEFI 差不多取代了另一个名为 基本输入输出系统(Basic Input Output System)(BIOS)的固件类型,(包括很多固件供应商在内的很多人)通常称 BIOS 为 传统启动模式(Legacy Boot)

我不需要 BIOS,所以我选择了 UEFI 模式。

安全启动

另一个重要的设置是 安全启动(Secure Boot)。这个功能将检测启动路径是否被篡改,并阻止未经批准的操作系统的启动。现在,我禁用这个选项来确保我能够安装 Fedora Linux 。依据 Fedora 项目维基“功能/安全启动”部分的介绍可知:Fedora Linux 在安全启动选项启用的时候也可以工作。这对其它的 Linux 发行版来说可能有所不同 — 我打算今后重新研究这项设置。

简而言之,如果你发现在这项设置启用时你不能安装你的 Linux 操作系统,那么禁用安全启动并再次重新尝试安装。

对启动驱动器进行分区

如果你选择双重启动并且两个操作系统都在同一个驱动器上,那么你必须将它分成多个分区。即使你使用两个不同的驱动器进行双重启动,出于各种各样的原因,大多数 Linux 环境也最好分成几个基本的分区。这里有一些选项值得考虑。

GPT vs MBR

如果你决定手动分区你的启动驱动器,在动手前,我建议使用 GUID 分区表(GUID Partition Table)(GPT),而不是使用旧的 主启动记录(Master Boot Record)(MBR) 。这种更改的原因之一是:MBR 有两个特定的限制,而 GPT 却没有:

  • MBR 可以最多拥有 15 个分区,而 GPT 可以最多拥有 128 个分区。
  • MBR 最多仅支持 2 TB 磁盘,而 GPT 使用 64 位地址,这使得它最多支持 800 万 TB 的磁盘。

如果你最近购买过硬盘,那么你可能会知道现代的很多硬盘都超过了 2 TB 的限制。

EFI 系统分区

如果你正在进行一次全新的安装或使用一块新的驱动器,那么这里可能没有可以开始的分区。在这种情况下,操作系统安装程序将先创建一个分区,即 EFI 系统分区(EFI System Partition)(ESP)。如果你选择使用一个诸如 gdisk 之类的工具来手动分区你的驱动器,你将需要使用一些参数来创建这个分区。基于现有的 ESP ,我设置它为约 500 MB 的大小,并分配它为 ef00( EFI 系统 )分区类型。UEFI 规范要求格式化为 FAT32/msdos ,很可能是因为这种格式被大量的操作系统所支持。

a2f1d8bfbfda20756700e71dce748dac.png
分区

操作系统安装

在你完成先前的两个任务后,你就可以安装你的操作系统了。虽然我在这里关注的是 Windows 10 和 Fedora Linux ,当安装其它组合时的过程也是非常相似。

Windows 10

我开始 Windows 10 的安装,并创建了一个 20 GB 的 Windows 分区。因为我先前在我的笔记本计算机上安装了 Linux ,所以驱动器已经有了一个 ESP ,我选择保留它。我删除所有的现有 Linux 和交换分区来开始一次全新安装,然后开始我的 Windows 安装。Windows 安装程序自动创建另一个 16 MB 的小分区,称为 微软保留分区(Microsoft Reserved Partition)(MSR)。在这完成后,在 512 GB 启动驱动器上仍然有大约 400 GB 的未分配空间。

接下来,我继续完成了 Windows 10 安装过程。随后我重新启动到 Windows 来确保它是工作的,在操作系统第一次启动时,创建我的用户账号,设置 Wi-Fi ,并完成其它必须的任务。

Fedora Linux

接下来,我将心思转移到安装 Linux 。我开始了安装过程,当安装进行到磁盘配置的步骤时,我确保不会更改 Windows NTFS 和 MSR 分区。我也不会更改 ESP ,但是我设置它的挂载点为 /boot/efi。然后我创建常用的 ext4 格式分区, /(根分区)、/boot/home。我创建的最后一个分区是 Linux 的交换分区(swap)。

像安装 Windows 一样,我继续完成了 Linux 安装,随后重新启动。令我高兴的是,在启动时 大一统启动加载程序(GRand Unified Boot Loader)(GRUB)菜单提供选择 Windows 或 Linux 的选项,这意味着我不需要再做任何额外的配置。我选择 Linux 并完成了诸如创建我的用户账号等常规步骤。

总结

总体而言,这个过程是不难的,在过去的几年里,从 BIOS 过渡到 UEFI 有一些困难需要解决,加上诸如安全启动等功能的引入。我相信我们现在已经克服了这些障碍,可以可靠地设置多重启动系统。

我不再怀念 Linux LOader(LILO)!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529419.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

域控下发脚本_域用户登陆脚本

如何为一个域用户设置登陆脚本?- BAT可否作为登陆脚本?- 在域用户“属性”中,应如何指定登陆脚本名?"D:\x.bat"还是"\\srv\x.bat"?还是其它?- 脚本应该放在何处?- 还有没有…

mysql增量脚本_mysql全量和增量备份脚本

全量:[rootmaster leo]# cat DBfullBak.sh#!/bin/bash#use mysqldump to fully backup mysql dataBakDir/root/leo/fullLogFile/root/leo/full/bak.logDatedate %Y%m%dBegindate "%Y年%m月%d日 %H:%M:%S"cd $BakDirDumpFile$Date.sqlGZDumpFile$Date.sql.…

mysql 事务 引擎_mysql引擎和事务

对于应用程序和用户来说,同样一张表的数据无论用什么引擎来存储,看到的数据都是一样的,只是不同的引擎在功能、占用空间大小、读取性能等方面可能有所差别。mysql最常用的存储引擎为Innodb、MyISAM和全文索引5.5.5以前默认存储引擎为MyISAM&a…

shell mysql eof_shell EOF

1、考虑下面的需求&#xff0c;在主shell执行命令&#xff0c;进入其他的命令&#xff0c;后面的输入&#xff0c;想作为命令的输入&#xff0c;而不是主shell的输入&#xff0c;怎么办&#xff1f;2、使用<3、这里的EOF只是分界符&#xff0c;使用其他的字符也可以。4、比如…

MySQL查询实验报告_实验报告数据库的基本查询'

《实验报告数据库的基本查询》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《实验报告数据库的基本查询(5页珍藏版)》请在人人文库网上搜索。1、一、实验目的&#xff1a;通过该实验掌握应用SQL 查询数据库的基本方法&#xff0c;包括单表、多表查询。二、实验原理数…

mysql+odbc+ado_MFC ado+mysql+odbc技术分享

第一步&#xff1a;建立数据库假设有一个sql文件mysql>use dbname; //创建一个数据库名为dbname的数据库(空数据库)mysql>set names utf8; //编码&#xff0c;mysql>source D:/dbname.sql; //导入一个数据库源文件创建数据库内容我做…

mysql 5.7 window x64_window环境配置Mysql 5.7.21 windowx64.zip免安装版教程详解

1.从官网下载mysql-5.7.21-windowx64.zip mysql下载页面2.解压到合适的位置(E:mysql) 这名字是我改过的3.配置环境变量&#xff0c;将E:mysqlbin 添加到PATH中4.在mysql目录下(E:mysql) 创建 my.ini文件&#xff0c;内容如下&#xff1a;[mysql]# 设置mysql客户端默认字符集def…

mysql设置查询结果最大值_查找MySQL查询结果字段的最大值

将它连接到仅有最大计数的第二个查询。每天最内部查询(对于给定用户)每天计数的一组行数。从那以后&#xff0c;下一个外部执行从该集合中选择MAX()来查找并获得一个代表最高日数的记录...因为它总是返回一行&#xff0c;并且加入到原始的numRequest表中它将是一个笛卡尔&#…

MySQL建表两个单引号报错_极客起源 - geekori.com - 问题详情 - mysql建表报错,查手册看不懂,求解?...

创建带索引的数据库表需要为表名和属性添加反单引号&#xff0c;并且你当前的primary key的位置需要调整一下&#xff1a;create table abc(id int unsigned auto_increment,usename char(20) not null default ,gender char(1) not null default ,weight tinyint unsigned not…

js 用下标获取map值_javascript怎么获取map的值?

Map对象保存键/值对&#xff0c;是键/值对的集合。任何值(对象或者原始值) 都可以作为一个键或一个值。Object结构提供了“字符串—值”的对应&#xff0c;Map结构提供了“值—值”的对应。JavaScript获取map值示例&#xff1a;map对象如下&#xff1a;var mapObject {id1001:…

python attention机制_从零开始学Python自然语言处理(26)—— 强大的Attention机制...

前文传送门&#xff1a;在上一次面试失利后&#xff0c;我回来仔细研究了一下Attention机制&#xff0c;研究完我不禁感悟&#xff0c;这机制真的厉害啊&#xff01;因为我之前面试被问到的Encoder - Decoder框架中有个瓶颈是编码的结果以固定长度的中间向量表示&#xff0c;这…

[机器人-2]:开源MIT Min cheetah机械狗设计(二):机械结构设计

目录 1、四肢朝向的选择 2、电机布局形式的选择 3、电机的选型及测试&#xff08;非常重要&#xff09; 4、结构优化 5、尺寸效应 6、其他 1、四肢朝向的选择 机械狗的结构设计&#xff0c;第一个摆在我们面前的就说四肢的朝向问题&#xff0c;如下图&#xff0c;我们是…

python传文件给java_用java pyhont通过HTTP协议传输文件流

// 代码网上抄的 忘记链接了 抱歉哈packageupload;importjava.io.BufferedReader;importjava.io.DataOutputStream;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.net.HttpURLConnection;im…

mysql挪到小数点位置_mysql数据库迁移到另一个硬盘上

archliun系统mysql数据库1、对新硬盘分区与格式化1)# fdisk /dev/sdb2) # mkfs.ext4 /dev/sdb12、停止MYSQL服务systemctl stop mysqld3、对数据库文件拷贝# cp -Rp data /mnt/data/4、删除原data文件# rm -rf /data5、禁止开机自启MYSQL服务# systemctl disable mysqld6、对自…

mysql用户权限表join_MyBatis映射利用mysql left join 解决N+1查询问题

1.权限是几乎每个系统都需要的2.一般在用户请求某个url的时候&#xff0c;都需要验证用户是否拥有该url的访问权限3.最简单的权限系统需要 用户表&#xff0c;角色表&#xff0c;用户角色表&#xff0c;权限表&#xff0c;角色权限表# Host: 127.0.0.1 (Version: 5.6.22)# Date…

python 爬取贝壳网小区名称_如何使用 python 爬取全国小区名称

前言笔者在做一个 NLPNLPNLP 项目时&#xff0c;需要识别小区名&#xff0c;因此想要查询网上是否有相关的数据集。经过一番搜索后一无所获…从而决定自己来爬取这份数据。由于爬取网站的内容信息之后可能会发生变更&#xff0c;因此此处给出具体的爬虫思路&#xff0c;便于应对…

mysql hint 简书_MySQL

为满足不同数据库设计要求&#xff0c;减少数据冗余而指定设计规范&#xff0c;可称为数据库范式数据库范式呈递次规范&#xff0c;即高阶范式必然满足低阶范式越高的数据库范式意味着越严格的设计要求&#xff0c;同时数据冗余越小第一范式(1NF)&#xff1a;数据库表的每一列都…

python获取手机通知栏消息_Python编写简单的通知栏脚本启动工具

随着自己编写的脚本与安装的工具越来越多,电脑的桌面和文件夹也越来越乱了。就在前几天因为一个不小心,我把自己的一个项目给删了,所以决定将电脑整理一下。不过这一整理我很多脚本和工具的位置我就忘记了,所以决定写个小工具来快速启动一些常用的脚本或工具这里选择Python是因…

java 圆 继承_java 类的继承(转)

这个星期主要是学习了Java中类的继承问题.继承就是由已有的类创建新类,通过子类继承父类的方法,实现一些功能.下面就是老师布置作业的其中一个:定义父类圆&#xff0c;通过继承&#xff0c;获得子类球、圆锥、圆柱&#xff0c;子类具有计算体积的功能。1)新建文件夹Test1&#…

java爬虫 京东_Java爬虫实现京东物流查询

网上没有免费的接口&#xff0c;只能自己写一套了&#xff0c;参考代码如下public static JSONObject getLastInfo(String no){JSONObject jsonObjectnew JSONObject();jsonObject.put("no", no);Connection connectionJsoup.connect("http://www.jdwl.com/orde…