[Tutorials] 双系统安装时为什么要先安装Windows再安装Linux
Tofloor
poster avatar
xuqi
deepin testing team
2023-02-22 18:38
Author

日常的办公学习可能偶尔会需要用到双系统,论坛的各路大神也分享过很多安装双系统的安装教程、资料、视频,今天偶然学习到相关知识点,也来论坛和大家分享一下~

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


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

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

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的相关性如下:

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

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

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

2023-2-22_17558.png

Reply Favorite View the author
All Replies
ice
Moderator
2023-02-22 18:41
#1

like

Reply View the author
TXOS-C.User
deepin
2023-02-22 18:52
#2
It has been deleted!
babyfengfjx
Super Moderator
CQA
2023-02-22 18:56
#3

like

Reply View the author
ThinKinG
deepin testing team
2023-02-22 19:04
#4

like

Reply View the author
晚秋(lateautumn)
Moderator
2023-02-22 19:14
#5

看了此文,收获颇多kissing_heart

Reply View the author
dolphin_roy
deepin
2023-02-22 19:15
#6

曾经我也想装双系统但是装完以后必须手动选择从硬盘启动才能正常进入系统选择(即便默认就是从硬盘启动)否则报错。查了很多教程没用同样情况的遂放弃。sad

Reply View the author
方老四
deepin
2023-02-22 19:21
#7

mbr已经尹少了,应该讲一下uefi启动

Reply View the author
qq8645
deepin
2023-02-22 20:09
#8

按此介绍的方式安装双系统没有任何问题,但有点老。

经过测试,在mbr格式下的同一块硬盘上,只要把grub引导安装到linux系统所在的分区,并将linux系统所在分区设为活动分区,通过grub来引导windows(【备选】或通过grub4dos由windows引导linux系统),先装或后装windows就无所谓了。

Reply View the author
Amber
deepin
2023-02-22 20:38
#9
方老四

mbr已经尹少了,应该讲一下uefi启动

uefi很简单了 也许没有必要吧

Reply View the author
昨夜的星辰
deepin
2023-02-22 22:27
#10
dolphin_roy

曾经我也想装双系统但是装完以后必须手动选择从硬盘启动才能正常进入系统选择(即便默认就是从硬盘启动)否则报错。查了很多教程没用同样情况的遂放弃。sad

首先,BIOS要设置成单一的方式,比如BIOS或者UEFI,最好不要用混合模式

设置成硬盘启动的话也是会硬盘的,比如你有多块硬盘,也是要选择的,不然就默认从你第一块硬盘启动了,UEFI模式下会列出所有可能的启动项,你直接调整顺序就可以了

Reply View the author
qq4945286
deepin
2023-02-23 03:19
#11

好像没一定要先安装windows啊,先安装deepin也可以我记得,以前我就有一次先安装deepin再安装windows11。启动回到deepin里面,在终端sudo update-grub就可以检测到windows启动,这样就可以在启动界面选择了

Reply View the author
dolphin_roy
deepin
2023-02-23 04:51
#12
昨夜的星辰

首先,BIOS要设置成单一的方式,比如BIOS或者UEFI,最好不要用混合模式

设置成硬盘启动的话也是会硬盘的,比如你有多块硬盘,也是要选择的,不然就默认从你第一块硬盘启动了,UEFI模式下会列出所有可能的启动项,你直接调整顺序就可以了

我是直接使用的ubuntu那个安装ubuntu与windows并存,两个系统都在一个硬盘上,也都是bios启动,但就是不选硬盘启动它就显示grub啥的

Reply View the author
hanzn-zzx
deepin
2023-02-23 05:58
#13

like

Reply View the author
xuqi
deepin testing team
2023-02-23 19:17
#14
qq4945286

好像没一定要先安装windows啊,先安装deepin也可以我记得,以前我就有一次先安装deepin再安装windows11。启动回到deepin里面,在终端sudo update-grub就可以检测到windows启动,这样就可以在启动界面选择了

  • 抽空我试试这个方法,感谢分享~
  • 如果可以用的话又学了一招~😂
Reply View the author
catubibu
deepin
2023-05-14 18:58
#15
xuqi
  • 抽空我试试这个方法,感谢分享~
  • 如果可以用的话又学了一招~😂

楼上试了么?可否分享一下?

我装了win11再装Din,找不到win11就重装win11,结果装不上了,说不符合最低要求,diskgenius硬盘分区全部干掉重头来还是不让装win11。

现在是2T全给了Din,不知道还能不能装上win11,怎么搞呢?

Reply View the author