彻底讲明白安装双系统时,为什么要先装Windows再装Linux

2023-12-28 19:48

本文主要是介绍彻底讲明白安装双系统时,为什么要先装Windows再装Linux,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考资料:《鸟哥的Linux私房菜——基础篇》第十九章

文章目录

    • 首先了解一下开机的过程有哪些?
    • Boot Loader
        • boot loader的功能
        • 如果在主机上安装不同的操作系统

首先了解一下开机的过程有哪些?


以个人计算机架设的Linux主机为例,按下电源键后

  1. 加载BIOS硬件信息,进行硬件系统的自我测试,取得第一个可开机的装置(BIOS决定)
  2. 读取并执行MBR(开机装置的第一个扇区(Sector))的开机管理程序(也叫Boot loader)
  3. 开机管理程序(Boot loader)指定使用哪个核心(kernel)来开机,kernel开始侦测硬件与加载驱动程序。
  4. kernel呼叫systemd程序,开机。

Boot Loader


boot loader的功能
  • 提供选单:用户可以选择不同的开机项目,这也是多重引导的重要功能!
  • 载入核心文件:识别操作系统的文件格式据以加载核心到主存储器中执行,来开始操作系统 (注意:不同的操作系统的文件格式不一样,因此每种操作系统都有自己的boot loader)
  • 转交其他loader: 将开机管理功能转交给其他loader
如果在主机上安装不同的操作系统
  1. 必须要使用自己的loader才能加载属于自己的操作系统核心
  2. 系统的MBR只有一个,如何在一部主机上安装windows与Linux呢?

回顾linux文件系统,每个文件系统(file system,或时partition)都会保留一块启动扇区(boot sector)提供操作系统安装boot loader,所以当同时安装windows和linux后,该boot sector,boot loader与MBR的相关性如下:
在这里插入图片描述

如图,各个操作系统都可以安装一份boot loader到boot sector中,这样各个操作系统就可以透过自己的boot loader来加载核心了。

但是!因为Winodws的loader不具有控制权转交的功能,即不能使用windows的loader来加载Linux的loader!所以需要先装windows在装linux。这样MBR里面,先装的windows的loader才会被后装的Linux的boot loader所覆盖,使用Linux的loader的选单功能,才能够启动双系统

在这里插入图片描述

这篇关于彻底讲明白安装双系统时,为什么要先装Windows再装Linux的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/547086

相关文章

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根