首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将ext4转换为F2FS以供主要系统使用?

如何将ext4转换为F2FS以供主要系统使用?
EN

Ask Ubuntu用户
提问于 2019-02-18 02:54:57
回答 1查看 6.3K关注 0票数 2

我能够启动一次,但还没有能够复制一个新的安装。这是一个列表,我已经尝试和张贴,希望其他人可以弄清楚这一点。

我采用了猎枪方法+最终选择了一个使用Calamares作为安装程序的发行版。我将/usr分区为ext4,因为GRUB的文件位于那里,并且一直遇到/usr作为F2FS的问题。我认为这些问题是因为GRUB无法从F2FS文件系统读取其文件。

代码语言:javascript
复制
/boot/efi - FAT32
/usr - ext4
/ - F2FS

我提取了“安装前”和“ISO”,并发出了以下命令:

代码语言:javascript
复制
add-apt-repository ppa:rodsmith/refind; apt update; apt install f2fs* libf2fs* gparted -y; apt install refind

加载在/etc/initramfs中的模块列表-工具/模块

代码语言:javascript
复制
crct10dif_pclmul
crc32_pclmul
libcrc32c
f2fs

然后用update-iniramfs -u保存。

现在启动到Live。我尝试使用kvpm创建逻辑卷(并使用mkfs.f2fs将它们格式化为f2fs),但是安装失败了。如果由于unpackfs而失败,则在仍然处于活动环境中时,我将输入分区:

代码语言:javascript
复制
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot/efi
mount --bind /dev /mnt/dev
. . .
chroot /mnt 
apt install refind # or apt install refind --reinstall
cp -r /usr/share/refind/refind/ /boot/efi/EFI/refind
cd /boot/efi/EFI/refind/drivers_x64
curl -a http://efi.akeo.ie/downloads/efifs-1.3/x64/f2fs_x64.efi -o f2fs_x64.efi

我尝试过的其他事情都失败了:

  • 运行整个驱动器,因为带有F2FS引导分区的FAT32无法加载OS
  • 将ext分区复制到F2FS失败。GRUB2.02无法正确读取F2FS UUID。编辑/boot/grub/grub.cfg将标签更改为UUID没有帮助。
  • 构建了GRUB2.03的当前分支,在运行make check TESTS='f2fs_test'时遇到了失败;对于新手(me)来说,依赖项列表是不完整的。
  • 将根分区为ext4,然后将其余分区为F2FS。GRUB的文件位于/usr中。
  • 尝试将引导格式化为NTFS,以保留双重引导Windows和符号链接GRUB所需文件的能力(FAT32不能)。这不起作用,因为NTFS作为ESP分区不受尊重,标志不受影响。

我所用的参考资料:

https://ubuntuforums.org/showthread.php?t=2326934&p=13705533#post13705533

https://github.com/void-linux/void-packages/issues/4436

http://www.rodsbooks.com/refind/

http://efi.akeo.ie/

https://www.phoronix.com/scan.php?page=news_项目&px=GRUB-Now-Supports F2Fs

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2019-10-22 14:22:33

警告:由于F2FS缺乏对selinux的支持,您可能无法引导到桌面环境,据了解,archlinux supoort f2fs作为根分区,Fedora linux将始终失败,请先搜索然后再做。

首先,您应该为/boot创建一个512 of的/boot分区,为/创建一个f2fs分区,我应该注意到,F2FS不能缩小大小,我建议您将一个分区比原来的大小大几of。

然后复制/boot和/到新位置

代码语言:javascript
复制
# rsync -aAXv /boot /path/to/newboot/folder
# rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /path/to/newroot/folder

修改新的fstab文件,将uuid更改为新分区,可以执行blkid检查新分区的uuid

执行update-grub生成新的引导选项

如果堆叠在rootfs中,请尝试使用回退img引导。

启动到新系统时,通过执行grub-install重新安装grub

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1119109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档