Difference between revisions of "Partitioning (日本語)"

From ArchWiki
Jump to: navigation, search
m (/ (root))
m
Line 55: Line 55:
 
{{ic|/}} パーティション、または root パーティションは必須の、一番重要なパーティションです。このパーティションで他の全てのパーティションを置き換えることができます。
 
{{ic|/}} パーティション、または root パーティションは必須の、一番重要なパーティションです。このパーティションで他の全てのパーティションを置き換えることができます。
  
{{Warning|起動に必要なディレクトリは'''かならず'''同じパーティション ''' {{ic|/}}''' か [[mkinitcpio (日本語)|initramfs]] によってユーザースペースの初期にマウントされるパーティションに配置されなくてはなりません。起動に必要なディレクトリ: {{ic|/bin}}, {{ic|/etc}}, {{ic|/lib}}, {{ic|/sbin}}, {{ic|/usr}}[http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken].}}
+
{{Warning|({{ic|/boot}} 以外の) 起動に必要なディレクトリは'''かならず'''同じパーティション ''' {{ic|/}}''' か [[mkinitcpio (日本語)|initramfs]] によってユーザースペースの初期にマウントされるパーティションに配置されなくてはなりません。起動に必要なディレクトリ: {{ic|/bin}}, {{ic|/etc}}, {{ic|/lib}}, {{ic|/sbin}}, {{ic|/usr}}[http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken].}}
  
 
====/boot====
 
====/boot====
Line 99: Line 99:
 
*{{App|fdisk|Linux に含まれているターミナルパーティショニングツール。|https://www.kernel.org/|{{Pkg|util-linux}}}}
 
*{{App|fdisk|Linux に含まれているターミナルパーティショニングツール。|https://www.kernel.org/|{{Pkg|util-linux}}}}
 
*{{App|cfdisk|ncurses ライブラリを使ったターミナルパーティショニングツール。|https://www.kernel.org/|{{Pkg|util-linux}}}}
 
*{{App|cfdisk|ncurses ライブラリを使ったターミナルパーティショニングツール。|https://www.kernel.org/|{{Pkg|util-linux}}}}
{{Note|cfdisk によって作成された最初のパーティションは、通常のセクター2048ではなくセクター63から始まります。このため [[GRUB2#msdos-style error message|GRUB2]] とは相性がよくありません。grub-legacy や syslinux では問題ありません。}}
+
{{Warning|''cfdisk'' によって作成された最初のパーティションは、通常のセクター2048ではなくセクター63から始まります。SSD や最近のフォーマット (4k セクター) を使っているドライブでパフォーマンスが落ちることがあり、[[GRUB2#msdos-style error message|GRUB2]] と一緒に使うと問題がおこることがあります。grub-legacy や syslinux では問題ありません。}}
 
*{{App|gdisk|fdisk の [[GPT]] バージョン。|http://www.rodsbooks.com/gdisk/|{{Pkg|gptfdisk}}}}
 
*{{App|gdisk|fdisk の [[GPT]] バージョン。|http://www.rodsbooks.com/gdisk/|{{Pkg|gptfdisk}}}}
 
*{{App|cgdisk|cfdisk の [[GPT]] バージョン。|http://www.rodsbooks.com/gdisk/|{{Pkg|gptfdisk}}}}
 
*{{App|cgdisk|cfdisk の [[GPT]] バージョン。|http://www.rodsbooks.com/gdisk/|{{Pkg|gptfdisk}}}}

Revision as of 04:47, 27 March 2013

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

ハードドライブをパーティショニングして論理的なパーティションを作ることで他から独立してアクセスすることができるようになります。パーティション情報はハードドライブの GUID Partition TableMaster Boot Record (日本語) に置かれます。

ハードドライブ全体を1つのパーティションにすることもできますし、ハードドライブの容量を分割して複数のパーティションを作ることもできます。複数のパーティションが必要になる場合は様々です: 例えばデュアル・マルチブートや、swap パーティションなど。他にも、パーティショニングは論理的にデータを分担する方法としても用いられ、オーディオ・ビデオファイルのためにパーティションを分割するようなことがあります。一般的なパーティショニング形態は下で詳しく記述しています。

それぞれのパーティションは使う前にファイルシステムでフォーマットしなければなりません。

パーティションのタイプ

ディスクのパーティショニングをするというのは、そのディスク内を任意の区画(パーティション)にわけてそれぞれ定義することです。それぞれのパーティションは分割したディスクとして扱われ、それぞれファイルシステムによってフォーマットされます(ページ下を参照)。

On MBR

パーティションには3つのタイプがあります:

  • Primary (プライマリ)
  • Extended (拡張)
    • Logical (論理)

プライマリパーティションは起動することができるパーティションで、1つのディスクもしくは RAID ボリュームに対して4つまでプライマリパーティションを作成できます (MBR)。パーティションを4つ以上作りたいときは、拡張パーティションを用いてその中に論理パーティションを内包する形で構成する必要があります。拡張パーティションは論理パーティションのコンテナにすることができます。1つのハードディスクに作れる拡張パーティションは1つだけです。拡張パーティションはプライマリパーティションとしてもカウントされます。もしディスクに拡張パーティションがあるなら、作れるプライマリパーティションは3つになります(3つのプライマリと1つの拡張で合計4つ)。論理パーティションの数は他のパーティションと違って制限がありません。Windows とのデュアルブートをするには Windows 本体をプライマリパーティションに含める必要があります。

ディスクをパーティション番号には、次のような法則があります。まずプライマリーパーティションを sda1 から sda2sda3 と言う順番で番号を振っていき、拡張パーティションは sda4 になります。sda4 上の論理パーティションが sda5, sda6,... という具合につづきます。

On GPT

パーティションタイプは Primary しかありません。ディスクや RAID ボリュームごとに作れるパーティションの数には制限がありません。

パーティション形態

ハードドライブをパーティショニングするのに厳格なルールはありませんが、以下に一般的なガイダンスを記します。どうパーティショニングするかは、使用できるディスク容量の制限のほかに、求められる柔軟性・スピード・セキュリティなどの理由で決定されます。ユーザーの決定はコンピュータを使う癖や条件によって様々なものになりえます。Arch Linux と Windows OS のデュアルブートを考えているのなら、Windows and Arch Dual Boot を読んでください。

シングル root パーティション

このスキームが一番シンプルで、ほとんどの場合これで十分です。swapfile を作成することもできます。一般的に、まず1つのパーティションで初めて、それから、raid や暗号化、共有メディアパーティションなどの目的にあわせてパーティションを分割するのが道理にかなっています。

パーティションを分割する

パーティションをパス毎に分割することで異なるファイルシステムとマウントオプションが使えるようになります。メディアパーティションなどの場合、オペレーティングシステム間で共有できます。

マウントポイント

パーティションを分割すると以下のマウントポイントを選ぶことができます、実際の必要にあわせて決めてください。

/ (root)

root ディレクトリは階層のトップであり、プライマリファイルシステムがマウントされ他の全てのファイルシステムの幹になります。すべてのファイルとディレクトリは root ディレクトリ / の下に表示されます、それらが異なる物理デバイスに保存されている場合でも同様です。root ファイルシステムには、システムのブート・リストア・リカバー・リペアに必要なものがなければなりません。そのため、/ 下の特定ディレクトリは分割パーティションになりえません。

/ パーティション、または root パーティションは必須の、一番重要なパーティションです。このパーティションで他の全てのパーティションを置き換えることができます。

Warning: (/boot 以外の) 起動に必要なディレクトリはかならず同じパーティション /initramfs によってユーザースペースの初期にマウントされるパーティションに配置されなくてはなりません。起動に必要なディレクトリ: /bin, /etc, /lib, /sbin, /usr[1].

/boot

/boot ディレクトリにはブートローダの設定ファイルや実行領域だけでなく、カーネルや ramdisk イメージも入ります。またカーネルがユーザースペースのプログラムを起動する前に使われるデータも保存されます。/boot は通常のシステムオペレーションには必要ありませんが、起動中やカーネルアップグレードの時(initial ramdisk を再生成する時)だけ使われます。

ソフトウェア RAID0 (ストライプ) をインストールするには /boot パーティションを分割して作る必要があります。

/home

/home ディレクトリにはユーザー設定ファイル("ドットファイル"と呼ばれます)、キャッシュ、アプリケーションのデータ、メディアファイルが含まれます。

/home を分割することで / を別個にパーティションしなおすことができますが、分割してなくとも /home に触れずに Arch を再インストールすることはできます - 他のトップレベルディレクトリは削除する必要があり、それから pacstrap を実行することができます。

異なるディストリビューションのユーザー間で home ディレクトリを共有するべきではありません、なぜならソフトウェアのバージョンやパッチによって互換性がないことがあるからです。代わりに、メディアパーティションを共有したり、少なくとも、同じ /home パーティションにある別の home ディレクトリを使うなどしてください。

/var

/var ディレクトリにはスプールディレクトリ・ファイル、管理用・ログデータ、pacman (日本語) キャッシュ、ABS ツリーなどの可変データが置かれます。キャッシングやロギングなどに使われるため頻繁に読み書きされます。分割したパーティションに配置することで、カバン持ちのログなどによってディスク容量が不足するのを回避できます。

/usr を読み込み専用でマウントするための選択肢としても存在します。歴史的に、(インストールやシステムメンテナンスと対照的に)システムオペレーションでは /var に置かれるものは全て /usr に書き出されます。

Note: /var には小さいファイルが多く入ります。もしパーティションを分割するなら、ファイルシステムタイプ(下を見て下さい)の選択ではこのことを考えて下さい。

/tmp

systemd によって tmpfs としてマウントされることで、デフォルトで分割パーティションになっています。

スワップ

swap パーティションは仮想メモリを提供します。swapfile を使うことも考えてください、パーティションを作るのに比べてパフォーマンスのオーバーヘッドがないばかりでなく、必要に応じてより簡単にリサイズできます。swap パーティションは潜在的にオペレーションシステム間で共有される可能性がありますが、ハイバネーションが使われる場合はそうでありません。

Note: スワップパーティションサイズについての古い法則は suspend-to-disk を使う場合はあてはまりません。サスペンドメソッドはデフォルトで利用できるメモリの 40% のイメージを使います。TuxOnIce では、atomic コピーは圧縮して通常約 70% だけ使います。[2]

パーティションの大きさはどうすればいいですか?

パーティションのサイズは個々人の選択によりますが、以下の情報が約に立つかもしれません:

/boot — 100 MB 
/boot パーティションに必要な容量は約 100 MB です。
/ — 15-20 GB 
root ファイルシステム (/) はかならず /usr ディレクトリを含み、必要な容量はインストールするソフトウェアの数によります。最近のハードディスクを使うユーザーのほとんどは 15-20 GB で十分だと思います。
/var — 8-12 GB 
/var ファイルシステムには ABS ツリーや pacman (日本語) キャッシュなどのデータを収納します。パッケージのキャッシュを保持することはダウングレードをするときなどに役立つので、/var はサイズが増えていく傾向があります。特に pacman のキャッシュはシステムを拡張したりアップデートするときに増加します。ただし、容量が足らなくなったときは問題なくキャッシュを削除可能です。デスクトップシステムでは /var に必要な容量は 8-12GB ほどで、インストールされるソフトウェアの数によります。
/home — [very large] 
/home ファイルシステムは一般的にユーザーのデータ(ダウンロードしたファイル・マルチメディアなど)を置くところです。デスクトップシステムでは、/home はドライブの中で一番大きなファイルシステムにするのが普通です。
swap — [varies] 
歴史的に、物理メモリの容量の2倍のスワップパーティションを用意するべきという一般法則がありました。より大容量のメモリがコンピュータに積まれるようになり、この法則はすでに現状にあてはまりません。メモリが 512 MB 以下のマシンでは、2倍ルールが基本的に適合します。大容量のメモリ(1024MB 以上)を積んでいるときは、スワップパーティションは小さく、または作らなくてもかまわないでしょう。2GB 以上の物理 RAM を持っているなら、スワップパーティションがないほうが一般的に良いパフォーマンスを発揮すると思われます。
Note: 可能であれば、それぞれのファイルシステムに追加の 25% の容量を加えて、フラグメンテーションを防いだり将来の拡張のために余剰を残して下さい。

パーティショニングツール

  • fdisk — Linux に含まれているターミナルパーティショニングツール。
https://www.kernel.org/ || util-linux
  • cfdisk — ncurses ライブラリを使ったターミナルパーティショニングツール。
https://www.kernel.org/ || util-linux
Warning: cfdisk によって作成された最初のパーティションは、通常のセクター2048ではなくセクター63から始まります。SSD や最近のフォーマット (4k セクター) を使っているドライブでパフォーマンスが落ちることがあり、GRUB2 と一緒に使うと問題がおこることがあります。grub-legacy や syslinux では問題ありません。
  • gdisk — fdisk の GPT バージョン。
http://www.rodsbooks.com/gdisk/ || gptfdisk
  • cgdisk — cfdisk の GPT バージョン。
http://www.rodsbooks.com/gdisk/ || gptfdisk
  • GNU Parted — ターミナルパーティショニングツール。
http://www.gnu.org/software/parted/parted.html || parted
  • GParted — GTK によるグラフィカルツール。
http://gparted.sourceforge.net/ || gparted
  • Partitionmanager — QT によるグラフィカルツール。
http://sourceforge.net/projects/partitionman/ || partitionmanagerAUR
  • QtParted — Partitionmanager の類似ツール、AUR から利用可能。
http://qtparted.sourceforge.net/ || qtpartedAUR

パーティションアライメント

ハイレベルな最適化

パフォーマンスや寿命を最適化するのに、正しいパーティションアライメントを設定することは重要です。アライメントのキーポイントは SSD の EBS (erase block size) にあわせてパーティショニングすることです。

Note: EBS はベンダーによって異なります。Google でモデルの情報を検索するのが良いでしょう。例として、Intel X25-M の EBS は 512 KiB ですが、Intel は公式には一切この情報を公開していません。
Note: SSD の EBS がわからない時は、512 KiB を使って下さい。現在 EBS のほとんどがこの値になっています。Aligning partitions for such an EBS will result in partitions also aligned for all lesser sizes. This is how Windows 7 and Ubuntu "optimize" partitions to work with SSD.

パーティションが EBS (例:512KiB) の倍数で始まるように整列されていないときは、パーティションの開始オフセットによってすべてがゆがむので、ファイルシステムのアライメントは無意味な作業です。伝統的に、ハードドライブを扱うときには、読み書きするデータのシリンダーヘッドセクタを指定していました。これらは放射状に位置していて、ドライブヘッド(=プラッタ)とデータの軸位置は別々でした。LBA (logical block addressing) では、このようなことはありません。現在では、ハードドライブ全体が1つの連続したデータストリームとして扱われています。

GPT か MBR の選択

GPT は最新のパーティションスタイルです。古い Master Boot Record (MBR) システムを置き換えることを目指しています。GPT には、MS-DOS が使われていた時代にタイムスリップしてしまったような癖がある MBR に対してメリットがいくつかあります。フォーマッティングツールである fdisk (MBR) と gdisk (GPT) の最近の開発によって、同じくらい簡単に GPT や MBR を使うことができパフォーマンスを最適化できます。

要約すると:

  • ブートローダに GRUB Legacy を使う場合、MBR を使うべきです。
  • Windows とのデュアルブートをするなら、MBR を使うべきです。
    • この規則には例外があります: 64ビットの Windows とのデュアルブートを行い、BIOS の代わりに UEFI を使うときは、GPT を使って下さい。
  • 上の条件に当てはまらないなら、自由に GPT と MBR を選べます。GPT の方が新しいので、ここでの推奨は GPT です。

GPT を使う - Modern Method

Gdisk の使い方

fdisk と同じ機能を持つ GPT 用のツールである、gdisk によって、ほとんどの全ての SSD と互換性のある 2048 セクター (または 1024KiB) ブロックサイズベースの自動パーティションアライメントができます。GNU parted も GPT をサポートしていますが、パーティションのアライニングについてはあまりユーザーフレンドリーとは言えませんgdisk の典型的な使い方の略式:

  • extra リポジトリから gptfdisk パッケージをインストールして gdisk を手に入れます。
  • ドライブに対して gdisk を起動して下さい。
  • ドライブが新品の時や、やり直しをしたい場合は、空の GUID パーティションテーブル (GPT) を Template:Keypress コマンドで作成します。
  • Template:Keypress コマンドで新しいパーティションを作ります (プライマリ/最初のパーティション)。
  • Assuming the partition is new, gdisk will pick the highest possible alignment. Otherwise, it will pick the largest power of two that divides all partition offsets.
  • If choosing to start on a sector before the 2048th gdisk will automatically shift the partition start to the 2048th disk sector. This is to ensure a 2048-sectors alignment (as a sector is 512B, this is a 1024KiB alignment which should fit any SSD NAND erase block).
  • Use the +x{M,G} format to extend the partition x megabytes or gigabytes, if choosing a size that is not a multiple of the alignment size (1024kiB), gdisk will shrink the partition to the nearest inferior multiple.
  • Select the partition's type id, the default, Linux/Windows data (code 0700), should be fine for most use. Press Template:Keypress to show the codes list. If planning to use LVM select Linux LVM (8e00).
  • 同じようにして他のパーティションも指定します。
  • テーブルをディスクに書き込み Template:Keypress コマンドで終了します。
  • ファイルシステムで新しいパーティションをフォーマット。
Warning: To boot from a GPT partitioned disk on a BIOS based system you have to create, preferably at the disk's beginning, a BIOS boot partition with no filesystem and with the partition type as BIOS boot or bios_grub partition (gdisk type code EF02) for booting from the disk using GRUB. For Syslinux, you do not need to create this bios_grub partition, but you need to have separate /boot partition and enable Legacy BIOS Bootable partition attribute for that partition (using gdisk).
Warning: GRUB Legacy は GPT をサポートしていません、BURG (日本語), GRUB, Syslinux を使って下さい。
Warning: BIOS モード (32ビットの Windows 全てと64ビットの Windows XP でだけ使えます) で Windows (XP, Vista or 7) とのデュアルブートをするつもりならば、Windows が GPT ディスクからの起動をサポートしていないので GPT を使ってはいけません!下で記述している MBR でのパーティションと BIOS モードでのブート方法を使う必要があります。この制限は、UEFI モードで最近の64ビットの Windows を起動する場合はあてはまりません。

MBR を使う - Legacy Method

Using MBR, the utility for editing the partition table is called fdisk. Recent versions of fdisk have abandoned the deprecated system of using cylinders as the default display unit, as well as MS-DOS compatibility by default. The latest fdisk automatically aligns all partitions to 2048 sectors, or 1024 KiB, which should work for all EBS sizes that are known to be used by SSD manufacturers. This means that the default settings will give you proper alignment.

Note that in the olden days, fdisk used cylinders as the default display unit, and retained an MS-DOS compatibility quirk that messed with SSD alignment. Therefore one will find many guides around the internet from around 2008-2009 making a big deal out of getting everything correct. With the latest fdisk, things are much simpler, as reflected in this guide.

Fdisk の使い方

  • あなたのドライブを指定して fdisk を起動します。
  • ドライブが新品の時や、やり直しをしたい場合は、空の DOS パーティションテーブルを Template:Keypress コマンドで作成します。
  • Template:Keypress コマンドで新しいパーティションを作ります (プライマリ/最初のパーティション)。
  • +xG フォーマットを使ってパーティションを x ギガバイトまで拡張します。
  • Template:Keypress コマンドで、パーティションのシステム ID を Linux のデフォルトタイプ (type 83) から望ましいタイプに変更してください。これは任意のステップであり、スワップ、NTFS、LVMなどの異なるタイプのパーティションを作りたいときにしてください。Template:Keypress コマンドを使うことで有効なパーティションタイプを全て一覧することができます。
  • 同じようにして他のパーティションも指定します。
  • Template:Keypress コマンドでテーブルをディスクに書き込み終了します。
  • ファイルシステムで新しいパーティションをフォーマット。

参照