luksパーティションにpacstrap / chrootのインストールを開始するように機能する起動オプションを追加します。

luksパーティションにpacstrap / chrootのインストールを開始するように機能する起動オプションを追加します。

このような質問が多いことを知っていますが、私が見つけた例は混乱するほど多様です。誰かがこの問題を明確にするのに役立つことを願っています。

私の設定の簡単な説明です。 Windows 10をインストールし、別のディスクにGaruda Linuxをインストールしました。どちらもうまく動作しますが、それぞれのGUIインストーラが私のために設定しました。これで、Arch Linuxをインストールし、Garudaインストール(pacstrap)からパーティション(luks暗号化)を分離し、そのLinuxから起動できるようにしたいと思います。インストールにchrootし、/dev /procおよび/sysのバインドマウントを完了して、すべてのデバイスを確認し、正常に更新を実行し、いくつかのリポジトリをインストールすることができました。

ディスク/パーティションの設定は次のとおりです。

WindowsディスクとEFI:

Device             Start        End    Sectors   Size Type
/dev/nvme0n1p1      2048    1085439    1083392   529M Windows recovery environment
/dev/nvme0n1p2   1085440    1290239     204800   100M EFI System
/dev/nvme0n1p3   1290240    1323007      32768    16M Microsoft reserved
/dev/nvme0n1p4   1323008  519925759  518602752 247.3G Microsoft basic data
/dev/nvme0n1p5 519925760 1953523711 1433597952 683.6G Microsoft basic data

その後、Linuxの場合:

/dev/sda1        2048  835028991  835026944 398.2G Linux filesystem (garuda)
/dev/sda2   835028992 1859028991 1024000000 488.3G Linux filesystem (arch -no boot)

sda1 と sda2 はどちらも、luks 暗号化を使用する btrfs パーティションにあります。しかし、ガルーダがどのように設定されたのかはわかりません(guiインストーラ)。現在ガルーダにログインしていて、両方のドライブが暗号化されていないが起動していないデバイス(dev / sda2)のdev / mapperのみが表示されます。これは lsblk で luks マッピングを表示する唯一のデバイスです。

✦  ╰─λ lsblk -o name,uuid,type
NAME                                          UUID                                 TYPE
sda                                                                                disk
├─sda1                                        c42114f3-adea-4625-8ec7-1d9ef08c00d5 part
├─sda2                                        35308676-366b-495a-afd3-9c65701ec867 part
│ └─luks-35308676-366b-495a-afd3-9c65701ec867 fb72ec72-1352-4e5c-849d-a44c69ba4b16 crypt

暗号化されていないデバイスのインストール後、/run/media/dan/nix_e1アーチのインストールが表示されます。

/boot(ガルーダ) grubディレクトリ、カーネル、およびefiパーティションを/efiにインストールしました。

✦  ╰─λ ls /boot 
drwxr-xr-x   - root  1 Jan  1970  efi
drwxr-xr-x   - root 29 Mar 02:28  grub
drwxr-xr-x   - root  8 Mar 05:09  memtest86+
.rw-r--r-- 51k root 11 Mar 19:21  amd-ucode.img
.rw------- 68M root 26 Mar 16:27  initramfs-linux-zen-fallback.img
.rw------- 43M root 26 Mar 16:27  initramfs-linux-zen.img
.rw-r--r-- 11M root 23 Mar 16:37  vmlinuz-linux-zen

/etc/fstab(ガルーダ):

UUID=c42114f3-adea-4625-8ec7-1d9ef08c00d5 /              btrfs   subvol=/@,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=c42114f3-adea-4625-8ec7-1d9ef08c00d5 /home          btrfs   subvol=/@home,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=c42114f3-adea-4625-8ec7-1d9ef08c00d5 /root          btrfs   subvol=/@root,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=c42114f3-adea-4625-8ec7-1d9ef08c00d5 /srv           btrfs   subvol=/@srv,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=c42114f3-adea-4625-8ec7-1d9ef08c00d5 /var/cache     btrfs   subvol=/@cache,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=c42114f3-adea-4625-8ec7-1d9ef08c00d5 /var/log       btrfs   subvol=/@log,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=c42114f3-adea-4625-8ec7-1d9ef08c00d5 /var/tmp       btrfs   subvol=/@tmp,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
UUID=C61E-FDE5  /boot/efi       vfat    defaults      0       1

私はアーチのインストール時に/bootに何もインストールしなかったので、ガルーダと同じカーネル(またアーチベース)のコピーだけがあり、インストールの準備が整ったefiディレクトリを作成しました。 fstabを設定しました。 (正しいuuidを使用しているかどうかは完全にはわかりませんが、crypt uuidまたは部分uuidで使用されているとマークされていますか?)

/etc/fstab(スキーマ):

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/mapper/luks-35308676-366b-495a-afd3-9c65701ec867 LABEL=nix_e1
UUID=fb72ec72-1352-4e5c-849d-a44c69ba4b16 /           btrfs      rw,nosuid,nodev,relatime,ssd,space_cache=v2,subvolid=5,subvol=/ 0 0
UUID=fb72ec72-1352-4e5c-849d-a44c69ba4b16 /home          btrfs   subvol=/@home,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=fb72ec72-1352-4e5c-849d-a44c69ba4b16 /root          btrfs   subvol=/@root,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=fb72ec72-1352-4e5c-849d-a44c69ba4b16 /srv           btrfs   subvol=/@srv,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=fb72ec72-1352-4e5c-849d-a44c69ba4b16 /var/cache     btrfs   subvol=/@cache,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=fb72ec72-1352-4e5c-849d-a44c69ba4b16 /var/log       btrfs   subvol=/@log,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=fb72ec72-1352-4e5c-849d-a44c69ba4b16 /var/tmp       btrfs   subvol=/@tmp,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0

# /dev/zram0
/dev/zram0            none        swap        defaults,pri=100  0 0

今私が少し迷子になった場所は次のとおりです。

読んで、initcpioフックが必要であることがわかりました。今これはガルーダの設置に適していると思います。 grub-btrfs-overlayfsがフックに追加されていることがわかり、暗号フックがインストールの一部であるようです。そこでも grub を更新するには(両方のインストールで grub を更新しないようにするアドバイスを見ました)。

次は実行する必要があるようですsudo mkinitcpio -p linux-zen(いくつかの設定手順を見逃したかどうかはわかりません)。ただし、このデバイスを追加し、/etc/crypttabパスワードを一度入力すると自動的にマウントおよびロック解除されます(両方のパーティションが同じ)。したがって、ガルーダにログインすると、両方のドライブがロック解除されます。

これで、一部の人はこの時点で grub アップデートをインストールする必要があると提案しているようですが、アップデート時にメニュー項目を追加しません。

だから手動でgrubにメニュー項目を追加しました。

/etc/grub.d/40_custom:

menuentry "Arch" {
search --set=root --fs-uuid luks-35308676-366b-495a-afd3-9c65701ec867
linux /boot/vmlinuz-linux-zen root=UUID=35308676-366b-495a-afd3-9c65701ec867 rw  quiet
}

grubの起動メニューでエントリが見つかりましたが、起動時にデバイス35308676-366b-495a-afd3-9c65701ec867が見つからないと表示されます。また、uuid fb72ec72-1352-4e5c-849d-a44c69ba4b16を試してみましたが、同じ間違いが発生しました。

誰かが私がこれまでにしたことが正しいことを確認し、それがうまくいくように正しい方向を教えてくれたら、とても感謝します。

よろしくお願いします。

ベストアンサー1

おすすめ記事