不管是先装Win10还是先装Deepin,启动问题轻松搞定
Tofloor
poster avatar
y***[email protected]
deepin
2018-08-26 02:22
Author
本帖最后由 yjgsz 于 2018-10-20 11:01 编辑

一直有人发贴,问关于Win和Deepin双系统启动的问题,电脑硬件和配置复杂多样,深度官方安装程序不能解决所有问题,有人安装deepin后进不了WIN10,有人安装WIN10后,找不到deepin启动项,进不了deepin了,等等。
虽然论坛已有不少这方面的帖子,但不完整。今天有空,简单梳理归纳下,给有用的人。
如有人继续问:什么是UEFI和BIOS,什么是GPT和MBR,主板要怎么设置,grub、grub2是怎么引导的,怎么知道自己电脑和硬盘的模式等,这些不是本文要讲的内容,请自行百度学习。

不管是先装Win10,还是先装Deepin,启动引导基本上分为两种类型:BIOS和UEFI模式

1、BIOS+MBR,安装WIN后,启动硬盘的主引导记录为windows 6X,启动分区引导记录为bootmgr,WIN7以上引导文件为bootmgr,菜单文件为BCD(\boot)。
    安装deepin后,引导记录变为grub,菜单配置文件为menu.lst(\menu.lst)。后安装的系统会更改之前安装的引导方式。U盘启动WINPE,用BOOTICE可以轻松更改引导方式。
2、UEFI+GPT,不需要引导记录,只需要一个FAT32分区(不要求一定是第一个分区),里面有引导文件就行,如有多个FAT32分区,则从找到的第一个FAT32分区开始引导。
   UEFI模式下,所有系统的引导都是bootx64.efi,但linux和win引导文件同名,但内容不同,分别引导各自系统。
  WIN引导方式菜单配置文件为BCD(\EFI\microsoft\boot),grub2(linux)的菜单文件为grub.cfg(\boot\grub)。
  可通过系统由grub2引导,再添加WIN启动项来启动WIN10(将WIN的引导文件bootx64.efi改名,添加到grub2的配置文件grub.cfg 中)。

详细内容如下:

1、BIOS模式下用GRUB引导比较方便,先设置主引导记录和分区引导记录为GRUB,并将grldr.mbr复制到硬盘(U盘)引导分区根目录下。既可以引导WIN,也可以引导LINUX,还可以直接引导ISO文件。

2、UEFI模式(GPT硬盘)不需要主要引导记录,用GRUB2引导较方便。只要求引导分区是FAT32格式,将引导文件放在引导分区就行了。启动时会自动找第一个FAT32分区进行引导。

3、GRUB只要修改根目录下的menu.lst 就行了。
title Win8_Win10 PE
root (hd0,0)
#find --set-root /bootmgr
chainloader /bootmgr


GRUB2引导只要修改\boot\grub 下的grub.cfg 即可。
(为方便使用,可直接在我的模板上修改,将grub_uefi_deepin_usb.rar压缩包解压缩到引导分区,根据需要修改)

BCD菜单可用BOOTICE 编辑,很方便,注意位置,BIOS和UEFI模式下BCD位置不同。

4、UEFI模式下,GRUB2 引导文件为\efi\boot\bootx64.efi ,不管是WIN 还是LINUX,都是bootx64.efi。但文件内容不同,LINUX的bootx64.efi 只会启动LINUX(grub2)。
         GRUB2 配置文件为\boot\grub\grub.cfg,可先将原WIN的引导文件bootx64.efi 改名为bootx64w.efi (随意),可在WIN 系统ISO盘的\efi\boot下找到。
      再修改grub.cfg,添加 WIN系统的bootx64w.efi 引导项,就能引导WIN系统。menuentry "WIN8_WIN10 PE UEFI USB" {
        #set root=(hd0,1)
    chainloader /EFI/boot/bootx64w.efi
                }        

5、在WINT系统或PE下,如看不到引导分区(ESP分区自动隐藏),可运行partid.exe,会自动加载并显示。

6、扩展:deepin-15.7-amd64.iso 在UEFI模式下是GRUB2引导,配置文件为\boot\grub\grub.cfg,在BIOS模式下是ISOLINUX 引导,配置文件是\ISOLINUX\LIVE.CFG
在制作好DEEPIN安装U盘后,可进一步修改配置文件,添加WINPE的引导项,这样,一个U盘,既能引导PE,又能引导DEEPIN进行安装,方便多了。label winpe_usb
kernel /syslinux/chain.c32
append hd0 0 ntldr=/bootmgr

7、系统启动先引导grub 或grub2,再引导WIN或PE。
   BIOS 模式下,grub(\menu.lst)--grub菜单--bootmgr--BCD启动菜单(\boot\BCD)--启动WIN,
   UEFI模式下,GRUB2(\boot\grub\grub.cfg)--bootx64.efi---grub2菜单--bootx64w.efi( WIN的bootx64.efi 改名)--BCD启动菜单(\efi\microsoft\boot\BCD)--启动WIN   XP 系统引导文件是NTLDR,WIN7 以上引导文件是bootmgr

8、BIOS模式下,如平时用的是WIN,难得用LINUX,或又习惯WIN启动菜单的(BCD)。
   也可以用BOOTICE在BCD中添加 grub菜单项,再引导DEEPIN。先添加实模式启动项,再在menu.lst 中配置LINUX启动菜单项。

9、 目前,我台式机有3个机械硬盘和一个SSD,DEEPIN 安装在机械硬盘上,我不喜欢用 update-grub,  也是自己配置grub 的 menu.lst,直接启动Deepin。
title Deepin Linux 15.7_amd64 (hd1,3)  install k: /dev/sdb4
   root (hd1,3)
    kernel  /boot/vmlinuz-4.15.0-29deepin-generic root=/dev/sdb4 ro  splash quiet
     initrd  /boot/initrd.img-4.15.0-29deepin-generic

我也不用kernel  /boot/vmlinuz-4.9.0-deepin2-amd64 root=UUID=f0d30953-xxxx-xxxx-xxxx-xxxxxxxxxx ro recovery,因格式化重装后UUID会变。
用root=/dev/sdb4 这种方式,重装后不用修改多系统引导文件的配置,最多修复一下引导方式。
不足之处是,内核更新后,要修改一下配置文件的引导文件名,现在15.7版的是vmlinuz-4.15.0-29deepin-generic 和initrd.img-4.15.0-29deepin-generic,
如以后升级为vmlinuz-4.16.0-deepin-generic 和initrd.img-4.16.0-deepin-generic,那对应改一下就行了,文件在deepin系统盘的\boot文件夹。

配置文件的(hd0,0)或(hdx,x),及 /dev/sdbx 要看引导分区的具体位置。有疑问百度一下。

10、其他:UEFI+MBR硬盘,实际上可以启动WIN,但 WIN系统只能是GHOST 恢复的或用imagex工具安装,不能用ISO进行install安装。     正常安装必须是UEFI+PGT硬盘,64位系统。
    综合以上方法,可以实现双模式(uefi、bios)多硬盘多系统、U盘多分区多系统引导,从WIN、PE、LINUX到 黑苹果、白苹果(苹果MacBook是EFI引导),都可以。   
  不管是先装WIN10,还是先装DEEPIN,统统搞定。
  为方便引导管理,最好增加ESP(FAT32分区)引导分区的容量,我的硬盘和U盘的引导分区是3GB,将PE、linux ISO(方便启动 LIVE模式)文件都放在引导区。

https://bbs.deepin.org/post/166961
https://bbs.deepin.org/post/141247








Reply Favorite View the author
All Replies
1 / 2
To page
y***[email protected]
deepin
2018-08-26 02:27
#1
本帖最后由 yjgsz 于 2018-11-10 19:49 编辑

比如,我把 deepin live2.0 的ISO (deepin-live-system-2.0-amd64.iso)文件放在硬盘的linux文件夹下,打开ISO文件(可用ultraiso,win8以上双击ISO会自动加载),
把live文件夹中的vmlinuz、initrd.img 复制到硬盘的linux文件夹中,然后编辑启动菜单配置文件menu.lst(BIOS模式grub引导),
开机后直接引导硬盘上的deepin-live-system-2.0-amd64.iso,启动 Deepin Live 2.0 进行系统维护。具体内容如下:
title Deepin Live 2.0 ISO
root (hd3,3)
kernel        /linux/vmlinuz boot=live findiso=/linux/deepin-live-system-2.0-amd64.iso components quiet splash locales=zh_CN.UTF-8
initrd        /linux/initrd.img
  #我电脑中有多个硬盘,deepin-live-system-2.0-amd64.iso 所在分区为 (hd3,3),各人根据自己实际情况进行修改。  # 现15.7版安装盘 deepin-15.7-amd64.iso 不支持Live 模式,如以后版本支持的话则更方便,安装与维护都从ISO直接引导就行了。
当然放在U盘上也可以,比较方便。U盘单分区或多个分区的第一个分区则为 (hd0,0)。
**********************************************
补充下:2018.11.10
不断有人发帖提问怎么分辨BIOS+MBR和UEFI+GPT?(最好还是自行百度学习下)
其实,一个引导菜单编辑工具BOOTICE就解决了(还有格式化、激活和差分等功能,自己体会),楼上附件中有。
看截图:

Reply View the author
ylxdxx
deepin
2018-08-26 02:47
#2
收藏一下
Reply View the author
kingskill
deepin
2018-08-26 04:35
#3
马克马克
~~
Reply View the author
jelly
deepin
2018-10-20 19:11
#4
写这么多字,辛苦分享!方法看起来不错,不过看一遍没看懂,我再好好研究一下吧~
Reply View the author
jianguo922
deepin
2018-10-20 20:30
#5
谢谢分享      
Reply View the author
superJunior
deepin
2018-10-21 01:35
#6
顶你。。对于台式机我有更好的方法:两块SSD,一个系统装一个,开机选择F12。。。
Reply View the author
Comments
jwyh
2020-03-12 23:29
但是这样子很麻烦,我都是用refind,好看又好用
y***[email protected]
deepin
2018-10-22 01:14
#7
Reply View the author
hawker
deepin
2018-10-23 04:05
#8
码这么多字,看是不可能看了,懒得看了,但必须顶啊,这么勤快应该不会错了
Reply View the author
sway_wu
deepin
2018-10-23 05:53
#9
66666, 太吊了.
虽然暂时对我,没有用. 但是还是第一时间收藏了.
感谢楼主,楼主万岁啊
Reply View the author
y***[email protected]
deepin
2018-10-26 16:26
#10
本帖最后由 yjgsz 于 2020-4-14 14:54 编辑

UEFI启动视频详解http://bbs.wuyou.net/forum.php?mod=viewthread&tid=299643&extra=&page=1

帖子内容再归纳一下:

BIOS引导模式
1、硬盘为MBR格式,引导分区须激活,为主分区,如要支持双模式启动,最好为fat32格式,为方便以后调整,也可放在最后一个分区。
2、主引导记录为Windows MBR,分区引导为GRUB4DOS模式
   grub的引导文件grldr.mbr,配置文件为目录下的menu.lst,
  配置menu.lst启动菜单,可引导至WIN、PE或Linux 等

   注意:如分区引导为BOOTMGR,以bootmgr 通过 BCD加载实模式grldr.mbr方式引导,如引导的fat32分区不是第一个分区,可能引导失败。

   修改硬盘主引导记录和分区引导记录,以及在WIN10启动配置文件BCD中添加grub引导,可用BOOTICEx64_1.3.4.exe

UEFI引导模式
1、硬盘建议为GPT格式,引导分区不需要激活,不讲究分区位置顺序,但必须为fat32格式,默认引导文件为bootx64.efi
  (在UEFI模式下install或setup安装系统,硬盘必须为GPT格式,
     但通过ghost等方式恢复或WinNTSetup等工具安装的系统,可在MBR硬盘上启动)
2、grub2的引导文件为 grubx64.efi,配置文件为grub.cfg
3、uefi模式下,从WIN的引导文件 bootx64.efi(默认)不能引导grub,
     先将WIN默认的bootx64.efi,改名为bootx64win.efi (随意),再将grub2的引导文件 grubx64.efi 改名为bootx64.efi,
    这样默认的bootx64.efi 其实就是原来的grubx64.efi ,启动时会加载grub启动菜单(grub.cfg ),引导 LINUX系统。
    并且只要在grub.cfg 文件中添加 WIN系统引导项(如引导bootx64win.efi ),就可启动WIN系统或PE
menuentry "WIN10 PE UEFI " {
        #set root=(hd0,0)
    chainloader /EFI/boot/bootx64win.efi
                }        


Reply View the author
看见如果
deepin
2018-10-26 17:01
#11
玩具而已,能装就装,不能拉倒。。。随缘
Reply View the author
云帆苍海
deepin
2018-10-27 17:45
#12
真的很辛苦,但估计没几个人看懂。而且有些内容我也不苟同。MBR引导方式简单些,UEFI引导双系统有点复杂吧,并不是简单分个fat32分区就可以的吧?一定要分成ESP分区,格式化成FAT32格式。而且不同的linux系统安装也有些不一样。安装过linuxmint/win7  manjaro/win7两个双系统,还是有差别的。具体怎样就不说了,要安装reFind引导程序,这应该是最好的方案。失败过好几次,不过终于有了一些经验。
Reply View the author
Comments
jwyh
2020-03-12 23:34
deepin自带的引导可以直接引导Windows 10,至于win7的话。。。我记得win7似乎对uefi不是很友好。当然refind确实很好用
jwyh
2020-03-12 23:33
uefi的话可以在只有Windows的时候直接用工具一键转换,一般来说后续装新系统的时候只要把legacy的支持关掉都会直接装成uefi的。
y***[email protected]
deepin
2018-11-11 03:45
#13
我电脑开机后引导WIN引导,再用grub引导deepin或其他linux等。
看截图:
Reply View the author
jelly
deepin
2018-11-11 04:19
#14
https://bbs.deepin.org/post/167851
我电脑开机后引导WIN引导,再用grub引导deepin或其他linux等。
看截图:

可以单独整个教程帖子么?
Reply View the author
lcy1998
deepin
2018-11-11 04:58
#15
师傅能不能做一个win10引导被新安装的deepin修改后,进winpe用bootice改回来的图片教程
Reply View the author
y***[email protected]
deepin
2018-11-11 05:45
#16
https://bbs.deepin.org/post/167851
师傅能不能做一个win10引导被新安装的deepin修改后,进winpe用bootice改回来的图片教程 ...

实际上,上面的就差不多是教程贴了。还是理解搞懂了才行,每个人硬盘数、安装分区及方式都不一样,不搞懂照搬照抄启动不了。
理解的话,下载附件后,改两个参数就行了。
Reply View the author
y***[email protected]
deepin
2019-06-26 22:07
#17
本帖最后由 yjgsz 于 2019-6-27 08:19 编辑

BIOS模式下,在BCD中添加 grub菜单项:将grldr.mbr文件复制到引导分区根目录下,然后启动BOOTICE在BCD中进行设置(如下图grub.png),其对应的菜单文件menu.lst,可与grldr.mbr放在同一个地方,也可放在其他任何分区的根目录下。
Reply View the author
BirdandFish
deepin
2019-06-26 23:38
#18
先标记下,看着很高大上
Reply View the author
浪云
deepin
2019-06-27 05:24
#19
怎么感觉有点乱,能不能分开两种启动模式写,
看一遍没看懂,改天再好好研究一下吧~

四种方式只会EFI下win引导,两种GRUB和MBR都还没学会
Reply View the author
pandastrong
deepin
2020-03-12 17:27
#20
不错的贴子    mark下  学习 谢谢分享
Reply View the author
1 / 2
To page