ThinkPad X1 Carbon Gen 7に暗号化されたファイルシステムとUEFIでARCH Linuxをインストールする
この記事では、ThinkPad X1 Carbon Gen 7 ラップトップに Arch Linux をインストールします。このチュートリアルには、インストール手順、基本設定、および Arch Linux を開始するためのポストインストール調整が含まれています。
ほとんどの指示はArch Linuxのインストールに関する一般的なものなので、簡単な修正を加えれば、このチュートリアルはどのUEFIシステムのインストールにも使えます。ただし、いくつかのポイントはThinkPad X1 Carbon Gen 7に特有のため、ThinkPad X1 Carbon Gen 7以外のPCやノートパソコンにArch Linuxをインストールする場合は基本的なLinux管理スキルが必要です。
このガイドは、出発点に過ぎません。パフォーマンスを向上させるための追加のヒントやコツをお持ちの方は、下のコメント欄をご利用ください。それらをこのガイドに組み込むことができます。
ありがとうございます。
このチュートリアルを完了すると、次のものが得られます:
- GNOMEデスクトップをインストールしたArch Linux
- luks暗号化を使用して暗号化された
/ディレクトリ systemd-bootを使用して構成されたLinuxブートローダー- スワップとルートディレクトリをホストするために、論理ボリュームとパーティションを作成しました。
- あなたの
/bootディレクトリのためにEFIパーティションが構成されました - 基本システムの構成とファインチューニング
- GNOMEデスクトップからWiFiに接続するためにワイヤレスを使用する能力
- 動作しているBluetoothおよびThunderboltコントローラー
- ThinkPad X1 Carbon Gen 7のファームウェアをアップグレードする能力を向上させる
ThinkPad X1 Carbon Gen 7 ラップトップにおけるARCH Linux
ソフトウェアの要件と使用される規約
ThinkPad X1 Carbon Gen 7にARCH Linuxをインストールする手順
混乱を避けるために、以下のBIOS設定が仮定されており、または推奨されています:
BIOSの
セキュアブートが無効になっていますカーネルDMA保護が無効になっています。これは、Thunderbolt BIOSアシストモードを無効にするために必要です。サンダーボルト BIOS アシストモードは無効です。これはサンダーボルトコントローラーのファームウェアアップグレードに必要です。このチュートリアルで同じ認識を持つために、ブート方法を
UEFI のみに設定してください。オプションI/Oポートアクセス設定
スリープ状態がLinuxに設定されました次のステップは、ブータブルのArch Linux USBを作成することです。公式のArch ISOをダウンロードし、任意のUSBフラッシュドライブを接続して、次のコマンドを実行します。ここで、
/dev/sdXはUSBフラッシュドライブのブロックデバイス名です:ddrescue archlinux-XXXX.XX.XX-x86_64.iso /dev/sdX --force -D- Arch LinuxのUSBフラッシュドライブを作成したら、ThinkPad X1 Carbonに接続し、ノートパソコンの電源を入れ、
F12を押します。ブートメニューが表示されます。そこから、UEFI CDの最初のオプションを選択してください。 すべてが順調に進めば、今はArch Linuxのコマンドプロンプトが表示され、rootユーザーとしてログインしているはずです。最初に必要なのは、インターネットへのアクセスを得ることです。コマンドを入力してください:
wifi-menuワイヤレスネットワークのSSIDと適切なドライバーを入力することでウィザードに従ってください。これには数秒かかる場合がありますが、成功したら
pingコマンドを実行してインターネットにアクセスできることを確認してください:ping -c 1 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=52 time=9.81 ms --- 8.8.8.8 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 9.810/9.810/9.810/0.000 ms次に、ハードドライブをパーティション分割します。2つのパーティションを作成します。最初のパーティションはEFIとして使用され、最終的には
/bootとしてマウントされます。2つ目のパーティションは/およびswapパーティションのために論理ボリュームを作成するために使用されます。次のcfdiskコマンドを実行するか、あなたがよく知っている他のパーティションツールを使用してください:警告
以下のコマンドを実行すると、実質的にハードドライブ上のすべてのファイルシステムとデータが消去され、元に戻す手段がなくなります。自分がしていることを確信してください。cfdisk -z /dev/nvme0n1SSDドライブのパーティションを分割しています。これにより、すべてのパーティションとデータが削除されます。自分が何をしているのかを確認してください。
GPTラベルタイプを選択してください。
このスクリーンショットに示されているように、両方のパーティションを作成してください。また、適切なファイルシステムタイプも選択してください。EFIパーティションのサイズは300MBから500MBの範囲である必要があります。このインストールは約69MBのディスクスペースを消費するので、動かす余裕があることを確認してください。準備が整ったら、変更を保存して終了してください。
次に、EFIパーティションをフォーマットするステップです。
mkfs.vfat -F32 -n EFI /dev/nvme0n1p1さらに、私たちは第二のパーティションを作成し、暗号化し、フォーマットする必要があります:
cryptsetup --use-random luksFormat /dev/nvme0n1p2次に、デバイスを
luksとしてマッピングします。このマッピングされたデバイス名を使用して、次のステップで論理ボリュームを作成します:cryptsetup luksOpen /dev/nvme0n1p2 luksパーティションをフォーマットして暗号化する
今、私たちはルートファイルシステムとスワップパーティションのための論理パーティションを作成する準備が整いました。以下のコマンドはその作業を行います。
swapパーティションのサイズを必要に応じて変更してください:pvcreate /dev/mapper/luks vgcreate vol_grp /dev/mapper/luks lvcreate --size 8G vol_grp --name swap lvcreate -l +100%FREE vol_grp --name root任意で、すべての論理ボリュームを表示するために
lvdisplayコマンドを使用してください。LVMを使用した論理ボリュームの作成
最後に、このステップでは新しい
rootとswapパーティションをフォーマットします:mkfs.ext4 -L root /dev/mapper/vol_grp-root mkswap /dev/mapper/vol_grp-swap新しいパーティションをフォーマットする
基本システムパッケージのインストールの準備がほぼ整いました。しかし、まず必要なパーティションすべて、スワップパーティションを含めてマウントしましょう:
mount /dev/mapper/vol_grp-root /mnt swapon /dev/mapper/vol_grp-swap mkdir /mnt/boot mount /dev/nvme0n1p1 /mnt/bootchrootの準備をするために、すべてのシステムパーティションをマウントしてください。
さて、私たちは新しいシステムの基本パッケージをインストールする準備が整いました。KDEデスクトップであろうと、他のディスプレイマネージャーであろうと、すべては後でインストールできます。以下のコマンドは推奨パッケージをインストールします。追加または削除したいものがある場合は、新しいシステムに再起動した後に行うことをお勧めします。今はシンプルに保ちましょう!以下のコマンドを実行する前に、オプションで
/etc/pacman.d/mirrorlistファイルを編集し、好みのミラーをリストの一番上に配置して、より速いダウンロードを行うことをお勧めします。再起動後にインターネット接続ができなくなるのを避けましょう!
以下のパッケージリストにより、systemdネットワークマネージャを使用してGNOME GUI経由でWiFiに接続できます。ThinkPad X1 Carbon Gen 7には有線ネットワークカードがないため、以下のパッケージリストに変更を加える際は、再起動後に接続できることを確認してください。pacstrap /mnt gnome gnome-extra xorg base base-devel linux linux-firmware lvm2 dhcpcd efibootmgr intel-ucode xf86-video-intel vi dhclient今こそ新しい
/etc/fstabを生成する時です:genfstab -U /mnt >> /mnt/etc/fstab結果として得られる
/etc/fstabは、以下に示すものに似ているはずです。新しいArch Linuxインストールのために生成された
/etc/fstabシステムのインストールが完了したら、
arch-chrootコマンドを使用して新しいシステムに入ります。arch-chroot /mntいくつかの設定を行います。まず、Waylandを無効にします。WaylandはXorgの単純な代替として意図されていますが、現時点ではそれからかなり遠いかもしれません。Waylandを使用したい場合は、このポイントをスキップするか、新しいシステムに再起動した後に設定を元に戻してください。
/etc/gdm/custom.confを開き、WaylandEnable=falseの行のコメントを外します:Waylandを無効にする
次に、タイムゾーンを変更し、システム時刻をハードウェアクロックに設定します。下記のコマンドを自分のタイムゾーンに合わせて変更する方法が不明な場合は、
/usr/share/zoneinfo/をリストしてください:ln -s /usr/share/zoneinfo/Australia/Sydney /etc/localtime hwclock --systohc --utcシステムの新しいホスト名を設定します。例えば、
x1-carbonに設定しましょう:hostnamectl set-hostname x1-carbon echo x1-carbon > /etc/hostname次に、ロケールを生成します。
/etc/locale.genにアクセスして、あなたのロケールに適した行をコメント解除します。例えば、オーストラリアの場合、en_AU.UTF-8 UTF-8の行をコメント解除します。準備ができたら、ロケールを生成して設定します:locale-gen echo LANG=en_AU.UTF-8 > /etc/locale.conf export LANG=en_AU.UTF-8新しいルートパスワードを設定します:
passwd New password: Retype new password: passwd: password updated successfully新しいユーザーを作成します。以下のコマンドは、新しいユーザー(例:
lubos)を作成し、このユーザーの新しいパスワードを設定します:groupadd lubos useradd -m -g lubos -G wheel,storage,power,network,uucp lubos set password: passwd lubos最も重要なステップの1つは、最初のramdisk環境を作成することです。
/etc/mkinitcpio.confを編集して、生成されるファイルに以下の内容が含まれるようにしてください。HOOKSの順序を以下のように保つことを確認してください:MODULES=(ext4) BINARIES=() FILES=() HOOKS=(base udev autodetect modconf block encrypt lvm2 resume filesystems keyboard fsck)「
/etc/mkinitcpio.conf」の内容に満足したら、次のコマンドを実行してください:mkinitcpio -p linux初期RAMディスク環境設定
最初のramdisk環境を作成します。次に、
/bootパーティションにsystem-bootをインストールします。bootctl --path=/boot installシステムブートのインストール
ブートローダー設定を行います:
echo default archlinux >> /boot/loader/loader.conf echo timeout 4 >> /boot/loader/loader.confもう少しです。
blkidコマンドを使用して、/dev/nvme0n1p2のUUIDを取得してください。パーティションUUIDを取得します。
/boot/loader/entries/archlinux.confというファイルを作成し、次の内容を入力します。その際、blkidコマンドを使用して事前に取得したYOUR-UUID-HEREを置き換えます:title Arch Linux linux /vmlinuz-linux initrd /intel-ucode.img initrd /initramfs-linux.img options cryptdevice=UUID="YOUR-UUID-HERE":vol_grp root=/dev/mapper/vol_grp-root resume=/dev/mapper/vol_grp-swap rw intel_pstate=no_hwp完全な
archlinux.confブートローダーファイルの例最終ステップとして、再起動後に以下の二つのサービスを開始するように設定してください:
systemctl enable gdm systemctl enable NetworkManagerすべてが再起動の準備が整いました。chrootシステムを終了し、ルートパーティションのマウントを解除して再起動してください:
exit umount -R /mnt rebootArch Linux GNOMEデスクトップ
throttledパッケージをインストールして有効にします。throttledは、LinuxにおけるIntelのスロットリング問題に対するワークアラウンドです。pacman -S throttled systemctl enable --now lenovo_fix.serviceBluetoothサポートを設定します:
pacman -S gnome-control-center gnome-bluetooth systemctl enable --now bluetoothBluetoothサポートを有効にしました
私たちは、新しいArch Linuxシステムのために基本パッケージをダウンロードしてインストールするためにインターネット接続を使用します。
ユーザーのメモ、観察、およびトラブルシューティング
Lenovo ThinkPad X1 Carbon Gen 7のさらなる設定やチューニングに関するマイクロフォンおよびその他の詳細な情報は、公式のArch Linuxウィキページで確認できます。
ファームウェアのアップグレード
LenovoがLinuxベンダーファームウェアサービスに参加して以来、一部のLenovoハードウェアのファームウェアをLinuxのコマンドラインから直接アップグレードできるようになりました。そのためにはまずfwupdパッケージをインストールしてください:
pacman -S fwupd
ファームウェアをアップグレードするには、次のコマンドを実行してください:
ファームウェアのアップグレードには常に予期しないリスクが伴うことに注意してください! 不明な場合は、進めない方が良いです!
fwupdmgr refresh
fwupdmgr get-updates
fwupdmgr update
ThinkPad X1 Carbon Gen 7のThunderboltコントローラーをfwupdmgrを使用してアップグレードする例:
fwupdmgr get-updates
20QDCTO1WW
│
└─ThinkPad X1 Yoga 4th / Carbon 7th Thunderbolt Controller:
│ Device ID: f388b1939351229f5cd3016ff13b2df354e9d38e
│ Summary: Unmatched performance for high-speed I/O
│ Current version: 41.00
│ Vendor: Lenovo (TBT:0x0109)
│ Flags: internal|updatable|require-ac|supported|registered
│ GUID: c7920601-0cda-507f-851e-92129eb1d470
│
└─ThinkPad X1 Carbon 7th / X1 Yoga 4th Thunderbolt Controller:
New version: 43.00
Remote ID: lvfs
Summary: Lenovo ThinkPad X1 Carbon 7th / X1 Yoga 4th Thunderbolt Firmware
License: proprietary
Size: 262.1 kB
Vendor: Lenovo Ltd.
Flags: is-upgrade
Description: Lenovo ThinkPad X1 Carbon 7th / X1 Yoga 4th Thunderbolt Firmware
• Before update, set the Thunderbolt BIOS Assist Mode to "Disable" in BIOS setup under Config > Thunderbolt 3.
• DO NOT FORCE UPDATE Thunderbolt Controller. This may damage the firmware.
上記の出力から、Thunderboltコントローラーのファームウェアがバージョン41から43にアップグレード可能であることがわかります。Thunderboltコントローラーはアップデート後に再起動/切断されるため、このポートに何か接続されている場合は、切り離しておくことをお勧めします。
実際のサンダーボルトファームウェアのアップグレードを実行するには、次のコマンドを実行してください:
fwupdmgr update
Downloading 43.00 for ThinkPad X1 Yoga 4th / Carbon 7th Thunderbolt Controller...
Fetching firmware https://fwupd.org/downloads/c656c45c56fe417ac38dab5a57f451c8340292e7-Lenovo-ThinkPad-X1Carbon5th-Thunderbolt-Firmware-N1MTF28W-Secured.cab
Downloading… [***************************************] Less than one minute remaining…
Decompressing… [***************************************]
Authenticating… [***************************************]
Updating ThinkPad X1 Yoga 4th / Carbon 7th Thunderbolt Controller…
Restarting device… [***************************************]
アップグレードが正常に実行されたことを確認するには、次のコマンドを実行します:
fwupdmgr get-updates
No upgrades for ThinkPad X1 Yoga 4th / Carbon 7th Thunderbolt Controller, current is 43.00: 43.00=same
________________________________________________
Devices that have been updated successfully:
• ThinkPad X1 Yoga 4th / Carbon 7th Thunderbolt Controller (41.00 → 43.00)
Uploading firmware reports helps hardware vendors to quickly identify failing and successful updates on real devices.
Upload report now? (Requires internet connection) [Y|n]:
サンダーボルトコントローラー
サンダーボルトコントローラーは、Arch Linuxのインストール後にすぐに動作するはずです。
アーチLinux上のThinkPad X1 Carbon Gen 7に接続されたLenovo Thunderbolt 3ドック
ただし、いくつかの注意点があります。例えば、突然動かなくなり、次のエラーメッセージを超えることができませんでした:
"No Thunderbolt support - Thunderbolt security level could not be determined"
私はLenovoのサンダーボルト3ドックと組み合わせてサンダーボルト3を使用しています。数週間は動いていましたが、突然システムに認識されなくなりました。さまざまな設定、ソフトウェアのアップグレードを含むトラブルシューティングを試みた結果、私のThinkPad X1 CarbonのHDMIポートがまったく機能していないことに気付きました。
これは単なる偶然ではあり得ず、私はLenovoの緊急リセットに頼りました。(下のビデオを参照)Lenovo ThinkPad X1 Carbon Gen 7 ラップトップのリセット方法です。それ以降、サンダーボルトとHDMIは期待通りに再び動作するようになりました。
レノボ ThinkPad X1 Carbon Gen 7 の緊急リセット





















