一直有人发贴,问关于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./forum.php?mod=viewthread&tid=166961 https://bbs./forum.php?mod=viewthread&tid=141247 转载自:https://bbs./forum.php?mod=viewthread&tid=167851&extra= |
|
来自: 嶅山村夫 > 《Deepin系统》