内容来自网上查找和总结以及自己的尝试

boot里面的启动项是根据其它文件生成的,如果改boot里面,会在你更新grub后再次回到原来的状态。(之后 我(有显卡驱动问题的用户)通过在开机时选择系统页面按e在倒数第二行ro quiet splash 后面加上acpi_osi=! acpi_osi="Windows 2009"可以从最新内核进入系统。在/etc/default/grub 文件里面相同位置也加上这一句后会让系统不能自己更新grub,之后你就可以在boot/grub里面直接更改启动项内容而不必担心系统回滚)
更改启动项主要从两个文件夹改:/etc/default/grub和/etc/grub.d,下面解释一下这两个文件夹的内容。.
1./etc/default/grub:

GRUB_BACKGROUND="/boot/grub/themes/deepin/background.png"       #背景图片的路径
GRUB_CMDLINE_LINUX_DEFAULT="splash quiet"       #开机的开机动画(貌似是,需要加载显卡)有显卡驱动问题的可以在后面加上 nomodeset(此选项只会追加在一般模式后)
GRUB_DEFAULT=0                        #默认启动项,这个值为0就是默认启动第一个,为1默认启动第二个
GRUB_DISABLE_RECOVERY="true"   #禁止显示救援模式(这个不太懂)
GRUB_DISTRIBUTOR="`/usr/bin/lsb_release -d -s 2>/dev/null || echo Deepin`" #获得发行版本(此行将追加到所有的linux 定义内核行的后面,不论是救援模式还是一般模式)
GRUB_GFXMODE="1920x1080"     #启动的分辨率
GRUB_THEME="/boot/grub/themes/deepin/theme.txt"  #启动的主题,是各种图片和各种显示的字体
GRUB_TIMEOUT=5     #等待时间,5秒未操作直接进入默认系统。改为-1是一直等待。

2./etc/grub.d:

00_header                         # 配置初始的显示项目,如默认选项,时间限制等,一般由/etc/default/grub导入,一般不需要配置
05_debian_theme        #  配置引导画面,文字颜色等主题
10_linux                            #定位当前操作系统使用中的root设备内核的位置,包含deepin 启动项和advanced里面的启动项
15_linux_bar                  # 救援模式的启动项
20_linux_xen                 # 虚拟机监视器的东西,(暂时不知有什么用
30_uefi-firmware       # “system setup” 的启动项
35_os-prober               #   windows的启动项一般在这个里面
40_custom                   # 用来加入用户自定义的启动项,将会在执行update-grub时更新至grub.cfg中
41_custom                  # 判断custom.cfg此配置文件是否存在,如果存在就加载它
前面的数字是对文件排列执行的顺序进行排序,可进行更改,比如你想把windows启动项调到第一个,就把35_os-prober前面那个数字改成5到10的数字,比如06、07、08、09.

3.想更改deepin系统的启动内核(有这个需求是不少人在新内核上有显卡驱动问题,而从advanced里面进不能默认进入)
(deepin默认的应该是最新的启动内核,你在boot/grub/grub.cfg里面更改的话只要一更新grub就会回到原来的内核)因此是要改10_linux文件的,但是里面是汇编命令看不懂,
这时40_custom 提供了一个在启动页面加一个新的启动项的简单方法,具体操作如下:

1.打开boot/grub/grub.cfg,找到你默认的启动项(或者你想要改到外面的advanced里面的启动项)(这些启动项都在10_linux里面),大概如下:
menuentry 'Deepin 15.6 GNU/Linux(名字在这里改)' --class deepin --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-6873bab1-cdf1-4931-8717-d2258cb3ad87' 
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        set root='hd0,gpt4'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4  6873bab1-cdf1-4931-8717-d2258cb3ad87
        else
          search --no-floppy --fs-uuid --set=root 6873bab1-cdf1-4931-8717-d2258cb3ad87
        fi
        linux        /boot/vmlinuz-4.15.0-21deepin-generic root=UUID=6873bab1-cdf1-4931-8717-d2258cb3ad87 ro  splash quiet
        initrd        /boot/initrd.img-4.15.0-21deepin-generic
}
2.复制粘贴到40_custom那三行字下面(需要以管理员身份打开)
3.然后把名字改一下(为了避免重复嘛,你要是在advanced里面复制的就不用改了),最后两行是启动内核,改一下(当然,你要是复制的advanced里面你想改的内核启动项就直接粘贴就行了)
4.保存 之后sudo update-grub就可以了。之后再根据你的需要改顺序和默认启动项就行。

启动项详解和更改deepin启动内核的方法的更多相关文章

  1. fabric网络环境启动过程详解

    这篇文章对fabric的网络环境启动过程进行讲解,也就是我们上节讲到的启动测试fabric网络环境时运行network_setup.sh这个文件的执行流程 fabric网络环境启动过程详解 上一节我们 ...

  2. (转)Linux 开机引导和启动过程详解

    Linux 开机引导和启动过程详解 编译自:https://opensource.com/article/17/2/linux-boot-and-startup作者: David Both 原创:LC ...

  3. linux系统设置服务开机启动3种方法,Linux开机启动程序详解

    linux系统设置服务开机启动 方法1:.利用ntsysv伪图形进行设置,利用root登陆 终端命令下输入ntsysv 回车:如下图     方法2:利用命令行chkconfig命令进行设置 简要说明 ...

  4. 【STM32H7教程】第13章 STM32H7启动过程详解

    完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第13章       STM32H7启动过程详解 本章教 ...

  5. Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)

    启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬 ...

  6. Linux启动过程详解

    Linux启动过程详解 附上两张图,加深记忆 图1: 图2: 第一张图比较简洁明了,下面对第一张图的步骤进行详解: 加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的 ...

  7. linux 开机启动过程详解

    Linux开机执行内核后会启动init进程,该进程根据runlevel(如x)执行/etc/rcx.d/下的程序,其下的程序是符号链接,真正的程序放在/etc/init.d/下.开机启动的程序(服务等 ...

  8. Linux开机启动程序详解

    Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. ...

  9. Android 核心分析 之八Android 启动过程详解

    Android 启动过程详解 Android从Linux系统启动有4个步骤: (1) init进程启动 (2) Native服务启动 (3) System Server,Android服务启动 (4) ...

随机推荐

  1. Tx.Origin 用作身份验证

    Solidity 中有一个全局变量,tx.origin,它遍历整个调用栈并返回最初发送调用(或交易)的帐户的地址.在智能合约中使用此变量进行身份验证会使合约容易受到类似网络钓鱼的攻击. 有关进一步阅读 ...

  2. (转)EOSIO开发(四)- nodeos、keosd与cleos

    前一篇文章介绍了EOSIO中钱包.账户与账户权限的概念,这一篇文章继续学习EOSIO系统的主要组件,包括nodeos.keosd以及cleos. 本文执行的命令都是基于Docker环境,请先下载Doc ...

  3. CentOS在VMware中 网络配置

    一. 将centos安装好之后,发现ping, ifconfig等常见的命令都用不了,出现unknown service或command not found这样的字眼,这让我十分无语.查了一下资料,i ...

  4. c#中取整和取余

    "%"为取余. "/"号整型运算是取整,浮点运算时为除法运算.如54/10结果为5,54.0/10.0结果为5.4.而且取整时不进行四舍五入只取整数部分,如54 ...

  5. [LeetCode] 124. Binary Tree Maximum Path Sum_ Hard tag: DFS recursive, Divide and conquer

    Given a non-empty binary tree, find the maximum path sum. For this problem, a path is defined as any ...

  6. [洛谷]p1996约瑟夫环 &xdoj1311

    https://www.luogu.org/problemnew/show/P1996 约瑟夫环这个问题一直以来都是用循环链表写的,今天才知道有循环队列的写法.以下是要点: 1.循环队列实现环的思想, ...

  7. vue中实现浏览器的复制功能

    点击复制,就可以实现copy <p class="inline-block"> <span >{{fenxiao.appSecret}}</span& ...

  8. .net core 路由处理请求流程图

  9. 第四章 CSS3概述

    1.CSS3新增常用选择器(1)结构性伪类选择器:root 文档根元素 :nth-child(n) 第N个子元素"first-child 第一个元素 :kast-child 最后一个子元素 ...

  10. <8>Cocos Creator组件开发cc.Component

    1.组件简介 组件是Cocos Creator的主要构成,渲染(场景显示内容).逻辑.用户输入反馈.计时器等等几个方面都是由组件完成的.根据Cocos Creator的总体架构,组件和节点配合完成游戏 ...