Arch Linux切换rEFInd开机引导程序
时间:2022-07-24
本文章向大家介绍Arch Linux切换rEFInd开机引导程序,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
先导
以下rEFInd
的arckwiki
词条的内容:
rEFInd 是一个 UEFI 启动管理器。它是 rEFIt (不再维护)的一个分支并且针对非 Mac 硬件修复了若干问题。它被设计为平台无关,可启动多个操作系统。
使用rEFInd
的需求是我原来使用的是bootctl
这个启动引导程序,虽然简单好用,但是只有黑白界面难免有点单调,所以就想使用一个比较漂亮的但是文件结构又简洁的bootloader
,所以grub
就被丢弃了,虽然它的却很强大,但是文件结构有点复杂,配置影响因素有点多
安装rEFInd
sudo pacman -S refind-efi
配置
备份原有引导
首先备份移除原有的bootloader
,我之前用的是bootctl
,所以需要备份/boot/loader
文件夹和/boot/EFI/systemd/systemd-bootx64.efi
文件
cp -r /boot/loader ~/loader
cp -r /boot/EFI/systemd ~/systemd
配置rEFInd
安装rEFInd
引导文件至启动分区:
sudo refind-install
一般情况下能够直接进行安装,如果出问题请查看archwiki
的rEFInd
的手动安装引导文件小节,请点击这里
配置主题
rEFInd的主题可以在github中自己搜索得到
将自己心仪的主题下载下来之后将其解压至/boot/refind/themes
中,在/boot/refind/refind.conf
的末尾加入include themes/你下载的主题/theme.conf
即可生效.
配置自定义启动项
编辑文件/boot/EFI/refind/refind.conf
中向下滑差不多到3/4位置的位置中的Arch Linux
小节,将其中的文件配置成自己的启动方式,下面的例子是我的
menuentry "Arch Linux" {
icon /EFI/refind/themes/refind-ambience/icons/os_arch.png
#volume "Arch Linux"
loader /vmlinuz-linux
initrd /amd-ucode.img
initrd /initramfs-linux.img
options "root=PARTUUID=7ce1b087-1f97-4a98-ac50-408353207b92 rw"
submenuentry "Boot using fallback initramfs" {
initrd /initramfs-linux-fallback.img
}
submenuentry "Boot to terminal" {
add_options "systemd.unit=multi-user.target"
}
#disabled
}
可以看到的的启动的icon
是使用主题里面提供的,可以使得启动的界面更加统一
后记
rEFInd
启动引导程序还是很秀的,主题也挺美观,下面放一张效果图(虚拟机中的)
impressionyang
- ListActivity和自定义列表项
- ListView列表数据源——Adapter
- 初识ListView
- 响应Android系统的事件
- ImageSwitcher和TextSwitcher
- Android BLE 基础框架全新改版
- Android 混淆从入门到精通
- 基础篇章:关于 React Native 之 ViewPagerAndroid 组件的讲解
- 基础篇章:关于 React Native 之 DrawerLayoutAndroid 组件的讲解
- Android 使用 ApachePOI 组件读写 Word doc 和 docx 文件
- Android 开发中如何动态加载 so 库文件
- 良心推荐:总结 Android 开发中必备的代码 Review 清单
- 强烈推荐:基于Java反射实现一个 Android ORM 框架
- Android 高效安全的本地广播 LocalBroadcast 完全解析
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 排障集锦:九九八十一难之第十六难!-------------enoent ENOENT: no such file or directory, open ‘/root/package.json‘
- 大点干!早点散----------深入剖析GFS分布式文件系统
- 大点干!早点散----------ELK企业日志分析系统理论+实战!
- 面试题系列第8篇:谈谈String、StringBuffer、StringBuilder的区别?
- HTTP协议的请求与数据抓包
- Ubuntu 18.04 LTS 通过 Netplan 配置网络教程
- 【kafka源码】kafka内部的一些术语
- TKE使用自建NFS持久化存储
- 网站 SSL 检测 PCI DSS 不合规解决办法
- leetcode链表之分割链表
- 五分钟带你读懂 TCP全连接队列(图文并茂)
- Python基础
- JDK15正式发布,新增功能预览!
- Magicodes.IE 2.3重磅发布——.NET Core开源导入导出库
- 安防视频监控系统视频上云解决方案EasyCVR音频基础知识介绍