说明,要想支持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查看
至此,应该是结束了,重启验证一下吧,如果顺利引导还不赶紧备份一下,如果引导有问题重复第七步。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/56749.html