USB キーに Arch Linux をインストール

提供: ArchWiki
移動先: 案内検索

このページでは標準的な Arch のインストールを USB キー (または"フラッシュドライブ") で行う方法を説明しています。USB インストールメディアで説明している LiveUSB の作り方と違って、HDD に通常インストールするのと同じように USB フラッシュドライブにインストールを行います。

インストール

ノート: 最低でも 2 GiB のストレージ容量が必要です。パッケージの数は控えめにして、ストレージ用に空き容量を残します。

USB スティックに Arch をインストールする方法は様々ありますが、一番シンプルなのは Arch からインストールする方法です:

  • 既に Arch を実行している場合、arch-install-scriptsインストールして iso からインストールするのと同じようにインストールガイドに従って下さい。ただし /dev/sda を使用する代わりに、インストールする前に $ lsblk を使って USB キーの /dev/sd* の名前を確認します。
警告: 誤って /dev/sda をフォーマットすると、ハードドライブにあるものを全て削除してしまうことになります。
  • Arch Linux CD/USB を使って USB キーに Arch をインストールすることもできます。CD/USB を起動してインストールガイドに従って下さい。ライブ USB から起動する場合、インストールは別の USB スティックに行う必要があります。
  • もしくは、別の Linux コンピュータが使える場合 (Arch である必要はありません)、既存の Linux からインストールにしたがって、設定セクションまで進んでください。
  • Windows や Mac で VirtualBox をダウンロードしている場合、VirtualBox Extension をインストールして、USB ドライブを arch が動いている仮想マシンに追加して、USB ドライブにインストールを行なって下さい。

インストール時の設定

基本的にはインストールガイドのとおりに行いますが、以下の部分が異なります:

  • cfdisk が "Partition ends in the final partial cylinder" fatal error で終了してしまう場合、残された方法はドライブ上の全てのパーティションを消去することだけです。別のターミナルを開いて (Alt+F2)、fdisk /dev/sdX と入力し (sdX はあなたの使用している usb ドライブに置き換えてください)、パーティションテーブルを表示 (p) して、問題ないか確認をし、パーティションテーブルを削除 (d) してから変更を書き込んでください (w)。そして cfdisk に戻ります。
  • ファイルシステムを選択する前に SSD の wiki 記事の読み書きを最小化するヒントを読むことを強く推奨します。結論としては、ジャーナルを無効にした ext4 が良いでしょう (ただしジャーナルを無効化するとデータを消失する危険性が高まります)。# mkfs.ext4 -O "^has_journal" /dev/sdXX で作成できます。フラッシュが書き込みを行える回数には限りがあり、ジャーナリングファイルシステムは、ジャーナルを更新するたびに回数を減らしてしまうということを覚えてください。同じ理由から、スワップパーティションは作成しないのがベストです。USB ハードドライブへのインストールには影響がありません。
  • 初期 RAM ディスクを作成 (# mkinitcpio -p linux) する前に、/etc/mkinitcpio.conf の HOOKS の udev のすぐ後に block フックを追加してください。初期ユーザー空間で適切なモジュールをロードするために必要です。
  • UFD デバイスをクロスプラットフォームなリムーバルドライブとして使い続けたい場合、(NTFS や exFAT など) 適当なファイルシステムのパーティションを作成します。データパーティションはデバイスの1番目のパーティションにする必要があります。Windows はリムーバルデバイスには1つのパーティションしかないと想定しており、そうでない場合、EFI システムパーティションを自動的にマウントしてしまいます。dosfstoolsntfs-3g を忘れずにインストールしてください。UFD デバイスのリムーバルメディアビットを反転させるツールはオンラインで使うことができます。これによってオペレーティングシステムに UFD デバイスを外付けのハードディスクとして扱わせたり、選択したパーティションスキームを使用することができます。
警告: UFD デバイスのリムーバルメディアビットは反転できないことがあり、使用できないデバイスで無理に反転しようとすると壊れてしまう可能性があります。リムーバルメディアの反転は推奨しません。

設定

  • /etc/fstab に USB キーの / などのパーティションの適切な情報を記述してください。複数のマシンで USB キーを起動する場合、ハードディスクのデバイス番号は変わってしまう可能性があります。そのため UUID やラベルを使用することを推奨します:

パーティションの正しい UUID を取得するには blkid を実行します。

ノート:
  • When GRUB is installed on the USB key, the key will always be hd0,0.
  • It seems that current versions of GRUB will automatically default to using uuid. The following directions are for GRUB legacy.

GRUB legacy

GRUB legacy の設定ファイルである menu.lst を以下のように設定する必要があります:

/dev/sdaX を使用:

root (hd0,0)
kernel /boot/vmlinuz-linux root=/dev/sda1 ro
initrd /boot/initramfs-linux.img

ラベルを使う場合 menu.lst は以下のようになります:

root (hd0,0)
kernel /boot/vmlinuz-linux root=/dev/disk/by-label/Arch ro
initrd /boot/initramfs-linux.img

UUID の場合:

root (hd0,0)
kernel /boot/vmlinuz-linux root=/dev/disk/by-uuid/3a9f8929-627b-4667-9db4-388c4eaaf9fa ro
initrd /boot/initramfs-linux.img

GRUB

UEFI の GPT を使う場合、GRUB#UEFI システム の指示に従って --removable オプションを付けるようにしてください。そうしないと既存の GRUB が破壊される可能性があります。コマンドは以下のようになります:

# grub-install --target=x86_64-efi --efi-directory=$esp --bootloader-id=grub --removable --recheck

Syslinux

/dev/sdaX を使用:

LABEL Arch
        MENU LABEL Arch Linux
        LINUX ../vmlinuz-linux
        APPEND root=/dev/sdax ro
        INITRD ../initramfs-linux.img

UUID を使用:

LABEL Arch
        MENU LABEL Arch Linux
        LINUX ../vmlinuz-linux
        APPEND root=UUID=3a9f8929-627b-4667-9db4-388c4eaaf9fa ro
        INITRD ../initramfs-linux.img

ヒントとテクニック

複数のマシンで USB インストールを使う

アーキテクチャ

互換性を高めるために、32ビット (i686) と64ビット (x86_64) 両方のアーキテクチャで動作するように、i686 アーキテクチャをインストールすることが推奨されます。

また、32ビットのバイナリの方が容量が少なくてすみ multilib パッケージをインストールする必要がなくなるので、x86_64 でインストールするよりも i686 でインストールするほうが基本的に消費する容量は少なくなります。

ノート: (USB キーをインストール/レスキューメディアとして使用する場合などに) 64ビットの Linux 環境に chroot するには x86_64 の Arch を使う必要があります。

インプットドライバー

ノートパソコンを使う (またはタッチスクリーンを使用する) 場合、タッチパッドやタッチスクリーンを使用するには xf86-input-synaptics パッケージが必要になります。

タッチパッドの設定方法や問題のトラブルシューティングについては、Touchpad Synaptics の記事を見てください。

ビデオドライバー

ノート: USB キーに Arch Linux をインストールするような場合にプロプライエタリのビデオドライバーを使用するのは推奨されません。

ほとんどの GPU で動作するように xf86-video-vesa, xf86-video-ati, xf86-video-intel, xf86-video-nouveau をインストールしてください。

永続的なブロックデバイスの命名

fstab とブートローダーの設定では UUID を使うことが推奨されます。詳しくは永続的なブロックデバイスの命名を見て下さい。

また、USB キーのカスタムシンボリックリンクを作成する udev ルールを作成することもできます。fstab やブートローダーの設定ではシンボリックリンクを使うようにします。詳しくは udev#固定デバイス名の設定 を見て下さい。

カーネルパラメータ

Intel のビデオカードなどを使っている場合に、黒画面や "no signal" エラーが表示されないように、KMS は無効化したほうが良いでしょう。KMS を無効化するには、カーネルパラメータに nomodeset を追加します。詳しくはカーネルパラメータを参照してください。

警告: Xorg ドライバーによっては KMS が無効になっていると動作しないことがあります。詳しくはそれぞれのドライバーのページを見て下さい。特に Nouveau はディスプレイのの解像度を正しく認識するために KMS を必要とします。nomodeset カーネルパラメータを追加する場合、Nvidia のビデオカードが搭載されたマシンを使うときはディスプレイの解像度を手動で調整する必要があります。詳しくは Xrandr を参照。

USB-3 メディアから起動

[1] を見て下さい。

互換性

フォールバックイメージを使うことで互換性を最大限に高めることができます。

ディスクアクセスの最小化

  • カスタム設定ファイルを作成するなどして、ジャーナルを RAM に保存するように journald を設定すると良いでしょう:
/etc/systemd/journald.conf.d/usbstick.conf
[Journal]
Storage=volatile
RuntimeMaxUse=30M
  • ウェブブラウザなどのアプリケーションで fsync と関連するシステムコールを無効化するには、libeatmydataAUReatmydata コマンドを使ってシステムコールを無効化できます:
$ eatmydata firefox

参照