分享

windows+deepin 双系统启动

 太行郎中 2019-12-30
 本帖最后由 comzhong 于 2016-10-5 14:25 

    windows+deepin 双系统启动,建议常用Windows用Bootmgr引导,常用deepin用Grub2引导.

一、Legacy BIOS
  1.1  Bootmgr引导作为主启动菜单,添加deepin启动项
         1.1.1 进入windows,可以设置当前引导为Bootmgr(已经是的不用),也就是主引导记录MBR设置为:Windows NT 6.x MBR,分区引导记录为:BOOTMGR引导程序,EasyBCD和BOOTICE都可以轻松做到,没什么好说的
         1.1.2 使用EasyBCD,添加deepin启动项,像下图设置,添加条目就可以了

  1.2  Grub2引导作为主启动菜单
         1.2.2 进入deepin,设置当前引导为grub2(已经是的不用)
  1. sudo grub-install /dev/sda

  2. sudo update-grub

复制代码
         1.2.2 也可以进入deepin live,设置当前引导为grub2(已经是的不用)
  1. 创建挂载目录

  2. sudo mkdir -p /mnt/distro

  3. 挂载分区

  4. mount /dev/sda5 /mnt/distro

  5. 重装 Grub

  6. grub2-install --root-directory=/mnt/distro /dev/sda

复制代码
        1.2.3 刷新Grub2菜单,一般自动搜索已安装的系统形成启动菜单
  1. sudo apt-get update

复制代码

二、UEFI启动

       系统自带UEFI工具对于 Linux 用户是 efibootmgr ,对于 window 用户则是 bcdedit 。

        正常情况下,安装Windows和deepin后,UEFI启动序列里都会有他们的启动项,ESP分区有其启动文件,显然,一般电脑会按顺序尝试启动


  2.1  Bootmgr引导作为主启动菜单,启动deepin
    2.1.1 进入Windows,使用EasyUEFI或BOOTICE调整UEFI启动序列,设置Windows Boot Manager为第一启动项,启用菜单启用Metro界面
    2.1.2 启动deepin


用鼠标依次选择:
  • 更改默认值或其他操作系统

  • 选择其他操作系统

  • 使用设备

  • deepin

即可启动Grub2引导



看起来似乎有点麻烦,但我为什么推荐这样做?
首先,这是对于Windows为主的人,可以不必关闭Windows快速启动,不会为了使用deepin而失去日常使用Windows享受快速启动的好处,同时,不会因为Windows快速启动锁定了分区,而让deepin不能正常使用,(当然,Windows的快速启动在启动其它系统,即使也是支持快速启动的Windows后,本次快速启动会失效,这是微软设计的问题了,另外微软故意让其它uefi启动项隐藏得这么深,而不能直接显示在启动页,实在太小心眼了)

  2.2  Grub2引导作为主启动菜单,启动Windows
    2.1.1 进入deepin,重新安装 bootloader
  1. apt-get install --reinstall grub-efi-amd64

复制代码
   2.1.2 UEFI 模式启动启动deepin live

    1. 挂载ESP分区

    2. sudo mount /dev/sda1 /mnt/boot/efi

    3. 重新安装 bootloader

    4. apt-get install --reinstall grub-efi-amd64

    复制代码
  •    2.2.3 刷新Grub2菜单,一般自动搜索已安装的系统形成启动菜单


    1. sudo apt-get update

    复制代码

    三、Grub2菜单更多内容
  • 来自与:让Grub 2来拯救你的 bootloader:

  • http://www.cnblogs.com/probemark/p/5857963.html

  •     Grub 2 是一款功能强大的软件,它不是 bootloader 界的唯一,但却最受欢迎,几乎所有主流的桌面发行版都在使用它。



  •     Grub 的工作有两个:首先,它用一个菜单展示计算机上所有已经安装的操作系统供你选择;其次,当你从启动菜单中选择了一个 Linux 操作系统后, Grub 便加载对应版本Linux 的内核,众所周知,使用 Linux 就离不开 bootloader ,然而它却是 Linux 发行版内部很少有人充分了解的部分。



  •     1、Grub 2 最重要的部分是一堆文本文件和两个脚本文件,首先需要了解的是

  • /etc/default/grub
  • ,这是一个文本文件,你可以在里面设置通用配置变量和 Grub 2 菜单(见下方 “常见用户设置” )的其它特性。



  •     2、Grub 2 另一个重要的部分是

  • /etc/grub.d
  • 文件夹,定义每个菜单项的所有脚本都放置在这里,这些脚本的名称必须有两位的数字前缀,其目的是:在构建 Grub 2 菜单时定义脚本的执行顺序以及相应菜单项的顺序。举个栗子:文件

  • 00_header
  • 首先被读取,负责解析

  • /etc/default/grub
  • 配置文件,然后是 Linux 内核的菜单项,位于

  • 10_linux
  • 文件中,这个脚本在默认的/boot分区为每个内核创建一个正规菜单项和一个恢复菜单项。



  •     3、紧接着的是被第三方应用所调用的脚本,如

  • 30_os-prober
  • 40_custom
  • , os-prober 脚本为内核和其它分区里的操作系统创建菜单项,它能识别安装的Linux、 Windows、 BSD以及Mac OS X,当然如果你的硬盘布局比较独特,使得 os-prober 无法找到已经安装的发行版,你可以在

  • 40_custom
  • 文件(见下方 “添加自定义菜单项”)中添加菜单项。



  •     4、Grub 2 不需要你手动维护你的启动选项的配置文件:取而代之的是使用 grub2-mkconfig 命令产生/boot/grub/grub.cfg文件。这个功能会解析

  • /etc/grub.d
  • 目录中的脚本以及

  • /etc/default/grub
  • 设置文件来定义你的设置情况。



  • 添加自定义菜单项
  •     如果希望往 bootloader 菜单里添加菜单项,你需要在

  • 40_custom
  • 文件里添加一个启动段boot stanza,例如,你可以使用它展示一个菜单项来启动安装在可移动 USB 驱动里的 Linux 发行版,假设你的 USB 驱动器是 sdb1 ,并且 vmlinuz 内核镜像和虚拟文件系统initrd都位于根 (/)目录下,在

  • 40_custom
  • 文件中添加以下内容:


    1. menuentry “Linux on USB” { set root=(hd1,1) linux /vmlinuz root=/dev/sdb1 ro quiet splash initrd /initrd.img }

    复制代码

  •     相比使用设备和分区名,使用它们的 UUID 可以获得更精确结果,比如


    1. set root=UUID=54f22dd7-eabe

    复制代码

  •     使用如下命令来获得所有已连接的驱动器和分区的 UUID :


    1. sudo blkid

    复制代码
  •    你还可以为你磁盘上没被 os-prober 脚本找到的发行版添加菜单项,只要你知道该发行版的安装位置以及其内核和虚拟文件系统initrd的位置即可。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多