「リムーバブルメディアに Arch Linux をインストール」の版間の差分
30行目: | 30行目: | ||
* cfdisk が "Partition ends in the final partial cylinder" fatal error で終了してしまう場合、残された方法はドライブ上の全てのパーティションを消去することだけです。別のターミナルを開いて ({{ic|Alt+F2}})、{{ic|fdisk /dev/''sdX''}} と入力し ({{ic|''sdX''}} はあなたの使用している usb ドライブに置き換えてください)、パーティションテーブルを表示 (p) して、問題ないか確認をし、パーティションテーブルを削除 (d) してから変更を書き込んでください (w)。そして cfdisk に戻ります。 |
* cfdisk が "Partition ends in the final partial cylinder" fatal error で終了してしまう場合、残された方法はドライブ上の全てのパーティションを消去することだけです。別のターミナルを開いて ({{ic|Alt+F2}})、{{ic|fdisk /dev/''sdX''}} と入力し ({{ic|''sdX''}} はあなたの使用している usb ドライブに置き換えてください)、パーティションテーブルを表示 (p) して、問題ないか確認をし、パーティションテーブルを削除 (d) してから変更を書き込んでください (w)。そして cfdisk に戻ります。 |
||
* ファイルシステムを選択する前に [[SSD]] の wiki 記事の[[SSD#SSD の読み書きを最小化するヒント|読み書きを最小化するヒント]]を読むことを強く推奨します。結論としては、[http://fenidik.blogspot.com/2010/03/ext4-disable-journal.html ジャーナルを無効にした ext4] が良いでしょう。{{ic|# mkfs.ext4 -O "^has_journal" /dev/sdXX}} で作成できます。フラッシュが書き込みを行える回数には限りがあり、ジャーナリングファイルシステムは、ジャーナルを更新するたびに回数を減らしてしまうということを覚えてください。同じ理由から、スワップパーティションは作成しないのがベストです。USB ハードドライブへのインストールには影響がありません。 |
* ファイルシステムを選択する前に [[SSD]] の wiki 記事の[[SSD#SSD の読み書きを最小化するヒント|読み書きを最小化するヒント]]を読むことを強く推奨します。結論としては、[http://fenidik.blogspot.com/2010/03/ext4-disable-journal.html ジャーナルを無効にした ext4] が良いでしょう。{{ic|# mkfs.ext4 -O "^has_journal" /dev/sdXX}} で作成できます。フラッシュが書き込みを行える回数には限りがあり、ジャーナリングファイルシステムは、ジャーナルを更新するたびに回数を減らしてしまうということを覚えてください。同じ理由から、スワップパーティションは作成しないのがベストです。USB ハードドライブへのインストールには影響がありません。 |
||
− | * |
+ | * 初期 RAM ディスクを作成 ({{ic|# mkinitcpio -p linux}}) する前に、{{ic|/etc/mkinitcpio.conf}} の HOOKS の {{ic|udev}} のすぐ後に {{ic|block}} フックを追加してください。初期ユーザー空間で適切なモジュールをロードするために必要です。 |
+ | * UFD デバイスをクロスプラットフォームなリムーバルドライブとして使い続けたい場合、(NTFS や exFAT など) 適当なファイルシステムのパーティションを作成します。データパーティションはデバイスの1番目のパーティションにする必要があります。Windows はリムーバルデバイスには1つのパーティションしかないと想定しており、そうでない場合、EFI システムパーティションを自動的にマウントしてしまいます。{{Pkg|dosfstools}} や {{Pkg|ntfs-3g}} を忘れずにインストールしてください。UFD デバイスのリムーバルメディアビットを反転させるツールはオンラインで使うことができます。これによってオペレーティングシステムに UFD デバイスを外付けのハードディスクとして扱わせたり、選択したパーティションスキームを使用することができます。 |
||
− | * If you want to be able to continue to use the UFD device as a cross-platform removable drive, this can be accomplished by creating a partition housing an appropriate file system (most likely NTFS or exFAT). Note that the data partition may need to be the first partition on the device, as Windows assumes that there can only be one partition on a removable device, and will happily automount an EFI system partition otherwise. Remember to install {{Pkg|dosfstools}} and {{Pkg|ntfs-3g}}. Some tools are available online that may allow you to flip the removable media bit on your UFD device. This would trick operating systems into treating your UFD device as an external hard disk and allow you to use whichever partitioning scheme you choose. |
||
{{Warning|It is not possible to flip the removable media bit on every UFD device and attempting to use software that is incompatible with your device may damage it. Attempting to flip the removable media bit is '''not''' recommended.}} |
{{Warning|It is not possible to flip the removable media bit on every UFD device and attempting to use software that is incompatible with your device may damage it. Attempting to flip the removable media bit is '''not''' recommended.}} |
||
38行目: | 38行目: | ||
== 設定 == |
== 設定 == |
||
+ | * {{ic|/etc/fstab}} に USB キーの {{ic|/}} などのパーティションの適切な情報を記述してください。複数のマシンで USB キーを起動する場合、ハードディスクのデバイス番号は変わってしまう可能性があります。そのため UUID やラベルを使用することを推奨します: |
||
− | * Make sure that {{ic|/etc/fstab}} includes the correct partition information for {{ic|/}}, and for any other partitions on the USB key. If the usb key is to be booted on several machines, it is quite likely that devices and number of available hard disks vary. So it is advised to use UUID or label: |
||
パーティションの正しい UUID を取得するには {{ic|blkid}} を実行します。 |
パーティションの正しい UUID を取得するには {{ic|blkid}} を実行します。 |
||
49行目: | 49行目: | ||
=== GRUB legacy === |
=== GRUB legacy === |
||
+ | GRUB legacy の設定ファイルである {{ic|menu.lst}} を以下のように設定する必要があります: |
||
− | {{ic|menu.lst}}, the GRUB legacy configuration file, should be edited to (loosely) match the following: |
||
+ | |||
− | With the static {{ic|/dev/sda''X''}}: |
||
+ | {{ic|/dev/sda''X''}} を使用: |
||
root (hd0,0) |
root (hd0,0) |
||
56行目: | 57行目: | ||
initrd /boot/initramfs-linux.img |
initrd /boot/initramfs-linux.img |
||
+ | ラベルを使う場合 {{ic|menu.lst}} は以下のようになります: |
||
− | When using label your menu.lst should look like this: |
||
root (hd0,0) |
root (hd0,0) |
||
62行目: | 63行目: | ||
initrd /boot/initramfs-linux.img |
initrd /boot/initramfs-linux.img |
||
+ | UUID の場合: |
||
− | And for UUID, it should be like this: |
||
root (hd0,0) |
root (hd0,0) |
||
kernel /boot/vmlinuz-linux root=/dev/disk/by-uuid/3a9f8929-627b-4667-9db4-388c4eaaf9fa ro |
kernel /boot/vmlinuz-linux root=/dev/disk/by-uuid/3a9f8929-627b-4667-9db4-388c4eaaf9fa ro |
||
initrd /boot/initramfs-linux.img |
initrd /boot/initramfs-linux.img |
||
+ | |||
+ | === GRUB === |
||
+ | |||
+ | UEFI の GPT を使う場合、[[GRUB#UEFI システム]] の指示に従って {{ic|--removable}} オプションを付けるようにしてください。そうしないと既存の GRUB が破壊される可能性があります。コマンドは以下のようになります: |
||
+ | |||
+ | # grub-install --target=x86_64-efi --efi-directory=$esp --bootloader-id=grub '''--removable''' --recheck |
||
=== Syslinux === |
=== Syslinux === |
||
− | + | {{ic|/dev/sda''X''}} を使用: |
|
LABEL Arch |
LABEL Arch |
||
78行目: | 85行目: | ||
INITRD ../initramfs-linux.img |
INITRD ../initramfs-linux.img |
||
+ | UUID を使用: |
||
− | Using your UUID: |
||
LABEL Arch |
LABEL Arch |
||
92行目: | 99行目: | ||
==== アーキテクチャ ==== |
==== アーキテクチャ ==== |
||
+ | 互換性を高めるために、32ビット (i686) と64ビット (x86_64) 両方のアーキテクチャで動作するように、i686 アーキテクチャをインストールすることが推奨されます。 |
||
− | For the most versatile compatibility it is recommended that you install the i686 architecture because it will run on both 32-bit (i686) and 64-bit (x86_64) architectures. |
||
+ | また、32ビットのバイナリの方が容量が少なくてすみ multilib パッケージをインストールする必要がなくなるので、x86_64 でインストールするよりも i686 でインストールするほうが基本的に消費する容量は少なくなります。 |
||
− | Additionally, due to the reduced size of 32-bit binaries and the absence of (possible) multilib packages, an i686 installation typically consumes less space than an equivalent x86_64 one. |
||
{{Note|Chrooting into a 64-bit Linux installation (eg. when using the USB key as install/rescue media) is only possible from x86_64 Arch.}} |
{{Note|Chrooting into a 64-bit Linux installation (eg. when using the USB key as install/rescue media) is only possible from x86_64 Arch.}} |
||
106行目: | 113行目: | ||
==== ビデオドライバー ==== |
==== ビデオドライバー ==== |
||
+ | {{Note|USB キーに Arch Linux をインストールするような場合にプロプライエタリのビデオドライバーを使用するのは推奨されません。}} |
||
− | {{Note|The use of proprietary video drivers is '''not''' recommended for this type of installation.}} |
||
ほとんどの GPU で動作するように {{Pkg|xf86-video-vesa}}, {{Pkg|xf86-video-ati}}, {{Pkg|xf86-video-intel}}, {{Pkg|xf86-video-nouveau}} をインストールしてください。 |
ほとんどの GPU で動作するように {{Pkg|xf86-video-vesa}}, {{Pkg|xf86-video-ati}}, {{Pkg|xf86-video-intel}}, {{Pkg|xf86-video-nouveau}} をインストールしてください。 |
||
120行目: | 127行目: | ||
Intel のビデオカードなどを使っている場合に、黒画面や "no signal" エラーが表示されないように、KMS は無効化したほうが良いでしょう。KMS を無効化するには、カーネルパラメータに {{ic|nomodeset}} を追加します。詳しくは[[カーネルパラメータ]]を参照してください。 |
Intel のビデオカードなどを使っている場合に、黒画面や "no signal" エラーが表示されないように、KMS は無効化したほうが良いでしょう。KMS を無効化するには、カーネルパラメータに {{ic|nomodeset}} を追加します。詳しくは[[カーネルパラメータ]]を参照してください。 |
||
+ | {{Warning|[[Xorg]] ドライバーによっては KMS が無効になっていると動作しないことがあります。詳しくはそれぞれのドライバーのページを見て下さい。特に Nouveau はディスプレイのの解像度を正しく認識するために KMS を必要とします。{{ic|nomodeset}} カーネルパラメータを追加する場合、Nvidia のビデオカードが搭載されたマシンを使うときはディスプレイの解像度を手動で調整する必要があります。詳しくは [[Xrandr]] を参照。}} |
||
− | {{Warning|Some [[Xorg]] drivers will not work with KMS disabled. See the wiki page on your specific driver for details. Nouveau in particular needs KMS to determine the correct display resolution. If you add {{ic|nomodeset}} as a kernel parameter as a preemptive measure you may have to adjust the display resolution manually when using machines with Nvidia video cards. See [[Xrandr]] for more info.}} |
||
==== USB-3 メディアから起動 ==== |
==== USB-3 メディアから起動 ==== |
2015年11月7日 (土) 14:06時点における版
このページでは標準的な Arch のインストールを USB キー (または"フラッシュドライブ") で行う方法を説明しています。USB インストールメディアで説明している LiveUSB の作り方と違って、HDD に通常インストールするのと同じように USB フラッシュドライブにインストールを行います。
目次
インストール
USB スティックに Arch をインストールする方法は様々ありますが、一番シンプルなのは Arch からインストールする方法です:
- 既に Arch を実行している場合、arch-install-scripts をインストールして iso からインストールするのと同じようにインストールガイドに従って下さい。ただし
/dev/sda
を使用する代わりに、インストールする前に$ lsblk
を使って USB キーの/dev/sd*
の名前を確認します。
- 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 システムパーティションを自動的にマウントしてしまいます。dosfstools や ntfs-3g を忘れずにインストールしてください。UFD デバイスのリムーバルメディアビットを反転させるツールはオンラインで使うことができます。これによってオペレーティングシステムに UFD デバイスを外付けのハードディスクとして扱わせたり、選択したパーティションスキームを使用することができます。
- NetworkManager をインストールして、ネットワークをコントロールします。NetworkManager はインターフェイス名の変更に対応しています。
設定
/etc/fstab
に USB キーの/
などのパーティションの適切な情報を記述してください。複数のマシンで USB キーを起動する場合、ハードディスクのデバイス番号は変わってしまう可能性があります。そのため UUID やラベルを使用することを推奨します:
パーティションの正しい UUID を取得するには blkid
を実行します。
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
Tips
複数のマシンで USB インストールを使う
アーキテクチャ
互換性を高めるために、32ビット (i686) と64ビット (x86_64) 両方のアーキテクチャで動作するように、i686 アーキテクチャをインストールすることが推奨されます。
また、32ビットのバイナリの方が容量が少なくてすみ multilib パッケージをインストールする必要がなくなるので、x86_64 でインストールするよりも i686 でインストールするほうが基本的に消費する容量は少なくなります。
インプットドライバー
ノートパソコンを使う (またはタッチスクリーンを使用する) 場合、タッチパッドやタッチスクリーンを使用するには xf86-input-synaptics パッケージが必要になります。
タッチパッドの設定方法や問題のトラブルシューティングについては、Touchpad Synaptics の記事を見てください。
ビデオドライバー
ほとんどの 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
を追加します。詳しくはカーネルパラメータを参照してください。
USB-3 メディアから起動
[1] を見て下さい。
互換性
The fallback image should be used for maximum compatibility.
ディスクアクセスの最小化
- カスタム設定ファイルを作成するなどして、ジャーナルを RAM に保存するように journald を設定すると良いでしょう:
/etc/systemd/journald.conf.d/usbstick.conf
[Journal] Storage=volatile RuntimeMaxUse=30M
- ウェブブラウザなどのアプリケーションで
fsync
と関連するシステムコールを無効化するには、libeatmydataAUR の eatmydata コマンドを使ってシステムコールを無効化できます:
$ eatmydata firefox