「USB インストールメディア」の版間の差分
細 (リンクをリダイレクトではなく本体の記事へ変更) |
細 (→基本的なコマンドラインユーティリティを使う: 修正) |
||
27行目: | 27行目: | ||
{{Warning|この方法では {{ic|/dev/'''sdx'''}} の全てのデータを完全に消去します。Arch ISO イメージを使った後に USB ドライブをストレージデバイスとして使える状態に戻したい場合、root で {{ic|wipefs --all /dev/'''sdx'''}} を実行して iso9660 ファイルシステムの署名を削除してから、USB ドライブを[[パーティショニング]]・[[フォーマット]]してください。}} |
{{Warning|この方法では {{ic|/dev/'''sdx'''}} の全てのデータを完全に消去します。Arch ISO イメージを使った後に USB ドライブをストレージデバイスとして使える状態に戻したい場合、root で {{ic|wipefs --all /dev/'''sdx'''}} を実行して iso9660 ファイルシステムの署名を削除してから、USB ドライブを[[パーティショニング]]・[[フォーマット]]してください。}} |
||
− | {{Tip| |
+ | {{Tip|USB フラッシュインストールメディアがマウント'''されていない'''ことを {{ic|lsblk}} を使って確認して下さい。}} |
以下のコマンドを実行してください ({{ic|/dev/'''sdx'''}} は USB ドライブに置き換えてください、例えば {{ic|/dev/sdb}}) のように。(パーティション番号を追加してはいけません。つまり {{ic|/dev/sdb'''1'''}} などと指定してはいけません。): |
以下のコマンドを実行してください ({{ic|/dev/'''sdx'''}} は USB ドライブに置き換えてください、例えば {{ic|/dev/sdb}}) のように。(パーティション番号を追加してはいけません。つまり {{ic|/dev/sdb'''1'''}} などと指定してはいけません。): |
2022年11月17日 (木) 01:07時点における版
このページでは Arch Linux のインストーラーを USB ドライブ (別名: "フラッシュドライブ", "USB スティック", "USB キー" など) に書き込む様々な方法を記述します。Live USB (Live CD ライクな)システムは Arch Linux のインストールやシステムメンテナンス、システムの回復に使用できます。/
に Overlayfs を使うので、コンピュータを一度シャットダウンすると、すべての変更は破棄されます。
USB ドライブからの Arch Linux のフルインストールをしたい場合 (すなわち永続的な設定もする場合) は、リムーバブルメディアに Arch Linux をインストール を参照してください。ブータブル Arch Linux USB スティックをレスキュー USB として使いたい場合は、Change Root を参照してください。
目次
ISO をそのまま使う(BIOS と UEFI)
GNU/Linux で
基本的なコマンドラインユーティリティを使う
そのようなツールは coreutils (base メタパッケージに含まれています)の一部であるため、簡単で普遍的に利用可能であることからこの方法は推奨されます。
以下のコマンドを実行してください (/dev/sdx
は USB ドライブに置き換えてください、例えば /dev/sdb
) のように。(パーティション番号を追加してはいけません。つまり /dev/sdb1
などと指定してはいけません。):
- cat(1) を使う場合:
# cat path/to/archlinux-version-x86_64.iso > /dev/sdx
- cp(1) を使う場合:
# cp path/to/archlinux-version-x86_64.iso /dev/sdx
- dd を使う場合:
# dd bs=4M if=path/to/archlinux-version-x86_64.iso of=/dev/sdx conv=fsync oflag=direct status=progress
- tee を使う場合:
# tee < path/to/archlinux-version-x86_64.iso > /dev/sdx
- pv を使う場合:
# pv path/to/archlinux-version-x86_64.iso > /dev/sdx
以上のツールの比較や使い方、なぜ 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) を見てください。
Windows で
win32diskimager を使う
win32diskimager は Windows 用のグラフィカルな USB ISO 書き込みツールです。ISO イメージを選択して、書き込み先の USB ドライブ文字を選択し (先にフォーマットする必要があります)、Write をクリックしてください。
USBwriter を使う
Linux の dd
と同じように簡単に使うことができます。Arch Linux の ISO をダウンロードして、管理者権限で USBwriter ユーティリティを使って USB フラッシュメモリに書き込むだけです。
Rufus を使う
Rufus は多目的の USB ISO 書き込みツールです。このツールはグラフィカルな UI を提供し、ドライブが正しくフォーマットされているかどうかを気にしません。
単に Arch Linux の ISO と、ブータブルな Arch Linux を作成したい USB ドライブを選択し、START をクリックするだけです。
Cygwin を使う
Cygwin をインストールするときに dd
パッケージを選択してください。
イメージファイルをホームディレクトリに置いてください、例:
C:\cygwin\home\John\
管理者として 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 の最新バージョンをダウンロードしてください。ダウンロードが完了したら、圧縮ファイルを展開してください。
そして、管理者として command prompt
を立ち上げてください。次に、ダウンロードしたディレクトリにディレクトリを変更 (cd
) してください。
Arch Linux の ISO は dd の実行可能ファイルがある場所と同じフォルダに置いた方が便利です、どこか他のところに ISO を置いた場合はフルパスを記述する必要があります。
使用するコマンドは以下のようになります:
# dd if=archlinux-version-x86_64.iso od=\\.\x: bs=4M
("x" になっている) 日付やドライブ文字は適当な文字列に置き換えてください。実際に使用するコマンドは以下のようになります:
# dd if=ISOs\archlinux-version-x86_64.iso od=\\.\d: 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 と入力してください。そして、書き込みが終わるまで少し待ってください。アクセス拒否のエラーが発生した場合、開いているエクスプローラーのウインドウをすべて閉じてください。
Vista や Win7 ではコンソールを管理者として開かないと、flashnul が USB をブロックデバイスとして開くことができず、Windows が提供するドライブハンドルを通じてしか書き込むことができません。
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
コマンドは Linux のものと似ていますが、'disk' の前に 'r' を指定して raw モードを使うことで高速に転送できます:
# dd if=path/to/archlinux-version-x86_64.iso of=/dev/rdiskX bs=1m
このコマンドは何も出力せずに動きます。進捗を表示させるには、Ctrl+t
を押して SIGINFO を送信してください。diskX
には s1
サフィックスを含めるべきではないことに注意してください。さもないと、その USB デバイスは UEFI モードでしか起動できず、レガシーモードでは起動できません。完了すると macOS が「セットしたディスクは、このコンピュータで読み取れないディスクでした。」とエラーを吐くことがあります。「無視」を選択してください。これで USB デバイスはブータブルになります。
Android で
EtchDroid
EtchDroid は、Android のための OS イメージ書き込みツールです。Android 5 から Android 8 で root 権限なしで動作します。バグレポートによると、Android 9 と Android 4.4 では常に動作するとは限らないようです。
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/sdX
上にパーティションテーブルを作成してください(まだ作成していないのであれば)。- デバイス上にパーティションを作成してください(まだ作成していないのであれば)。パーティション
/dev/sdXn
は FAT32 にフォーマットされていなければなりません。 - USB フラッシュデバイスにあるその FAT32 ファイルシステムをマウントしてください。そして、ISO イメージの内容をそこへ展開してください。例えば:
# mount /dev/sdXn /mnt # bsdtar -x -f archlinux-version-x86_64.iso -C /mnt
起動するには、展開されたファイルが存在するボリュームを指定する必要があります。デフォルトでは、ARCH_YYYYMM
というラベルが使用されます(ラベルの文字列は適切なリリース年月になります)。そのため、ファイルシステムのラベルを適宜設定する必要があります。あるいは、ブートローダの設定を変更することでこの挙動を変更できます:
- BIOS ブート:
/mnt/syslinux/archiso_sys-linux.cfg
内のarchisolabel=ARCH_YYYYMM
。 - UEFI ブート:
/mnt/EFI/BOOT/grub.cfg
内のarchisolabel=ARCH_YYYYMM
とsearch --no-floppy --set=root --label ARCH_YYYYMM
。
UUID を代わりに使うには、これらの行の一部を archisodevice=/dev/disk/by-uuid/YOUR-UUID
に置き換えてください。grub.cfg
の場合は search --no-floppy --set=root --fs-uuid YOUR-UUID
を使用してください。
BIOS システム用の Syslinux のファイルはすでに /mnt/syslinux
へコピーされています。
FAT ファイルシステムをアンマウントし、syslinux と mtools をインストールして、パーティションを起動可能にするために以下のコマンドを実行してください:
# umount /mnt # syslinux --directory syslinux --install /dev/sdXn # dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sdX
Windows で
- Rufus USB partitioner を使って USB ドライブをパーティショニング・フォーマットしてください。パーティション構成オプションは MBR for BIOS and UEFI を、ファイルシステムは FAT32 を選んで下さい。"Create a bootable disk using ISO image" と "Create extended label and icon files" オプションのチェックを外して下さい。
- USB フラッシュドライブ
X:
のボリュームラベルをX:\EFI\BOOT\grub.cfg
のarchisolabel=
に記述されている LABEL と一致するように変更してください。この手順は公式 ISO (Archiso) の代わりに Archboot を使っている場合は必要ありません。この設定は、先の "パーティショニング・フォーマット"のステップで Rufus でも行うことができます。 - ISO を (ZIP アーカイブの解凍と同じように) USB フラッシュドライブに 7-Zip を使って展開してください。
- 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:\syslinux\" /y > copy mbr\*.bin X:\syslinux\ /y
- 以下を実行して Syslinux を USB にインストールしてください (64ビット版 Windows では
win64\syslinux64.exe
を使ってください):
> cd bios\ > win32\syslinux.exe -d /syslinux -i -a -m X:
BIOS のみ
GNU/Linux で
USB-ZIP ドライブの作成
一部の古い BIOS 環境では、USB-ZIP ドライブからの起動しかサポートされていないことがあります。この方法では USB-HDD ドライブからの起動を可能とします。
- 公式リポジトリから syslinux と mtools をダウンロードしてください。
lsblk
で usb ドライブを確認します。mkdiskimage -4 /dev/sdx 0 64 32
を実行してください (x はドライブの文字に置き換えてください)。しばらく時間がかかります。
ここからは手動フォーマットの手順に従ってください。ZIP ドライブのためパーティションは /dev/sdx4
になります。
UEFI のみ
UEFI のみの起動をする場合、ファイルを ISO からコピーして、FAT ボリュームのラベルを変更するかブートローダーの設定ファイルを編集して archisolabel
/archisodevice
を適宜設定するだけで可能です。
GNU/Linux で
この方法は、ISO イメージから USB フラッシュドライブにファイルをコピーして、GRUB の設定かファイルシステムのラベルを修正するだけです。
- もしまだなら、パーティションテーブルを
/dev/sdX
に作成し、パーティション をデバイス上の (/dev/sdXn
) に作成してください。 - もしまだなら、そのパーティションを FAT32 にフォーマットしてください:
# mkfs.fat -F 32 /dev/sdXn
- その FAT32 ファイルシステムをマウントしてください:
# mount /dev/sdXn /mnt
- そのマウントしたファイルシステムに ISO イメージを展開してください:
# bsdtar -x --exclude=syslinux/ -f archlinux-version-x86_64.iso -C /mnt
- 以下のどちらか一方を行ってください:
/mnt/EFI/BOOT/grub.cfg
を編集し、archisolabel=ARCH_YYYYMM
とsearch --no-floppy --set=root --label ARCH_YYYYMM
をデバイスに合うように変更してください。例: これらをそれぞれarchisodevice=/dev/disk/by-uuid/YOUR-UUID
とsearch --no-floppy --set=root --fs-uuid YOUR-UUID
に置き換える。その後、FAT32 ファイルシステムをアンマウントしてください。- ファイルシステムをアンマウントし、LABEL を
ARCH_YYYYMM
に合うように変更してください:# fatlabel /dev/sdXn ARCH_YYYYMM
Windows で
- USB フラッシュドライブをパーティショニングし、FAT32 にフォーマットしてください。
archlinux-version-x86_64.iso
を右クリックし、マウントを選択してください。- 新しく作成した DVD ドライブに移動し、
syslinux
を除いてすべてのファイルとフォルダを USB フラッシュドライブにコピーしてください。 - コピーが終わったら、DVD ドライブを右クリックして、取り出しを選択してください。
- 以下のどちらか一方を行ってください:
/mnt/EFI/BOOT/grub.cfg
をテキストエディタで編集し、archisolabel=ARCH_YYYYMM
とsearch --no-floppy --set=root --label ARCH_YYYYMM
をデバイスに合うように変更してください。例: これらをそれぞれarchisodevice=/dev/disk/by-uuid/YOUR-UUID
とsearch --no-floppy --set=root --fs-uuid YOUR-UUID
に置き換える。その後、FAT32 ファイルシステムをアンマウントしてください。- FAT32 のボリュームラベルを
ARCH_YYYYMM
に合うように変更してください。
- 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 にはアナリティクスとファーストパーティの広告があります。[3]、[4]、[5] を見てください。
Universal USB Installer を使う
- ダウンロードページには偽の Download ボタンがあり、マルウェアが含まれているかもしれません。
- Universal USB Installer は ISO をそのまま書き込みません。そのため、syslinux バージョンの不一致により BIOS ブートが壊れます。[6] を見てください。
- 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
)。- 他のエラーが発生する場合、他の USB デバイスを使ってみてください。これですべての問題が解決した場合があります。
losetup: /run/archiso/bootmnt/arch/x86_64/airootfs.sfs: failed to set up loop devices: No such file or directory
というエラーが発生する場合、USB 2.0 のポートを使ってみてください。(USB ハブを通した USB 3.0 ポートは動作しないことがあります。)