我能够启动一次,但无法复制全新安装。这是我尝试并发布的列表,希望其他人可以解决这个问题。
我采用了霰弹枪方法 + 最终选择了一个使用 Calamares 作为安装程序的发行版。我将 /usr 分区为 ext4,因为 GRUB 的文件位于那里,并且我一直遇到 /usr 作为 F2FS 的问题。我认为问题来自 GRUB 无法从 F2FS 文件系统读取其文件。
/boot/efi - FAT32
/usr - ext4
/ - F2FS
我在安装之前提取了 ISO 并发出了这些命令:
add-apt-repository ppa:rodsmith/refind; apt update; apt install f2fs* libf2fs* gparted -y; apt install refind
/etc/initramfs-tools/modules 中加载的模块列表
crct10dif_pclmul
crc32_pclmul
libcrc32c
f2fs
然后用update-iniramfs -u
.
现在启动到 Live CD。我尝试使用 kvpm 创建逻辑卷(并使用 mkfs.f2fs 将它们格式化为 f2fs),但安装无法写入。如果它因此而失败,unpackfs
那么我仍然在实时环境中时进入分区:
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
我尝试过的其他失败的事情:
使用 FAT32 引导分区将整个驱动器作为 F2FS 运行无法加载操作系统
将 ext 分区复制到 F2FS 失败。GRUB 2.02 无法正确读取 F2FS UUID。编辑 /boot/grub/grub.cfg 以将标签更改为 UUID 并没有帮助。
构建了 GRUB 2.03 的当前分支,运行时遇到了失败
make check TESTS='f2fs_test'
;对于新手(我)来说,依赖项列表是不完整的。将根分区为 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/
https://www.phoronix.com/scan.php?page=news_item&px=GRUB-Now-Supports-F2FS
警告:由于 F2FS 不支持 selinux 可能无法启动到桌面环境,据了解,archlinux 支持 f2fs 作为 root 分区,Fedora linux 总是会失败,请先搜索再做
首先,您应该为 /boot 创建一个 512MB 的 ext4 分区,为 / 创建一个 f2fs 分区,我应该注意到 F2FS 无法缩小大小,我建议您创建一个比原始大小大几 GB 的分区
然后将 /boot 和 / 复制到新位置
修改新的 fstab 文件,将 uuid 更改为新分区,您可以执行
blkid
检查新分区的 uuid执行
update-grub
以生成新的引导选项如果您堆叠在 rootfs 中,请尝试使用 fallback img 引导
当您启动进入新系统时,通过执行重新安装 grub
grub-install