Linux内核加载f2fs,安装f2fs工具以使用f2fs文件系统作为引导deepin系统分区
本文介绍在固态硬盘中安装f2fs工具f2fs-tools以使用f2fs文件系统作为引导deepin系统分区,详细的实现步骤请看下面。其实要想支持f2fs作为根分区或者说boot启动要做四件事,一是安装grub2.04版本才能支持f2fs识别,二是让Linux内核加载f2fs模块,三是已安装系统文件的备份和还原,四是修复启动引导。
具体操作步骤
第一步:安装f2fs工具支持
在deepin系统终端中运行以下命令:
sudo apt install f2fs-tools
第二步:initrd镜像文件中加载f2fs模块
编辑:
sudo nano /etc/initramfs-tools/modules
写入:
f2fs
crc32_generic
crc32_intel
第三步:刷新initrd
sudo update-initramfs -u
第四步:去debian官网下载testing或者sid源里的grub2-common grub-common grub-efi-amd64 grub-efi-amd64-bin grub-efi-amd64-signed efibootmgr
为什么安装这几个?因为apt list *grub*显示这几个,再加上efibootmgr,总之与原系统保持一致即可。
这几个包通过系统sudo dpkg -i命令安装,别添加debian源,会搞出依赖问题。
删除原有引导文件:
sudo rm -rf /boot/efi/*
sudo rm -rf /boot/grub/x86_64-efi
安装携带grub2.04的引导文件:
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=deepin --no-uefi-secure-boot --recheck
刷新启动项sudo update-grub,做好前面这些事就支持引导跑在f2fs分区上了。
第五步:选择一个你顺手的备份系统的工具
只备份文件,我这里选择用一个移动硬盘分出一块ext4的分区,用timeshift备份,这样不管电脑硬盘怎么折腾都还有救。参考深度商店应用Gufw、TimeShift、RSIBreak、Ulauncher。
第六步:选择一个自己趁手的Linux live系统
我用的deepin的安装镜像,引导到安装界面后进入tty2命令行输入两次startx就启动图形桌面了,接下来安装timeshift安装f2fs-tools,打开gp磁盘工具将除esp、swap分区外其它都可以格式化为f2fs,打开timeshift配置路径到我的移动硬盘,恢复之前备份的系统,选对分区与前分区数据的对应关系,否则恢复出问题。结束后timeshift会帮你把fstab文件按照新的分区情况刷新了。
第七步:重启电脑,拔掉所有再接储存设备
接下来你会看到grub命令行界面,依次输入如下命令并回车:
set root=(hd0,gpt3)/boot/grub
set prefix=(hd0,gpt3)/boot/grub
insmod normal
normal
注:其中hd0代表第一块磁盘,gpt3代表第三个分区,这个依照自己的情况,root指引导内核所在分区。
这个时候电脑不出意外就启动了,重新执行一次前面grub-install命令,和update-grub命令,再检查一下:
/etc/fstab
/boot/efi/EFI/deepin/grub.cfg
/boot/grub/grub.cfg
注:以下是整个操作的成果截图,可以看到系统盘等已标注成f2fs:
结语
经过以上七个操作步骤,应该是结束了,重启验证一下,如果顺利引导还不赶紧备份一下,如果引导有问题重复第七步即可。
相关主题
Linux内核加载f2fs,安装f2fs工具以使用f2fs文件系统作为引导deepin系统分区相关推荐
- uboot加载linux内核加载那些内容,几个地址参数及uboot加载启动内核过程的理解
关于uBoot和Linux内核中几个地址参数及uboot加载启动内核过程的理解 uboot一般使用mkimage工具先制作一个启动映象文件来引导识别内核的,uboot源代码的tools/目录下有mki ...
- uboot加载linux内核加载那些内容,uBoot和Linux内核中涉及到的几个地址参数的理解...
uBoot和Linux内核中涉及到的几个地址参数的理解 ************************************************* arch/arm/Makefile //内核 ...
- linux 内核加载错误 Invalid module format
遇到这种情况后,通过 dmesg 看一下内核日志. 如果发现有如下日志,那就好办了. hello: version magic '2.6.33.3 ' should be '2.6.33.3-85.f ...
- linux内核加载卡主,请教mx6,linux3.0.35,tf卡能启动uboot但是无法加载内核问题
请教mx6,linux3.0.35,tf卡能启动uboot但是无法加载内核问题 cpu:mcimx6u5dvm10AB 硬件上,我把wp和cd都直接接地了,这次新加工的核心板,以及重新设计一个新项目的 ...
- Linux内核加载全流程
无论是Linux还是Windows,在加电后的第一步都是先运行BIOS(Basic Input/Output System)程序--不知道是不是所以的电脑系统都是如此.BIOS保存在主板上的一个non ...
- 加载不同linux内核,Linux内核加载过程
以32位x86,bzImge为例 grub版本为0.97 1.计算机上电 2.0xFFFFFFF0 当cpu检测reset引脚上的信号后 便将指令指针寄存器的值设置为0xfff0 --INTEL 80 ...
- linux内核加载根文件系统,根文件系统 - Linux 内核引导选项简介
[KNL] root=字符串 指定根文件系统的所在位置.通常这是一个必须明确设置的选项. "字符串"可以使用如下几种形式: XXxx 一个16进制数,其中"XX" ...
- Linux可加载内核模块(LKM)(转载)
转载: 漏天剑 文章导航: 为校长杯流尽最后一滴血, Lkm注射, 返回首页 Linux可加载内核模块(LKM) Linux可加载内核模块完全版 --黑客.病毒程序编写者和系统管理员的概念性指南 作者 ...
- linux驱动加载流程分析
linux驱动加载流程分析 内核是如何加载驱动的,有些是编译到内核里面,有些事编译成ko,让系统自动加载.总的说来,在Linux下可以通过两种方式加载驱动程序:静态加载和动态加载. 静态加载就是把驱动 ...
- 腾讯X5 浏览器内核加载
1.腾讯X5浏览器 sdk 官网 地址 腾讯浏览服务 2.腾讯X5 浏览器 sdk 加载 需要内存卡权限 加载成功率才高,因为有了内存读取权限,可以读取腾讯QQ 和微信的X5 内核,共用他们的内核,不 ...
最新文章
- POJ 3030 Nasty Hacks (模拟题)
- reactjs组件的生命周期函数:getSnapshotBeforeUpdate更新之前获取快照
- 岗位推荐 | 腾讯音乐娱乐招聘推荐算法工程师、推荐后台工程师
- 8086CPU常见汇编指令、debug命令
- 【读书笔记】实战JAVA虚拟机JVM故障诊断与性能优化 读书笔记
- 31.前端之html
- 在SourceForge中建立开源项目
- libQt5Core.so: undefined reference to `dlclose@GLIBC_2.4'
- Leader:这样的 Bug 你也写的出来???
- 由超高压的超导体猜测超导的真相
- 基于Halcon的螺栓螺丝部分划痕、腐蚀缺陷检测
- lbj学习日记 06 一维数组和二维数组刷题课
- 新猿木子李:0基础学python培训教程 Python操作Redis之有序集合
- Windows进行Java Web开发,电脑上安装什么?
- LoRa SX1278通信代码开发学习
- web前端培训JS 运行机制的梳理
- python基础教程:Python绘制正余弦函数图像的方法
- wechat4j获取用户昵称乱码修复
- 怎样申请建立一个全新的顶级域名后缀?
- 电力电子转战数字IC——我的IC笔试(2022.10.14更新)