内容来自网上查找和总结以及自己的尝试
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就可以了。之后再根据你的需要改顺序和默认启动项就行。
fabric网络环境启动过程详解
这篇文章对fabric的网络环境启动过程进行讲解,也就是我们上节讲到的启动测试fabric网络环境时运行network_setup.sh这个文件的执行流程 fabric网络环境启动过程详解 上一节我们 ...
(转)Linux 开机引导和启动过程详解
Linux 开机引导和启动过程详解 编译自:https://opensource.com/article/17/2/linux-boot-and-startup作者: David Both 原创:LC ...
linux系统设置服务开机启动3种方法,Linux开机启动程序详解
linux系统设置服务开机启动 方法1:.利用ntsysv伪图形进行设置,利用root登陆 终端命令下输入ntsysv 回车:如下图 方法2:利用命令行chkconfig命令进行设置 简要说明 ...
【STM32H7教程】第13章 STM32H7启动过程详解
完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第13章 STM32H7启动过程详解 本章教 ...
Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)
启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬 ...
Linux启动过程详解
Linux启动过程详解 附上两张图,加深记忆 图1: 图2: 第一张图比较简洁明了,下面对第一张图的步骤进行详解: 加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的 ...
linux 开机启动过程详解
Linux开机执行内核后会启动init进程,该进程根据runlevel(如x)执行/etc/rcx.d/下的程序,其下的程序是符号链接,真正的程序放在/etc/init.d/下.开机启动的程序(服务等 ...
Linux开机启动程序详解
Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. ...
Android 核心分析 之八Android 启动过程详解
Android 启动过程详解 Android从Linux系统启动有4个步骤: (1) init进程启动 (2) Native服务启动 (3) System Server,Android服务启动 (4) ...
随机推荐
JS事件-让网页交互
什么是事件 Javascript 创建动态页面.事件是可以被 Javascript 侦测到的行为. 网页中的每个元素都可以产生某些可以触发 Javascript 函数或程序的事件. 比如说,当用户单击 ...
Linux—fork函数学习笔记
fork()函数 在赋值语句pid = fork();之前,只有一个进程在执行这段代码,但在这条语句之后,就变成两个进程在执行了,这两个进程的代码部分完全相同.> 两个进程中,原先就存在的那个被 ...
Lambda表达式的由来
1.lambada表达式的本质:一个匿名方法,或说是匿名委托.从C#3.0开始支持,C#2.0只支持匿名方法语法很简单 : (输入参数)=>expr //当参数为一个是可以省略括号.lamb ...
Spring基础篇——bean的自动化装配
上篇博文讲Spring的IOC容器时说道,虽然容器功能强大,但容器本身只是个空壳,需要我们主动放入装配对象,并告诉它对象之间的协作关系,然后容器才能按照我们的指示发挥它的魔力,完成装配bean的使命. ...
Java基础系列-ArrayList
原创文章,转载请标注出处: 一.概述 ArrayList底层使用的是数组.是List的可变数组实现,这里的可变是针对List而言,而不是底层数组. ...
MySql 查询银行卡号打码
),")) end as card_number from das.staff_base; case 函数 CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THE ...
独立出properties的mybatis连接池
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/java505?useSSL=true&chara ...
Go控制语句
指针 Go虽然保留了指针,但是与其他编程语言不通的是,在Go当中不支持指针运算以及"->"运算符,而是直接采用"."选择符来操作指针目标对象的成员. 操作 ...
iframe页面刷新问题
1.问题:当iframe的页面加载过再关闭之后,如果iframe的src没有发生变化,js不会重新加载,再次打开页面不会刷新: 2.解决方法:关闭页面时清空src,再次打开时即可重新加载最新数据. $ ...