开头一张效果图

说明,要想支持f2fs作为根分区或者说boot启动要做四件事,一安装grub2.04版本才能支持f2fs识别,二让Linux内核加载f2fs模块,三已安装系统文件的备份和还原,四修复启动引导。

①安装f2fs工具支持

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备份,这样不管电脑硬盘怎么折腾都还有救。

⑥选择一个自己趁手的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

三个地方,对应的分区uuid值对不对

uuid值使用blkid查看

至此,应该是结束了,重启验证一下吧,如果顺利引导还不赶紧备份一下,如果引导有问题重复第七步。

Linux内核加载f2fs,固态硬盘使用f2fs文件系统作为deepin引导分区经验相关推荐

  1. uboot加载linux内核加载那些内容,几个地址参数及uboot加载启动内核过程的理解

    关于uBoot和Linux内核中几个地址参数及uboot加载启动内核过程的理解 uboot一般使用mkimage工具先制作一个启动映象文件来引导识别内核的,uboot源代码的tools/目录下有mki ...

  2. uboot加载linux内核加载那些内容,uBoot和Linux内核中涉及到的几个地址参数的理解...

    uBoot和Linux内核中涉及到的几个地址参数的理解 ************************************************* arch/arm/Makefile //内核 ...

  3. Linux内核加载全流程

    无论是Linux还是Windows,在加电后的第一步都是先运行BIOS(Basic Input/Output System)程序--不知道是不是所以的电脑系统都是如此.BIOS保存在主板上的一个non ...

  4. linux 内核加载错误 Invalid module format

    遇到这种情况后,通过 dmesg 看一下内核日志. 如果发现有如下日志,那就好办了. hello: version magic '2.6.33.3 ' should be '2.6.33.3-85.f ...

  5. linux内核加载卡主,请教mx6,linux3.0.35,tf卡能启动uboot但是无法加载内核问题

    请教mx6,linux3.0.35,tf卡能启动uboot但是无法加载内核问题 cpu:mcimx6u5dvm10AB 硬件上,我把wp和cd都直接接地了,这次新加工的核心板,以及重新设计一个新项目的 ...

  6. 加载不同linux内核,Linux内核加载过程

    以32位x86,bzImge为例 grub版本为0.97 1.计算机上电 2.0xFFFFFFF0 当cpu检测reset引脚上的信号后 便将指令指针寄存器的值设置为0xfff0 --INTEL 80 ...

  7. linux内核加载根文件系统,根文件系统 - Linux 内核引导选项简介

    [KNL] root=字符串 指定根文件系统的所在位置.通常这是一个必须明确设置的选项. "字符串"可以使用如下几种形式: XXxx 一个16进制数,其中"XX" ...

  8. 从零开始操作系统------MBR直操硬盘、内核加载器

    本文基于郑纲的<操作系统还原>,仅为个人学习笔记,前期的虚拟机配置等不再详细记录,其中不理解或者出错的地方还望提出意见! 从零开始操作系统------MBR直操显卡 硬盘 存储逻辑 为了更 ...

  9. Linux可加载内核模块(LKM)(转载)

    转载: 漏天剑 文章导航: 为校长杯流尽最后一滴血, Lkm注射, 返回首页 Linux可加载内核模块(LKM) Linux可加载内核模块完全版 --黑客.病毒程序编写者和系统管理员的概念性指南 作者 ...

  10. os从启动带内核加载

    操作系统实验(真象还原) 第0章 操作系统是什么 操作系统把资源获取到后交给用户进程,而不允许用户直接访问硬件资源写一个操作系统需要了解硬件知识,这些硬件提供了软件接口,于是操作系统可以通过接口操作硬 ...

最新文章

  1. #pragma once与#ifndef的区别
  2. 内存对齐/字节对齐/数据对齐/地址总线对齐
  3. dateformat 返回类型_SpringBoot返回date日期格式化
  4. JQuery this和$(this)的区别及获取$(this)子元素对象的方法
  5. c语言使用循环编写勾股数,刘徽《九章算术》中的勾股数
  6. 离地球近的星星,远离情况怎样?
  7. 【Office】编辑宏报错:不能在隐藏工作簿中编辑宏。请选定取消窗口隐藏”命令以显示工作簿
  8. 百度云重置服务器密码,单台或多台腾讯云服务器 CVM 重置实例密码教程
  9. 京东获取商品历史价格信息 API
  10. python3 tkinter 出现_tkinter.TclError: can’t invoke “destroy” command: application has been destroyed
  11. 语音识别(ASR)论文优选:Icassp 2022 M2MeT方案总结
  12. 如何把microsoft store里面的软件添加到桌面
  13. Windows11右键菜单修改为Win10模式的方法
  14. [分享] 揭开美国顶尖生物医学实验室成功的法宝--转
  15. 英飞凌TLE9854QX使用hall元器件对电机运行进行采样计数
  16. 修改mariadb遇到的问题
  17. Mac常见问题|Safari下载文件没有反应的解决方法
  18. PHP 获取当前url的函数及参数
  19. 图灵停机问题(The Halting Problem)------巧妙的证明
  20. SAP HCM模块系统标准报表

热门文章

  1. linux常用快捷键大全
  2. 李氏第二法分析稳定性matlab,9-4李雅普诺夫稳定性分析2010.ppt
  3. ERR_BLOCKED_BY_CLIENT - 请求被广告拦截插件拦截
  4. 当当图书排行榜html,最-当当图书
  5. Burp Suite 扫描工具
  6. 第十四届恩智浦智能车室外电磁比赛总结
  7. linux卸载设备驱动命令,Linux设备驱动程序加载/卸载方法 insmod和modprobe命令
  8. matlab sfp,eeglab工具箱
  9. apktool+dex2jar+xjad反编译android程序
  10. 2022美赛C题 F奖思路分享