web-dev-qa-db-ja.com

メインシステムで使用するためにext4をF2FSに変換するにはどうすればよいですか?

一度起動することはできましたが、フレッシュインストールを複製できませんでした。これは、他の誰かがこれを理解できるように私が試して投稿したもののリストです。

私はショットガンアプローチを採用し、最終的にはインストーラーとしてCalamaresを使用するディストリビューションを選択しました。/usrをext4としてパーティション化したのは、GRUBのファイルがそこにあり、F2FSとしての/ usrで問題が発生し続けたためです。問題は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で保存しました。

ライブCDで起動します。 kvpmを使用して論理ボリュームを作成しようとしました(そしてmkfs.f2fsを使用してそれらをf2fsとしてフォーマットしました)が、インストールは書き込みに失敗しました。 unpackfsが原因で失敗した場合は、ライブ環境にいる間にパーティションにchrootします。

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として実行すると、OSをロードできませんでした

  • F2FSへのextパーティションのコピーに失敗しました。 GRUB 2.02はF2FS UUIDを正しく読み取ることができません。/boot/grub/grub.cfgを編集してラベルをUUIDに変更しても、役に立ちませんでした。

  • GRUB 2.03の現在のブランチを構築し、make check TESTS='f2fs_test'の実行時に失敗しました;初心者(私)の依存関係のリストは不完全です。

  • ルートをext4としてパーティション化し、残りをF2FSとしてパーティション化します。 GRUBのファイルは/ usrにあります。

  • Windowsをデュアルブートし、GRUBに必要なファイルをシンボリックリンクする機能を維持するために、NTFSとしてブートをフォーマットしようとしました(FAT32はできません)。 NTFSはESPパーティションとは見なされず、フラグに関係なくフラグが立てられるため、これは機能しませんでした。

私が使用したリファレンス:

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

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_item&px=GRUB-Now-Supports-F2FS

1
avisitoritseems

警告:F2FSがselinuxをサポートしていないため、デスクトップ環境を起動できない場合があります、既知の限り、ルートパーティションとしてのarchlinux supoort f2fs、Fedora linuxは常に失敗します。検索してくださいそれをする前に

最初に、/ bootに512MBのext4パーティションを作成し、/にf2fsパーティションを作成する必要があります。F2FSがサイズを縮小できなかったことに気付くはずです。パーティションを元のサイズより数ギガバイトだけ大きくすることをお勧めします

次に/ bootと/を新しい場所にコピーします

# 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
z8r0