USB インストールメディア
このページでは Arch Linux のインストーラーを USB ドライブ (別名: "フラッシュドライブ", "USB スティック", "USB キー" など) に書き込む様々な方法を記述します。Live USB (Live CD ライクな)システムは Arch Linux のインストールやシステムメンテナンス、システムの回復に使用できます。/
に Overlayfs を使うので、コンピュータを一度シャットダウンすると、すべての変更は破棄されます。
USB ドライブからの Arch Linux のフルインストールをしたい場合 (すなわち永続的な設定もする場合) は、リムーバブルメディアに Arch Linux をインストール を参照してください。ブータブル Arch Linux USB スティックをレスキュー USB として使いたい場合は、chroot を参照してください。
以下の手順に進む前に、https://archlinux.org/download/ (日本語版ページ) から ISO をダウンロードし、ファイルの整合性を検証してください。
目次
ISO をそのまま使う (BIOS と UEFI)
GNU/Linux で
基本的なコマンドラインユーティリティを使う
以下のツールは coreutils (base メタパッケージによってインストールされます) であるため、この方法はシンプルで汎用性があり、おすすめできます。
ls -l /dev/disk/by-id/usb-*
を実行して USB ドライブの名前を調べ、lsblk
を実行してそのドライブがマウントされていないことを確認してください。
以下のコマンドを実行する際、/dev/disk/by-id/usb-My_flash_drive
の部分はあなたのドライブに合わせて変更してください (例: /dev/disk/by-id/usb-Kingston_DataTraveler_2.0_408D5C1654FDB471E98BED5C-0:0
)。(パーティション番号を付けないでください。つまり、/dev/disk/by-id/usb-Kingston_DataTraveler_2.0_408D5C1654FDB471E98BED5C-0:0-part1
や /dev/sdb1
のようにしてはいけません):
- cat(1) を使う:
# cat path/to/archlinux-version-x86_64.iso > /dev/disk/by-id/usb-My_flash_drive
- cp(1) を使う:
# cp path/to/archlinux-version-x86_64.iso /dev/disk/by-id/usb-My_flash_drive
- dd を使う:
# dd bs=4M if=path/to/archlinux-version-x86_64.iso of=/dev/disk/by-id/usb-My_flash_drive conv=fsync oflag=direct status=progress
- tee を使う:
# tee < path/to/archlinux-version-x86_64.iso > /dev/disk/by-id/usb-My_flash_drive
- pv を使う:
# pv path/to/archlinux-version-x86_64.iso > /dev/disk/by-id/usb-My_flash_drive
これらのツールの比較と観点、そしてなぜ dd があまり使われないのかについては、[1] と [2] を見てください。
GNOME Disk Utility を使う
GNOME を使っている Linux ディストリビューションなら nautilus と gnome-disk-utility を使うことで簡単にライブ CD が作成できます。.iso
ファイルを右クリックして、 "Open With Disk Image Writer" を選択してください。GNOME Disk Utility が開いたら、"Destination" ドロップダウンメニューからフラッシュドライブを選択して "Start Restoring" をクリックしてください。
MultiWriter を使う
gnome-multi-writer は、ISO ファイルを複数の USB デバイスに一度に書き込める、シンプルな GTK3 ベースのグラフィカルツールです。
Kindd を使う
Kindd は、dd の Qt ベースグラフィカルフロントエンドです。kinddAUR で利用できます。
Popsicle を使う
Popsicle は、ISO ファイルを複数の USB デバイスに並列で書き込むためのツールで、PopOS 開発チームにより作成されました。Rust で記述されており、GTK を使用します。popsicleAUR で利用可能です。
SUSE Studio ImageWriter を使う
SUSE Studio ImageWriter は、OpenSUSE 開発チームにより作成された、Qt ベースのツールです。imagewriterAUR で利用可能です。
xorriso-dd-target を使う
(libisoburn の) xorriso-dd-target は、間違ったストレージデバイスへの上書きリスクの軽減を試みるシェルスクリプトです。最も安全なモードは -plug_test
という名前です。例えば、sudo を使って root に昇格できる通常ユーザとしてこのツールを使うには:
$ xorriso-dd-target -with_sudo -plug_test -DO_WRITE -image_file archlinux-version-x86_64.iso
詳細は xorriso-dd-target(1) を見てください。
USBImager を使う
USBImager は、圧縮ディスクイメージを USB ドライブに書き込んだり、検証したり、バックアップを作成したりする、マルチプラットフォームのグラフィカルアプリケーションです。usbimagerAUR で利用できます。
Windows で
win32diskimager を使う
win32diskimager は、Windows からイメージを USB スティックや SD/CF カードに書き込むためのグラフィカルツールです。ISO イメージを選択して、書き込み先の USB ドライブ文字を選択し (先にフォーマットする必要があります)、Write をクリックしてください。
USBwriter を使う
Linux の dd
と同じように簡単に使うことができます。Arch Linux の ISO をダウンロードして、管理者権限で USBwriter ユーティリティを使って USB フラッシュメモリに書き込むだけです。
USBImager を使う
USBImager は、圧縮ディスクイメージを USB ドライブに書き込んだり、検証したり、バックアップを作成したりする、マルチプラットフォームのグラフィカルアプリケーションです。
Rufus を使う
Rufus は多目的の USB ISO 書き込みツールです。このツールはグラフィカルな UI を提供し、ドライブが正しくフォーマットされているかどうかを気にしません。
単に Arch Linux の ISO と、ブータブルな Arch Linux を作成したい USB ドライブを選択し、START をクリックするだけです。
Cygwin を使う
Cygwin をインストールするときに dd
パッケージを選択してください。
イメージファイルをホームディレクトリに置いてください:
C:\cygwin\home\User\
管理者として cygwin を実行します (cygwin からのハードウェアへのアクセスが必要です)。次のコマンドで USB ドライブに書き込みます:
dd if=archlinux-version-x86_64.iso of=\\.\x: bs=4M
archlinux-version-x86_64.iso
の部分は cygwin
ディレクトリ内にある iso イメージファイルへのパスです。\\.\x:
の部分は USB フラッシュドライブで、x
は windows が決めた文字になります、例: \\.\d:
。
cygwin 6.0 では正しいパーティションを見つけてください:
cat /proc/partitions
そして出力を見て ISO イメージを焼きこみます。例:
dd if=archlinux-version-x86_64.iso of=/dev/sdb bs=4M
dd for Windows を使う
Windows に対応した GPL ライセンスの dd が http://www.chrysocome.net/dd から利用できます。Cygwin と比べてダウンロード容量は少なくてすみます。使用方法は、上の Cygwin の方法に従って下さい。
初めに dd for Windows の最新バージョンをダウンロードしてください。ダウンロードが完了したら、圧縮ファイルを Downloads
ディレクトリかどこかに展開してください。
そして、管理者として Command Prompt を立ち上げてください。次に、Downloads
ディレクトリにディレクトリを変更 (cd
) してください。
Arch Linux の ISO は dd の実行可能ファイルがある場所と同じフォルダに置いた方が便利です、どこか他のところに ISO を置いた場合はフルパスを記述する必要があります。
使用するコマンドは以下のようになります:
# dd if=archlinux-version-x86_64.iso od=\\.\x: bs=4M
flashnul を使う
flashnul はフラッシュメモリ(USB-Flash, IDE-Flash, SecureDigital, MMC, MemoryStick, SmartMedia, XD, CompactFlash など)の機能を検証したりメンテナンスしたりするユーティリティです。
コマンドプロンプトから flashnul を -p
付きで実行してください。そして、どのデバイスインデックスが、対象の USB ドライブであるかを判断してください。例:
C:\>flashnul -p
Avaible physical drives: Avaible logical disks: C:\ D:\ E:\
正しいデバイスを見つけたら、デバイスにイメージを書き込むことができます。-L
とデバイスインデックス、イメージへのパスを付けて flashnul を実行してください。例:
C:\>flashnul E: -L path\to\archlinux-version-x86_64.iso
データを書き込んでいいと確信しているのであれば yes と入力してください。そして、書き込みが終わるまで少し待ってください。アクセス拒否のエラーが発生した場合、開いているエクスプローラーのウインドウをすべて閉じてください。
macOS で
macOS dd を使う
まず USB ドライブを確認する必要があります。/Applications/Utilities/Terminal
を開いて以下のコマンドでストレージデバイスを全て確認できます:
$ diskutil list
USB デバイスは /dev/disk2 (external, physical)
のように表示されます。名前や容量から消去したいデバイスであることを確認できたら、識別子を使って下のコマンドを実行してください (/dev/diskX
を確認できた識別子に置き換えてください)。
通常 masOS では USB デバイスは自動的にマウントされるため、dd
を使ってブロック単位で書き込む前にアンマウントする必要があります (エジェクトではありません)。ターミナルで、以下を実行:
$ diskutil unmountDisk /dev/diskX
それから ISO イメージファイルをデバイスにコピーしてください:
# dd if=path/to/archlinux-version-x86_64.iso of=/dev/rdiskX bs=1m
このコマンドは何も出力せずに動きます。進捗を表示させるには、Ctrl+t
を押して SIGINFO を送信してください。diskX
には s1
サフィックスを含めるべきではないことに注意してください。さもないと、その USB デバイスは UEFI モードでしか起動できず、レガシーモードでは起動できません。完了すると macOS が セットしたディスクは、このコンピュータで読み取れないディスクでした。 とエラーを吐くことがあります。無視 を選択してください。これで USB デバイスはブータブルになります。
USBImager を使う
USBImager は、圧縮ディスクイメージを USB ドライブに書き込んだり、検証したり、バックアップを作成したりする、マルチプラットフォームのグラフィカルアプリケーションです。
Android で
EtchDroid を使う
EtchDroid は、Android のための OS イメージ書き込みツールです。Android 5 以降、root 権限が無くとも動作します。問題が生じた場合は、上流の GitHub を確認してください。
Arch Linux インストーラーを作成するには、ISO イメージを Android デバイス上にダウンロードしてください。(必要であれば USB-OTG アダプタを使って) USB ドライブを Android デバイスに挿入してください。EtchDroid を開き、Flash raw image を選択し、Arch ISO を選択し、USB ドライブを選択してください。USB API の使用許可を付与し、確認してください。
イメージの書き込み中は携帯を机の上に置いておいてください: 多くの USB-OTG アダプタは少しぐらつくので、間違えて抜けてしまうかもしれません。
手動フォーマットを使う
BIOS と UEFI
GNU/Linux で
この方法は dd
でイメージを直接書き込むより少し複雑ですが、ドライブをデータストレージとして使える状態のままにすることができます (既存のパーティション分割されたデバイスの中のパーティションに ISO をインストールします)。
/dev/disk/by-id/usb-My_flash_drive
上にパーティションテーブルを作成してください (まだ作成していないのであれば)。- デバイス上にパーティションを作成してください(まだ作成していないのであれば)。パーティション
/dev/disk/by-id/usb-My_flash_drive-partn
は FAT32 にフォーマットされていなければなりません。 - USB フラッシュデバイスにあるその FAT32 ファイルシステムをマウントしてください。そして、ISO イメージの内容をそこへ展開してください。例えば:
# mount /dev/disk/by-id/usb-My_flash_drive-partn /mnt # bsdtar -x -f archlinux-version-x86_64.iso -C /mnt
BIOS ブートを行うには、ファイルが存在しているボリュームを指定する必要があります。デフォルトでは、UUID YYYY-mm-dd-HH-MM-SS-00
(適切な UTC のリリース日と時間) が使用されます。/mnt/boot/syslinux/archiso_sys-linux.cfg
内の archisodevice=
パラメータはデバイスの永続的なデバイス識別子に置き換えてください。例えば: archisodevice=UUID=YOUR-UUID
。
BIOS システム用の Syslinux のファイルはすでに /mnt/boot/syslinux
へコピーされています。
FAT ファイルシステムをアンマウントし、syslinux と mtools をインストールして、パーティションを起動可能にするために以下のコマンドを実行してください:
# umount /mnt # syslinux --directory boot/syslinux --install /dev/disk/by-id/usb-My_flash_drive-partn # dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/mbr.bin of=/dev/disk/by-id/usb-My_flash_drive
Windows で
- Rufus USB partitioner を使って USB ドライブをパーティショニングし、フォーマットしてください。パーティション構成オプションは MBR for BIOS and UEFI を、ファイルシステムは FAT32 を選んで下さい。"Create a bootable disk using ISO image" と "Create extended label and icon files" オプションのチェックを外して下さい。
- Volume Label は好きに設定してください。このステップは公式 ISO (Archiso) に必要です。このステップは、前の "パーティショニングとフォーマット" のステップで Rufus を使用することでも可能です。
- ISO を (ZIP アーカイブの解凍と同じように) USB フラッシュドライブに 7-Zip を使って展開してください。
X:\boot\syslinux\archiso_sys-linux.cfg
を編集して、archisodevice=UUID=YYYY-mm-dd-HH-MM-SS-00
の部分を全てarchisodevice=LABEl=YOUR_LABEL
に置き換えてください。YOUR_LABEL
の部分は、先ほど設定したボリュームラベルです。- https://www.kernel.org/pub/linux/utils/boot/syslinux/ から最新の公式 syslinux 6.xx バイナリ (zip ファイル) をダウンロードして展開してください。Syslinux のバージョンは ISO イメージで使われているバージョンと合わせてください。
- 以下のコマンドを実行してください (管理者として実行した Windows のコマンドプロンプトで実行):
> cd bios\ > for /r %Y in (*.c32) do copy "%Y" "X:\boot\syslinux\" /y > copy mbr\*.bin X:\boot\syslinux\ /y
- 以下を実行して Syslinux を USB にインストールしてください (64ビット版 Windows では
win64\syslinux64.exe
を使ってください):
> cd bios\ > win32\syslinux.exe -d /boot/syslinux -i -a -m X:
BIOS のみ
GNU/Linux で
USB-ZIP ドライブの作成
一部の古い BIOS 環境では、USB-ZIP ドライブからの起動しかサポートされていないことがあります。この方法では USB ハードドライブからの起動を可能とします。
- syslinux と mtools をインストールしてください。
ls /dev/disk/by-id/usb-*
で USB ドライブを確認します。mkdiskimage -4 /dev/disk/by-id/usb-My_flash_drive 0 64 32
を実行してください。しばらく時間がかかります。
ここからは手動フォーマットの手順に従ってください。ZIP ドライブのためパーティションは /dev/disk/by-id/usb-My_flash_drive-part4
になります。
UEFI のみ
UEFI のみでブートさせる場合、FAT でフォーマットされた USB フラッシュドライブへ ISO のコンテンツを展開するだけで十分です。
ドライブ上に EFI システムパーティションを作成する必要はありません。すべての UEFI (実装) は、USB フラッシュドライブ上の任意の FAT ボリュームから起動できるからです。最も互換性の高いセットアップは、0c
"W95 FAT32 (LBA)" タイプの単一のアクティブ (ブータブル) プライマリパーティションを持つ MBR パーティションテーブルを使用することです。[3]
GNU/Linux で
この方法では、ファイルを ISO イメージから USB フラッシュドライブへ展開します。
- もしまだなら、パーティションテーブルを
/dev/disk/by-id/usb-My_flash_drive
に作成し、パーティション をデバイス上の (/dev/disk/by-id/usb-My_flash_drive-partn
) に作成してください。 - もしまだなら、そのパーティションを FAT32 にフォーマットしてください:
# mkfs.fat -F 32 /dev/disk/by-id/usb-My_flash_drive-partn
- そのファイルシステムをマウントしてください:
# mount /dev/disk/by-id/usb-My_flash_drive-partn /mnt
- そのマウントしたファイルシステムに ISO イメージを展開してください:
# bsdtar -x -f archlinux-version-x86_64.iso -C /mnt
- ファイルシステムをアンマウントしてください。
Windows で
この方法では、ファイルを ISO イメージから USB フラッシュドライブへコピーします。
- USB フラッシュドライブをパーティショニングし、FAT32 にフォーマットしてください。
archlinux-version-x86_64.iso
を右クリックし、マウントを選択してください。- 新しく作成した DVD ドライブに移動し、すべてのファイルとフォルダを USB フラッシュドライブにコピーしてください。
- コピーが終わったら、DVD ドライブを右クリックして、取り出しを選択してください。
- USB フラッシュドライブを取り出してください。
macOS で
DiskImageMounter と Disk Utility のどちらも isohybrid ISO をマウントすることはできません。しかし、macOS には libarchive が同梱されているため、bsdtar を使って ISO をフラッシュドライブに展開することができます。
- まだ行っていないならば、Disk Utility を使って USB フラッシュドライブをパーティショニングし、そのパーティションを FAT32 でフォーマットしてください。
- そのボリュームをマウントしてください。
- Terminal アプリケーションを開き、bsdtar を使って ISO イメージを先のマウント済みのファイルシステムに展開してください:
$ bsdtar -x -f archlinux-version-x86_64.iso -C /Volumes/your-flash-drive
- 終わったら、USB フラッシュドライブをアンマウントし、取り出してください。
マルチブート USB ドライブを使う
この方法では archiso を含む複数の ISO をひとつの USB デバイスから起動できるようにします。他の方法よりも既存の USB ドライブを新しい ISO にアップデートするのが簡単です。マルチブート USB ドライブを参照してください。
ventoy を使う
Ventoy は、ISO/WIM/IMG/VHD(x)/EFI ファイルの起動可能な USB ドライブを作成するためのオープンソースなツールです。ventoy では、ディスクを何回もフォーマットする必要はありません。ただ ISO/WIM/IMG/VHD(x)EFI ファイルを USB ドライブにコピーするだけで、それらを直接起動できます。一度に多くのファイルをコピーでき、ventoy は起動するファイルを選択するブートメニューを提供します。ventoy-binAUR で利用可能です。
Windows で
RAM からインストールメディアをロードする
Syslinux と RAM ディスク (MEMDISK) を使って RAM から ISO イメージをロードする方法です。システムメモリ上で全てを実行するので、それに見合った RAM が積まれていなければなりません。MEMDISK を使って Arch Linux をインストールするために必要な RAM の最低量は 500 MB から 1 GB です。
Arch Linux と MEMDISK のシステム要件についてはインストールガイドと こちら に詳しく載っています。フォーラムスレッド も参照してください。
USB フラッシュドライブの準備
USB スティックを FAT32 でフォーマットし、新しくフォーマットしたドライブに以下のフォルダを作ります:
Boot
Boot/ISOs
Boot/Settings
必要なファイルを USB フラッシュドライブにコピー
ブートしたい ISO を Boot/ISOs
フォルダにコピーしてください。その後、ここ から syslinux の最新版を取ってきて以下のファイルをコピーしてください。
./win32/syslinux.exe
をデスクトップかダウンロードフォルダに置いて下さい。./memdisk/memdisk
を USB フラッシュドライブ上のSettings
フォルダに置きます。
設定ファイルの作成
必要なファイルをコピーしたら、/boot/Settings
フォルダの中に syslinux.cfg
ファイルを作ります:
/Boot/Settings/syslinux.cfg
DEFAULT arch_iso LABEL arch_iso MENU LABEL Arch Setup LINUX memdisk INITRD /Boot/ISOs/archlinux-2017.04.01-x86_64.iso APPEND iso
Syslinux について詳しくは Syslinux を参照してください。
最後の手順
最後に syslinux.exe
と同じところに *.bat
を作り、実行します (Vista や Windows 7 を使っているときは"管理者として実行"します):
C:\Documents and Settings\username\Desktop\install.bat
@echo off syslinux.exe -m -a -d /Boot/Settings X:
推奨されない方法
etcher を使う
etcher にはアナリティクスとファーストパーティの広告があります。[4]、[5]、[6] を見てください。
Universal USB Installer を使う
- ダウンロードページには偽の Download ボタンがあり、マルウェアが含まれているかもしれません。
- Universal USB Installer は ISO をそのまま書き込みません。そのため、syslinux バージョンの不一致により BIOS ブートが壊れます。[7] を見てください。
- Arch Linux のインストールイメージのブートローダは
ARCH_YYYYXX
というラベルのボリュームに ISO の内容が存在することを期待します。Universal USB Installer はファイルシステムのラベルをアップデートせず、ブートローダの設定も修正しません。
UNetbootin を使う
- UNetbootin は ISO をそのまま書き込みません。そのため、syslinux バージョンの不一致により BIOS ブートが壊れます。
- Arch Linux のインストールイメージのブートローダは
ARCH_YYYYXX
というラベルのボリュームに ISO の内容が存在することを期待します。UNetbootin はファイルシステムのラベルをアップデートせず、ブートローダの設定も修正しません。
トラブルシューティング
デバイスが表示されない
/dev/disk/by-label/ARCH_XXXXXX
がマウントされず "device did not show up after 30 seconds" エラーが表示される場合は、USB メディアの名前を ARCH_XXXXXX
に変えてみて下さい (例: archlinux-2021.02.01-x86_64.iso
の場合は ARCH_202102
)。
ループバックデバイスのセットアップに失敗する: No such file or directory
losetup: /run/archiso/bootmnt/arch/x86_64/airootfs.sfs: failed to set up loop devices: No such file or directory
というエラーが発生する場合、USB 2.0 のポートを使ってみてください。例えば、一部の USB 3.0 ポートは USB ハブを介して動作しません。
他のエラー
その他のエラーが発生する場合、他の USB デバイスを使用してみてください。そうすることですべての問題が解決したという事例が複数あります。