ZFSシステムにインストールされているArch LinuxをマウントするようにGrubを設定する方法を知っている人はいますか?
/dev/sda1
(起動パーティション)と(ルートパーティション)があります/dev/sda2
。 ZFS システムには、次のデータコンテナを含む zpool main があります。
main/root mountpoint=none
main/root/default mountpoint=legacy
main/home mountpoint=legacy
またmkinitcpio.conf
。
システムを起動しようとすると、常にルートパーティションをマウントできないというメッセージが表示されます。
Grub設定を変更する必要がありますか?正直言って、私はGrubにはあまり興味がありません。できればsyslinux
変えていきます。
編集する:
起動時に発生するエラーは次のとおりです。
starting version 238
no pools available to import
ERROR: Failed to mount the real root device.
Bailing out, you are on your own. Good luck.
答え1
ルートボリュームが与えられるとデータセット /ROOT/archlinux
中チチ mypool
次に、/boot
Grubに次のコマンドを入力してデータセットのファイルを起動します。
insmod part_gpt
search --set --label mypool
linux /ROOT/archlinux@/boot/vmlinuz-linux zfs=mypool rw
initrd /ROOT/archlinux@/boot/initramfs-linux.img
boot
grub>
プロンプトでこれらのコマンドを入力するか(c
Grubメニューを押す)アップデートとして使用できます/boot/grub/grub.cfg
。
- Grub にはデータセットが必要です。
- ルートボリュームデータセットのマウントポイントは、次のようにする必要があります
/
。 /boot
スタートアップファイルはこのデータセットにあります。- あなたのinitramfsに
HOOKS=(base udev autodetect modconf block keyboard zfs filesystems)
; - zpoolはすべての機能を有効にできます(デフォルト)。
- Grubの場所(zpoolと同じディスクまたは別のディスク)は重要ではありません。
苦労しました。かなりの痛みGrubプロンプトのls
内容を一覧表示(使用)してみてください。/ROOT/archlinux@/boot
これを試してエラーが発生した場合は、何をしてください。無視して起動してみてください!