USB Installation Media (日本語)

From ArchWiki
Jump to: navigation, search
概要
Arch Linux をインストールしたり、システムリカバリをするためのブータブル USB スティックを作る方法。
関連記事
CD Burning

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

USB ドライブからの Arch Linux のフルインストールをしたい場合(すなわち永続的な設定もする場合)は、Installing Arch Linux on a USB key を参照してください。

Note: UEFI ブートでは、ブータブル USB スティックの作成はここの指示に従って下さい。

Contents

On GNU/Linux

USB ドライブを上書きする方法

Warning: この方法では /dev/sdx の全てのデータを完全に消去します。
Warning: この方法は UEFI ブートでは使えません。
Tip: lsblk で USB デバイスがマウントされていないか確認して下さい、/dev/sdx1 ではなく /dev/sdx を使って下さい。とてもよくある間違いです!
# dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx && sync

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

USB ドライブを上書きしない方法

この方法は dd でイメージを直接書き込むより少し複雑ですが、ドライブをデータストレージとして使えるままにできます。はじめる前に、USB ドライブが FAT32, EXT2/3/4, Btrfs のいずれかでフォーマットされているか確認してください。UEFI ブートや、他の OS と共存している場合は、FAT32 を使うのが好ましいです。また、事前に syslinux パッケージ (version 4.04 以上) をインストールします。

1. ISO 内の arch フォルダを USB ドライブに展開します。UEFI マザーボードでは、ここの指示にも従ってください。

2. Syslinux ブートローダをインストール:

Warning: どこを dd するのか気をつけてください。そして、以下のコマンドは、初めのパーティションではなく、ドライブそれ自体に行なって下さい。非常によくある間違いです。
Note: ディストリビューションによっては mbr.bin ファイルは /usr/share/syslinux/mbr.bin として存在することもあります。
$ cd /path/to/folder/arch/boot/syslinux #path/to/folder は USB ドライブのマウントポイント
# extlinux --install .                       #ドット (.) も含め、この通りにタイプしてください。
# dd bs=440 conv=notrunc count=1 if=/usr/lib/syslinux/mbr.bin of=/dev/sdx
# parted /dev/sdx toggle 1 boot

3. 設定ファイルを調節:

Warning: ドライブに "ARCH_2013XX" (XXはリリース月) とラベリングしたり UUID を使うのに失敗すると、悪名の高い "30 seconds" エラーが出ます。

設定ファイルをふたつ同時に archisolabel=ARCH_2013XX の部分を同意味の archisodevice=/dev/disk/by-uuid/47FA-4071 に書き換えるコマンドです:

Note: /dev/sdx1 は修正してください、そうしないと (sdx ドライブは存在しないので) 空になります。
$ sed -i "s|label=ARCH_.*|device=/dev/disk/by-uuid/$(blkid -o value -s UUID /dev/sdx1)|" archiso_sys{32,64}.cfg

あなたのディストリビューションの syslinux パッケージのバージョンが 4.06 以下のときは、FAT32 ファイルシステムのために (EXT4 では不要です)、syslinux.cfgAPPEND 行も置き換えます:

$ sed -i "s|../../|/arch|" syslinux.cfg

UNetbootin を使う

ISO を USB デバイスにコピーするのに UNetbootin はさまざまな Linux ディストリビューションや Windows で使うことができます。しかし、UNetbootin は syslinux.cfg を上書きしてしまうため、その USB デバイスは正しく起動できなくなります。このため、Unetbootin は非推奨です -- dd を使うなど他の方法を使って下さい。

Warning: 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 を押してメニューを出した時にこの変更をすることができます。

On 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

On Windows

Win32 Disk Imager

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

Warning: USB フラッシュドライブ内の全ての情報が破壊されます!
Tip: 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.
Note: インストールした後、ここに書かれた手順に従えば 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 から与えられた範囲でしか書き込みできません。

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

Cygwin を使う

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

Tip: 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 イメージを焼きこみます。例:

Warning: この作業は USB スティックの全てのファイルを完全に消去します、実行する前にスティックに重要なファイルが残っていないか確認してください。
dd if=image.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-2013-XX-xx-dual.iso of=\\.\x: bs=4m
Warning: 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!

Simply replace the various null spots (indicated by an "x") with the correct date and correct drive letter.

Here is a complete example.

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

ISO 全体を RAM から起動する

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

Arch Linux と MEMDISK のシステム要件については Beginners' Guide (日本語)ここ に詳しく載っています。

Tip: 一度ロードが完了しグラフィカルメニューが表示されたら、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 ファイルを作ります。

Warning: 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:

MULTIBOOT Live USB に追加する

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

トラブルシューティング

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

参照