Difference between revisions of "USB Installation Media (日本語)"

From ArchWiki
Jump to: navigation, search
m
m
Line 23: Line 23:
 
== On GNU/Linux ==
 
== On GNU/Linux ==
  
=== USB ドライブにオーバーライトする方法 ===
+
=== USB ドライブを上書きする方法 ===
  
 
{{Warning|この方法では {{ic|/dev/sdx}} の全てのデータを完全に消去します。}}
 
{{Warning|この方法では {{ic|/dev/sdx}} の全てのデータを完全に消去します。}}
Line 58: Line 58:
 
# dosfslabel /dev/sdx1 USB_STICK</nowiki>}}
 
# dosfslabel /dev/sdx1 USB_STICK</nowiki>}}
  
=== USB ドライブをオーバーライトしない方法 ===
+
=== USB ドライブを上書きしない方法 ===
  
 
この方法は {{ic|dd}} でイメージを直接書き込むより少し複雑ですが、ドライブをデータストレージとして使えるままにできます。はじめる前に、USB ドライブが FAT32, EXT2/3/4, Btrfs のいずれかでフォーマットされているか確認してください。[[UEFI]] ブートや、他の OS と共存している場合は、FAT32 を使うのが好ましいです。また、事前に ''syslinux'' パッケージ (version 4.04 以上) をインストールします。
 
この方法は {{ic|dd}} でイメージを直接書き込むより少し複雑ですが、ドライブをデータストレージとして使えるままにできます。はじめる前に、USB ドライブが FAT32, EXT2/3/4, Btrfs のいずれかでフォーマットされているか確認してください。[[UEFI]] ブートや、他の OS と共存している場合は、FAT32 を使うのが好ましいです。また、事前に ''syslinux'' パッケージ (version 4.04 以上) をインストールします。

Revision as of 02:46, 10 March 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end

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

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

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

On GNU/Linux

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

Warning: この方法では /dev/sdx の全てのデータを完全に消去します。
Note: この方法は UEFI ブートでは使えません。
Note: lsblk で USB デバイスがマウントされていないか確認して下さい、/dev/sdx1 ではなく /dev/sdx を使って下さい。とてもよくある間違いです!
# dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx
Note: Some older firmware does not understand the isohybrid hack where start of fake partition offset is 0. See https://bugs.archlinux.org/task/32189 for a fix involving isohybrid.pl.

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

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

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

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

それから新しいパーティションテーブル ("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 /media/somefolder/arch/boot/syslinux    #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. 設定ファイルを調節:

Note: ドライブに "ARCH_2012XX" (XXはリリース月) とラベリングすることもできますが、おそらく UUID を使うほうがより良い方法です (あとで望んだ時にいつでもラベリングしなおしたり、空白のままにしておくことができます)。間違えるとどちらも有名な 30 seconds error が出ます。

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

Note: /dev/sdx1 を調節してください、さもなければ空にしてください (sdx ドライブは存在しないので)。
$ sed -i "s|label=ARCH_2012.*|device=/dev/disk/by-uuid/$(lsblk -no UUID /dev/sdx1)|" archiso_sys{32,64}.cfg

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

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

On Mac OS X

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

 diskutil list

あなたの USB デバイスの呼称を確認してください - 例: /dev/disk1 。(`mount` コマンドか `sudo dmesg | tail` を使います)。そして次を実行:

 diskutil unmountDisk /dev/disk1

デバイスのパーティション (ここでは /dev/disk1s1) をアンマウントし、デバイス (同 /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

Image Writer for Windows

http://launchpad.net/win32-image-writer からプログラムをダウンロードして起動します。Arch のイメージファイルと USB スティックを選択してください。Win32 Disk Imager のファイルブラウザはイメージファイルの拡張子が .img だと想定しているので、イメージファイルが .iso で終わる時は、イメージファイルの名前を手動で入力する必要があります。この違いは単純に外面的なものですが、イメージはそれと関係なく書き込まれます。書き込みボタンを押して下さい。そして USB スティックから起動し、Arch Linux をインストールします。

The Universal USB Installer

Universal USB Installer は Live Linux USB Creator で、Linux ディストリビューションを一覧から選び、USB フラッシュドライブに書き込みます。

Warning: The Universal USB Installer は PENDRIVE ラベルを usb ドライブに指定するので Arch がデフォルトのパス /dev/disk/by-label/ARCH20130201 にインストールメディアを見つけられなくて起動に失敗します。従って Image Writer for Windows を使うことを推奨します。

Linux Live USB Creator

Warning: この方法は dual architecture iso では利用できません。

Linux Live USB Creator を使って Arch のブータブル USB キーを作ることができます。手動でダウンロードした iso を使うことも、自動で iso をダウンロードさせることもできます。また USB キーでの VirtualBox の自動インストールもサポートしており Windows 内で Arch を起動することができます。詳しくはホームページを参照。

Problem: When using Linux Live USB(LiLi) Creator to write dual architecture iso to a USB, LiLi changes the label of the USB to MYLINUXLIVE by default but the file archiso-x86_64.conf tell linux to look for installation media named with the month and release date of the file, eg: ARCH_201302 Hence the famous 30 second error.

Solution: There are two solutions to this problem:

  • In your USB open /loade/archiso-x86_64.conf and change the last line saying archisolabel=something to reflect the label of your USB eg: if your USB label is MYLINUXLIVE then this file should look like:
/loader/archiso-x86_64.conf:
title Arch Linux archiso x86_64 UEFI USB

linux /arch/boot/x86_64/vmlinuz

initrd /arch/boot/x86_64/archiso.img

options archisobasedir=arch archisolabel=MYLINUXLIVE

  • Or you can just change the label of your USB to the value of archisolabel shown in /loader/archiso-x86_64.conf. Be sure to change the autorun.inf file with same label because if you do not do this the label will change back to LiLi default which is MYLINUXLIVE.

UNetbootin

Warning: UNETBOOTIN は使わないで下さい。このプログラムはデフォルトの syslinux.cfg を上書きしてしまいローディングプロセスを破壊します。他のプログラム・方法を使って下さい。

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

ここでは、ドライブE を使ってみます:

どのデバイスが正しいドライブか確認できたら、ドライブにイメージを書き込みます。flashnul を、デバイス名、-L、イメージへのパスを付けて起動します。例:

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. -bgalakazam

Cygwin を使う

あなたの Cygwin のインストールが dd パッケージを含んでいるか確認してください。Cygwin をインストールしたくないのならば、windows 対応の dd が http://www.chrysocome.net/dd からダウンロードできます。

イメージファイルをホームディレクトリに置きます、例えば:

C:\cygwin\home\John\

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

dd if=image.iso of=\\.\[x]:

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

dd for Windows

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

ISO 全体を RAM から起動する

SyslinuxMEMDISK を使って RAM から ISO イメージをロードする方法です。それに見合った RAM が積まれていなければなりません。一度ロードが完了しグラフィカルメニューが表示されたら、USB スティックを抜いてもオーケーです。そのままスティックを他のマシンで使ってもかまいません。また、起動に使った USB スティックに Arch をインストールすることもできます。

1. USB スティックを FAT32 でフォーマットし、次のフォルダを作ります:

X:\Boot
X:\Boot\ISOs
X:\Boot\Settings

2. ブートしたい ISO を "ISOs" フォルダにコピーして (例:archlinux-2012.08.04-dual.iso), latest release (例:syslinux-4.05.zip) を展開します:

  • ./win32/syslinux.exe をデスクトップか、好きなところに置きます。
  • ./memdisk/memdisk を "Settings" フォルダに置きます。

このフォルダの中に、syslinux.cfg ファイルを作ります:

X:\Boot\Settings\syslinux.cfg
DEFAULT arch_iso

LABEL arch_iso
        MENU LABEL Arch Setup
        LINUX memdisk
        INITRD /Boot/ISOs/archlinux-2012.11.01-dual.iso
        APPEND iso
Tip: もっと多くのディストリビューションを追加することもできます(Debian と Parted Magic で検証済みです)。Arch Linux ISO のデフォルトのメニュー・背景を変えたいならば、Syslinux wiki を参照してください。

3. 最後に syslinux.exe と同じところに *.bat を作り、実行します: (Vista や Windows 7 を使っているときは"管理者として実行"します):

C:\Documents and Settings\username\Desktop\install.bat
@echo off
syslinux.exe -m -a -d /Boot/Settings X:

完了。

トラブルシューティング

Note: For the MEMDISK Method, if you get the famous 30 seconds error trying to boot the i686 version, press the Template:Keypress key over the Boot Arch Linux (i686) entry and add vmalloc=448M at the end. This only applies to the MEMDISK method. For reference: If your image is bigger than 128MiB and you have a 32-bit OS, then you have to increase the maximum memory usage of vmalloc. (*)
Note: In general, if you get the 30 seconds error due to the /dev/disk/by-label/ARCH_XXXXXX not mounting, try renaming your USB media to ARCH_XXXXXX, for example ARCH_201302, and try to boot the media once again. It should fix the error.

参照