USB インストールメディア

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

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

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

BIOS・UEFI ブータブル USB

dd を使う (推奨方法)

ノート: この方法はシンプルなので推奨です。この方法で上手く行かない時は下のもうひとつの方法に進んで下さい。
警告: この方法では /dev/sdx の全てのデータを完全に消去します。

GNU/Linux

ヒント: lsblk を使って USB フラッシュインストールメディアがマウントされていないことを確認して下さい。
ノート: /dev/sdx1 ではなく /dev/sdx を使って下さい。x はあなたの使うデバイスに置き換えて下さい。
# dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx && sync

Windows

Cygwin を使う

あなたの Cygwin のインストールが dd パッケージを含んでいるか確認してください。

ヒント: Cygwin をインストールしたくないのならば、windows 対応の dd が http://www.chrysocome.net/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-2013-XX-xx-dual.iso of=\\.\x: bs=4m
警告: This command will replace the drive's contents and its formatting with the ISO's. You will likely be unable to recover its contents in the event of an accidental copy. Be absolutely sure that you are directing dd to the correct drive before executing!

日付やドライブ文字は適当に置き換えて下さい。

dd if=ISOs\archlinux-2013.08.01-dual.iso of=\\.\d: bs=4M

Mac OS X

Mac で dd を USB デバイスに使うには、いくつか特別な手法を使わなくてはなりません。まず初めに USB デバイスを挿入し、OS X が自動マウントしたら、Terminal.app で次を実行してください:

$ diskutil list

(mount コマンドか sudo dmesg | tail を使って) あなたの USB デバイスの呼称を確認してください - 例: /dev/disk1。そしてデバイス上のパーティション (i.e., /dev/disk1s1) をアンマウントしてデバイス (i.e., /dev/disk1) を正しく保ちます:

$ diskutil unmountDisk /dev/disk1

上の Linux の手順と同じように以下を実行します(ただし OS X の dd を使うときは bs=8192 (1024*8) を使います):

dd if=image.iso of=/dev/disk1 bs=8192
20480+0 records in
20480+0 records out
167772160 bytes transferred in 220.016918 secs (762542 bytes/sec)	

ドライブを物理的に取り出す前に、ドライブをエジェクトします。

$ diskutil eject /dev/disk1

USB ドライブを修復する方法

ISO イメージはディスクに書き込むことも、USB ドライブに直接書き込むこともできるので、標準的なパーティションテーブルを持っていません。

USB ドライブを使って Arch Linux をインストールした後、USB ドライブの機能を回復させたい場合、USB ドライブの初めの 512 バイトを 0 に設定 (MBRのブートコードと規格外のパーティションテーブル) しなければなりません:

# dd count=1 bs=512 if=/dev/zero of=/dev/sdx && sync

それから新しいパーティションテーブル ("msdos" など) とファイルシステム (例:EXT4, FAT32) を gparted かターミナルから作ります:

  • EXT2/3/4 (それぞれにあわせて変更して下さい) では:
# cfdisk /dev/sdx
# mkfs.ext4 /dev/sdx1
# e2label /dev/sdx1 USB_STICK
  • FAT32 では dosfstools パッケージをインストールした後に:
# cfdisk /dev/sdx
# mkfs.vfat -F32 /dev/sdx1
# dosfslabel /dev/sdx1 USB_STICK

手動フォーマットを使う (もうひとつの方法)

GNU/Linux

この方法は dd でイメージを直接書き込むより少し複雑ですが、ドライブをデータストレージとして使えるままにできます。

  • 最新の syslinux パッケージ (バージョン 6.02 以降) がシステムにインストールされているか確認してください。
  • MBR (msdos) パーティションテーブルには FAT32 ファイルシステムを含むパーティションが少なくともひとつ必要です。存在しない場合、次に進む前にパーティションやファイルシステムを作成してください。
  • ISO イメージをマウントしてください。
# mkdir -p /mnt/iso
# mount -o loop archlinux-2013.10.01-dual.iso /mnt/iso
ノート: 以下のコマンドの文中にある、/dev/sdX1 はあなたのシステムにあわせて適当に置き換えて下さい。
  • USB フラッシュデバイスに FAT32 ファイルシステムをマウントし、iso ファイルの中身をそこにコピーしてください。
# mkdir -p /mnt/usb
# mount /dev/sdX1 /mnt/usb
# cp -a /mnt/iso/* /mnt/usb
# sync
# umount /mnt/{usb,iso}
  • 設定ファイル archiso_sys32 と archiso_sys64 を調整してください。この手順は Archiso の代わりに Archboot を使っている場合は不要です。このコマンドは両方の設定ファイルの archisolabel=ARCH_2013XX という部分を archisodevice=/dev/disk/by-uuid/47FA-4071 に書き換えます。
警告: ドライブに "ARCH_2013XX" (XXはリリース月) とラベリングするか UUID を使わないと作成したメディアから起動できなくなります。
$ sed -i "s|label=ARCH_.*|device=/dev/disk/by-uuid/$(blkid -o value -s UUID /dev/sdX1)|" archiso_sys{32,64}.cfg
ノート: /dev/sdx1 は修正してください。
  • Syslinux#手動インストール に従って Syslinux をフラッシュドライブにインストールしてください。USB にある syslinux モジュール (*.c32 ファイル) を syslinux パッケージに含まれているファイルで上書きしてください。この手順はバージョンの不一致でブートに問題が生じないようにするために必要です。

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 を使っている場合は必要ありません。
  • ISO を (ZIP の解凍と同じように) USB フラッシュドライブに 7-Zip を使って展開してください。
  • 以下のコマンドを実行してください:
ノート: 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 では X:\boot\syslinux\ を使って下さい。
> cd bios\
> win32\syslinux.exe -d /arch/boot/syslinux -i -a -m X:
ノート:
  • The above step install Syslinux ldlinux.sys to the USB partition VBR, sets the partition as active/boot in the MBR partition table and write the MBR boot code to the 1st 400-byte boot code region of the USB.
  • The -d switch expects path with forward slash path-separator like in *unix systems.

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

GNU/Linux

UNetbootin を使う

ISO を USB デバイスにコピーするのに UNetbootin はさまざまな Linux ディストリビューションや Windows で使うことができます。しかし、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 ../../

label ubnentry0
menu label Archlinux_i686
kernel /arch/boot/i686/vmlinuz
append initrd=/arch/boot/i686/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 をクリックしてください。

ヒント: By default, the Win32 Disk Imager's file-browser assumes disk image files end with a .img extension. However, you can simply change the Files of type drop-down list to *.* and continue on to selecting your Arch Linux ISO.
ノート: インストールした後、ここに書かれた手順に従えば USB フラッシュドライブを修復できます。

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 etc) の機能をチェック・メンテナンスするためのユーティリティです。

コマンドプロンプトから、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 から与えられた範囲でしか書き込みできません。

ノート: Confirmed that you need to use drive letter as opposed to number. flashnul 1rc1, Windows 7 x64.

ISO 全体を RAM から起動する

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 ファイルの名前を使って下さい。
X:\Boot\Settings\syslinux.cfg
DEFAULT arch_iso

LABEL arch_iso
        MENU LABEL Arch Setup
        LINUX memdisk
        INITRD /Boot/ISOs/archlinux-2013.08.01-dual.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:

Universal USB Installer

Windows のツール [1] を使えば、多くの Linux ディストリのインストーラーが入ったライブ USB メディアを素早く作ることができます。一度作成すれば、USB ドライブを再フォーマットしない限りインストーラーを追加・削除可能です。

トラブルシューティング

  • MEMDISK を使う方法で、i686 版を起動すると "30 seconds" エラーが表示される場合は、Boot Arch Linux (i686) エントリの上で Tab キーを押して一番後ろに vmalloc=448M を加えて下さい。参考までに、イメージが 128MiB よりも大きくて 32-bit OS を使っている場合は、vmalloc の最大メモリ使用量を増やす必要があります(*)
  • /dev/disk/by-label/ARCH_XXXXXX がマウントされず "30 seconds" エラーが表示される場合は、USB メディアの名前を ARCH_XXXXXX に変えてみて下さい (例: ARCH_201308)。

参照