USB インストールメディア

提供: ArchWiki
2017年8月20日 (日) 22:25時点におけるKusakata (トーク | 投稿記録)による版 (同期)
ナビゲーションに移動 検索に移動

関連記事

このページでは Arch Linux のインストーラーを USB ドライブ (別名: "フラッシュドライブ", "USB スティック", "USB キー" など) に書き込む様々な方法を記述します。LiveCD のようなシステム (ここでは "LiveUSB") は SquashFS を使うので、コンピュータを一度シャットダウンすると、すべての変更は破棄されます。

USB ドライブからの Arch Linux のフルインストールをしたい場合 (すなわち永続的な設定もする場合) は、USB キーに Arch Linux をインストールを参照してください。ブータブル Arch Linux USB スティックをレスキュー USB として使いたい場合は、Change Root を参照してください。

BIOS・UEFI ブータブル USB

dd を使う

ノート: この方法はシンプルなので推奨される方法です。この方法で上手く行かない時は下の手動フォーマットを使う方法に進んで下さい。
警告: この方法では /dev/sdx の全てのデータを完全に消去します。Arch ISO イメージを使った後に USB ドライブをストレージデバイスとして使える状態に戻したい場合、root で wipefs --all /dev/sdx を実行して iso9660 ファイルシステムの署名を削除してから、USB ドライブをパーティショニングフォーマットしてください。

GNU/Linux

ヒント: lsblk を使って USB フラッシュインストールメディアがマウントされていないことを確認して下さい。

以下のコマンドを実行してください (/dev/sdx は USB ドライブに置き換えてください、例: /dev/sdb):

# dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress && sync
警告: パーティション番号を追加してはいけません。つまり /dev/sdb1 などと指定してはいけません。

データが完全に書き込まれたことを確認するため sync コマンドが完了するまで待ってから USB ドライブを抜いてください。

dd コマンドに関する詳細は Core Utilities#dd を参照。

Windows

Rufus を使う

Rufus は多目的の USB ISO 書き込みツールです。Arch Linux の ISO を選択して、ブータブルな Arch Linux インストーラーを作成したい USB ドライブを選択して Start をクリックしてください。

Rufus はドライブが正しくフォーマットされているかどうか気にせず、GUI が用意されているため、簡単に使えるツールです。

ノート: DD モードを選択しないとイメージの転送が正しく行われません。
USBwriter を使う

Linux の dd と同じように簡単に使うことができます。Arch Linux の ISO をダウンロードして、管理者権限で USBwriter ユーティリティを使って USB フラッシュメモリに書き込むだけです。

win32diskimager を使う

win32diskimager は Windows 用のグラフィカルな USB ISO 書き込みツールです。ISO イメージを選択して、書き込みを行う USB ドライブ文字を選択し (先にフォーマットする必要があります)、Write をクリックしてください。

Cygwin を使う

Cygwin をインストールするときに dd パッケージを選択してください。

ヒント: Cygwin をインストールしたくないのならば、Windows 対応の ddこちら からダウンロードできます。詳しくは次のセクションを見て下さい。

イメージファイルをホームディレクトリに置いてください、例:

C:\cygwin\home\John\

管理者として cygwin を実行します (cygwin からのハードウェアへのアクセスが必要です)。次のコマンドで USB ドライブに書き込みます:

dd if=image.iso of=\\.\x: bs=4M

image.iso は cygwin ディレクトリ中の iso イメージファイルのパスに、\\.\x は USB デバイスに置き換えてください。x は windows が決めた文字になります、例: \\.\d:

cygwin 6.0 では正しいパーティションを見つけてください:

cat /proc/partitions

そして出力を見て ISO イメージを焼きこみます。例:

警告: この作業は USB スティックの全てのファイルを完全に消去します、実行する前にスティックに重要なファイルが残っていないか確認してください。
dd if=image.iso of=/dev/sdb bs=4M
dd for Windows
ノート: この方法を使うと起動時に "isolinux.bin missing or corrupt" 問題が起こることがあります。

Windows に対応した GPL ライセンスの dd が http://www.chrysocome.net/dd から利用できます。Cygwin と比べてダウンロード容量は少なくてすみます。使用方法は、上の Cygwin の方法に従って下さい。

初めに dd for Windows の最新バージョンをダウンロードしてください。ダウンロードが完了したら、圧縮ファイルを展開してください。

そして、管理者として command prompt を立ち上げてください。次に、ダウンロードしたディレクトリにディレクトリを変更 (cd) してください。

Arch Linux の ISO は dd の実行可能ファイルがある場所と同じフォルダに置いた方が便利です、どこか他のところに ISO を置いた場合はフルパスを記述する必要があります。

使用するコマンドは以下のようになります:

# dd if=archlinux-2017-XX-YY-x86_64.iso od=\\.\x: bs=4M
ノート: Windows のドライブ文字はパーティションに紐付けられています。ディスク全体を選択できるようにするため、dd for Windows には od パラメータが存在し、上記のコマンドで使用しています。このパラメータが使えるのは dd for Windows だけであり、他の dd 実装では存在しないので注意してください。
警告: od を使用するため、選択されたディスクのパーティションは全て破壊されます。実行する前に dd のコピー先のドライブが正しいことを確認してください。

("x" になっている) 日付やドライブ文字は適当な文字列に置き換えてください。実際に使用するコマンドは以下のようになります:

# dd if=ISOs\archlinux-2017.04.01-x86_64.iso od=\\.\d: bs=4M
ノート: もしくは、ドライブ文字を \\.\PhysicalDriveX に置き換えてください (X は0から始まる物理ドライブ番号になります)。例:
# dd if=ISOs\archlinux-2017.04.01-x86_64.iso of=\\.\PhysicalDrive1 bs=4M
物理ドライブ番号はコマンドプロンプトで wmic diskdrive list brief を実行するか dd --list を使うことで確認できます。エクスプローラーのウィンドウは全て閉じて下さい。閉じていないと dd がエラーを吐きます。

macOS

まず 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 モードを使うことで高速に転送できます:

$ sudo dd if=path/to/arch.iso of=/dev/rdiskX bs=1m

完了すると macOS が「セットしたディスクは、このコンピュータで読み取れないディスクでした。」とエラーを吐くことがあります。「無視」を選択してください。これで USB デバイスはブータブルになります。

手動フォーマットを使う

GNU/Linux

この方法は dd でイメージを直接書き込むより少し複雑ですが、ドライブをデータストレージとして使える状態のままにすることができます (既存のパーティション分割されたデバイスの中のパーティションに ISO をインストールします)。

ノート: 以下の文中にあるコマンドで使っている、書き込み先の /dev/sdXn は適当なパーティションに置き換えてください。
  • 最新の syslinux パッケージ (バージョン 6.02 以降) がシステムにインストールされているか確認してください。
  • MBR (msdos) パーティションテーブルには FAT32 ファイルシステムを含むパーティションが少なくともひとつ必要です。存在しない場合、次に進む前にパーティションやファイルシステムを作成してください。
  • ISO イメージをマウントして、USB フラッシュドライブの FAT32 ファイルシステムをマウントし、ISO イメージの中身をコピーしてください。そして ISO イメージをアンマウントして、FAT32 パーティションはマウントされた状態のままにします (後で使います)。例:
# mkdir -p /mnt/{iso,usb}
# mount -o loop archlinux-2017.04.01-x86_64.iso /mnt/iso
# mount /dev/sdXn /mnt/usb
# cp -a /mnt/iso/* /mnt/usb
# sync
# umount /mnt/iso
ノート: Archiso の代わりに Archboot を使用する場合、以下の手順は必要ありません。
  • 起動するにはラベルか UUID で起動するパーティションを選択する必要があります。デフォルトでは ARCH_2017XX というラベルが使われます (ラベルの文字列はリリース年月になります)。そのため、gparted を使うなどしてパーティションのラベルを正しく設定しなければなりません。また、/mnt/usb/arch/boot/syslinux/archiso_sys.cfg (BIOS ブートの場合) や /mnt/usb/loader/entries/archiso-x86_64.conf (UEFI ブートの場合) の archisolabel=ARCH_2017XX で終わる行を変更することで使用するラベルは変更できます。UUID を使用したい場合、archisodevice=/dev/disk/by-uuid/YOUR-UUID と置き換えてください。UUID は blkid -o value -s UUID /dev/sdXn で確認することができます。
警告: ラベルや UUID が間違っていると作成したメディアから起動できなくなります。
  • Syslinux は既に /mnt/usb/arch/boot/syslinux にプリインストールされています。Syslinux#手動インストールに従ってフォルダに完全にインストールしてください。
    • (ISO の) USB に存在している既存の Syslinux モジュール (*.c32 ファイル) を syslinux パッケージに含まれているファイルで上書き (/usr/lib/syslinux/bios に存在します)。この手順はバージョンの不一致でブートに問題が生じないようにするために必要です。
      # cp /usr/lib/syslinux/bios/*.c32 /mnt/usb/arch/boot/syslinux
    • 以下のコマンドを実行:
      # extlinux --install /mnt/usb/arch/boot/syslinux
    • パーティションをアンマウント (umount /mnt/usb) して USB デバイスに MBR あるいは GPT パーティションテーブルをインストール。
  • パーティションを active (あるいは “bootable”) に設定。

Windows

ノート:
  • UEFI ブータブル USB を作成するのに Bootable USB Creator ユーティリティを使ってはいけません。手動フォーマットの場合、USB ドライブに ISO を dd するのに dd for Windows を使わないで下さい。
  • 下のコマンド内の X: は Windows での USB フラッシュドライブを意味しています。
  • Windows はパスを分けるのにバックスラッシュ \ を使っているので、下のコマンドでもバックスラッシュを使っています。
  • 全てのコマンドは Windows のコマンドプロンプトで管理者として実行する必要があります。
  • > は 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:ボリュームラベル<ISO>\loader\entries\archiso-x86_64.confarchisolabel= に記述されている 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 のコマンドプロンプトで実行):
ノート: Archboot の iso の場合 X:\boot\syslinux\ を使ってください。
> cd bios\
> for /r %Y in (*.c32) do copy "%Y" "X:\arch\boot\syslinux\" /y
> copy mbr\*.bin X:\arch\boot\syslinux\ /y
  • 以下を実行して Syslinux を USB にインストールしてください (64ビット版 Windows では win64\syslinux64.exe を使ってください):
ノート: Archboot の iso の場合 -d /boot/syslinux を使ってください。
> cd bios\
> win32\syslinux.exe -d /arch/boot/syslinux -i -a -m X:
ノート:
  • 上記のステップで Syslinux の ldlinux.sys が USB パーティションの VBR にインストールされ、MBR パーティションテーブルでパーティションが "active/boot" と設定されて USB の最初の440バイトのブートコード領域に MBR ブートコードが書き込まれます。
  • -d スイッチには Unix 環境と同じようにスラッシュで区切るパスを使います。

BIOS システム向けの他の方法

GNU/Linux

マルチブート USB ドライブを使う

この方法では archiso を含む複数の ISO をひとつの USB デバイスから起動できるようにします。他の方法よりも既存の USB ドライブを新しい ISO にアップデートするのが簡単です。マルチブート USB ドライブを参照してください。

GNOME Disk Utility を使う

GNOME を使っている Linux ディストリビューションなら nautilusgnome-disk-utility を使うことで簡単にライブ CD が作成できます。.iso ファイルを右クリックして、 "Open With Disk Image Writer" を選択してください。GNOME Disk Utility が開いたら、"Destination" ドロップダウンメニューからフラッシュドライブを選択して "Start Restoring" をクリックしてください。

USB-ZIP ドライブの作成

古い BIOS 環境の場合、USB-ZIP ドライブからの起動しかサポートされていないことがあります。この方法では USB-HDD ドライブからの起動を可能とします。

警告: 以下の手順を実行すると USB フラッシュドライブの情報が全て消去されます。
  • 公式リポジトリから syslinuxmtools をダウンロードしてください。
  • lsblk で usb ドライブを確認します。
  • mkdiskimage -4 /dev/sdx 0 64 32 を実行してください (x はドライブの文字に置き換えてください)。しばらく時間がかかります。

ここからは手動フォーマットの手順に従ってください。ZIP ドライブのためパーティションは /dev/sdx4 になります。

ノート: ドライブを FAT32 でフォーマットしてはいけません。FAT16 のままにしてください。

UNetbootin を使う

UNetbootin はあらゆる Linux ディストリビューションや Windows で使うことができ、ISO を USB ドライブにコピーできます。ただし、Unetbootin は syslinux.cfg を上書きするため、作成された USB デバイスは正しく起動が行えなくなります。そのため、Unetbootin の使用は推奨されませんdd など別の方法を使うことを推奨します。

警告: UNetbootin はデフォルトの syslinux.cfg を上書きします。USB デバイスで起動する前に元の状態に戻す必要があります。

syslinux.cfg を編集してください:

sysconfig.cfg
default menu.c32
prompt 0
menu title Archlinux Installer
timeout 100

label unetbootindefault
menu label Archlinux_x86_64
kernel /arch/boot/x86_64/vmlinuz
append initrd=/arch/boot/x86_64/archiso.img archisodevice=/dev/sdx1 ../../

/dev/sdx1x は Arch Linux をインストールするシステムで使っている最後の文字の後ろの最初の空の文字に置き換えて下さい (例えば、ハードドライブが2つある場合、c を使って下さい)。ブートの初期段階で Tab を押してメニューを出した時にこの変更をすることができます。

Windows

Win32 Disk Imager

警告: 以下の方法は USB フラッシュドライブ内の全ての情報が破壊されます。

最初に、こちら からプログラムをダウンロードしてください。次に、圧縮ファイルを展開して実行可能ファイルを実行してください。そして、Image File セクションから Arch Linux ISO を選び Device セクションから USB フラッシュデバイス名 (例: [D:\]) 選択して下さい。最後に、準備が整ったら Write をクリックしてください。

USBWriter for Windows

http://sourceforge.net/projects/usbwriter/ からプログラムをダウンロードして実行してください。arch のイメージファイルを選択し、USB スティックを選び、write ボタンをクリックしてください。これで usb スティックから起動して Arch Linux をインストールできるはずです。

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\arch.iso

データ書き込みをするか確認されるので、yes と入力し、書き込まれるのを待ちます。アクセス拒否のエラーが出るようなら、開いているすべてのエクスプローラを閉じてみて下さい。

Vista や Win7 の場合、管理者としてコンソールを起動しなくてはなりません、そうしないと、flashnul は USB ドライブをブロックデバイスとして開けず Windows から与えられた範囲でしか書き込みできません。

ノート: パーティション番号ではなくドライブ文字を使用する必要があります (flashnul 1rc1, Windows 7 x64 で確認)。

メモリからインストールメディアをロード

SyslinuxRAM ディスク (MEMDISK) を使って RAM から ISO イメージをロードする方法です。システムメモリ上で全てを実行するので、それに見合った RAM が積まれていなければなりません。MEMDISK を使って Arch Linux をインストールするために必要な RAM の最低量は 500 MB から 1 GB です。

Arch Linux と MEMDISK のシステム要件についてはインストールガイドこちら に詳しく載っています。フォーラムスレッド も参照してください。

ヒント: 一度ロードが完了しグラフィカルメニューが表示されたら、USB スティックを抜いてもオーケーです。そのままスティックを他のマシンで使ってもかまいません。また、起動に使った USB スティックに Arch をインストールすることもできます。
USB フラッシュドライブの準備

USB スティックを FAT32 でフォーマットし、新しくフォーマットしたドライブに以下のフォルダを作ります:

  • Boot
    • Boot/ISOs
    • Boot/Settings
必要なファイルを USB フラッシュドライブにコピー

ブートしたい ISO を Boot/ISOs フォルダにコピーしてください。その後、ここ から syslinux の最新版を取ってきて以下のファイルをコピーしてください。

  • ./win32/syslinux.exe をデスクトップかダウンロードフォルダに置いて下さい。
  • ./memdisk/memdisk を USB フラッシュドライブ上の Settings フォルダに置きます。
設定ファイルの作成

必要なファイルをコピーしたら、/boot/Settings フォルダの中に syslinux.cfg ファイルを作ります:

警告: INITRD 行には、ISOs フォルダにコピーした ISO ファイルの名前を使って下さい。
/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:

トラブルシューティング

  • /dev/disk/by-label/ARCH_XXXXXX がマウントされず "device did not show up after 30 seconds" エラーが表示される場合は、USB メディアの名前を ARCH_XXXXXX に変えてみて下さい (例: ARCH_201501)。

参照