はじめに
ここからは、HDD/SSD などのストレージに、Arch Linux をインストールするための準備を行います。
新品のディスクに新規にインストールする場合は、以下の処理をすべて行う必要がありますが、パーティションの構成はそのままで、OS のみ再インストールしたい場合は、一部行わなくてもよい処理があります。
新品のディスクに新規にインストールする場合は、以下の処理をすべて行う必要がありますが、パーティションの構成はそのままで、OS のみ再インストールしたい場合は、一部行わなくてもよい処理があります。
パーティショニング
「パーティショニング」は、HDD などのディスクを、複数の領域に分割することです。
分割した各領域を、「パーティション」と呼びます。
一度もパーティショニングしていない新品のディスクを使う場合や、ディスク全体をすべて消去して、パーティショニングをやり直したい場合は、行う必要があります。
すでにパーティショニングが行われている状態で、その状態を維持したまま、指定パーティション上の OS だけ再インストールしたい場合は、パーティショニングを行う必要はありません。
分割した各領域を、「パーティション」と呼びます。
一度もパーティショニングしていない新品のディスクを使う場合や、ディスク全体をすべて消去して、パーティショニングをやり直したい場合は、行う必要があります。
すでにパーティショニングが行われている状態で、その状態を維持したまま、指定パーティション上の OS だけ再インストールしたい場合は、パーティショニングを行う必要はありません。
フォーマット
「フォーマット」は、ディスク内の領域を、実際に読み書きできる状態にするための初期化処理です。
パーティションの中身をクリアして、空の状態にし、使用するファイルシステムの情報を書き込みます。
(使用できるファイルシステムは複数あります)
新規にパーティショニングした後など、一度もフォーマットしてないパーティションがある場合は、そのパーティションを使う前に行う必要があります。
また、すでにインストールしてある OS をクリアして、新規または再インストールしたい場合にも、行う必要があります。
ファイル置き場として使うデータ用のパーティションなどに関しては、ここでフォーマットしなくても、OS インストール後にフォーマットして使用することもできます。
また、OS の再インストール時に、これらのパーティションを、現在の状態のまま続けて使いたい場合は、フォーマットをせずに、インストール後の OS でマウントすれば、引き続き使用することができます。
パーティションの中身をクリアして、空の状態にし、使用するファイルシステムの情報を書き込みます。
(使用できるファイルシステムは複数あります)
新規にパーティショニングした後など、一度もフォーマットしてないパーティションがある場合は、そのパーティションを使う前に行う必要があります。
また、すでにインストールしてある OS をクリアして、新規または再インストールしたい場合にも、行う必要があります。
ファイル置き場として使うデータ用のパーティションなどに関しては、ここでフォーマットしなくても、OS インストール後にフォーマットして使用することもできます。
また、OS の再インストール時に、これらのパーティションを、現在の状態のまま続けて使いたい場合は、フォーマットをせずに、インストール後の OS でマウントすれば、引き続き使用することができます。
パーティションについて
パーティションの説明
HDD などのディスクは、全体の容量を分割し、複数の 「パーティション」 と呼ばれる領域に分けて、それぞれを独立して使うことができます。
例えば、OS システム用やデータ保存用など、使用用途別にパーティションを分けて使うことができます。
決められた制限内で、自由にパーティションの数や各容量を決められますが、UEFI + GPT 環境では、ブート (起動) 用のパーティションが一つ必要になるなど、別途必須となるパーティションもあります。
Linux の場合は、他にも、一つのパーティションを、スワップや、/home, /var などの任意のディレクトリに割り当てて使うこともできます。
また、一つのディスクに、複数の OS をインストールして使いたい場合(=マルチブート)は、一つのパーティションに対して、一つの OS をインストールすることになります。
必須となるパーティションの他には、「データ用」として、個人のファイルを置くためのパーティションを作っておくことをお勧めします。
普段から、個人的なファイルや、大きいサイズのファイルなどを、ホームディレクトリなどではなく、データ用のパーティションに保存しておけば、OS とその他のファイルを別々に管理することができるので、OS を再インストールする時に便利になります。
例えば、OS システム用やデータ保存用など、使用用途別にパーティションを分けて使うことができます。
決められた制限内で、自由にパーティションの数や各容量を決められますが、UEFI + GPT 環境では、ブート (起動) 用のパーティションが一つ必要になるなど、別途必須となるパーティションもあります。
Linux の場合は、他にも、一つのパーティションを、スワップや、/home, /var などの任意のディレクトリに割り当てて使うこともできます。
また、一つのディスクに、複数の OS をインストールして使いたい場合(=マルチブート)は、一つのパーティションに対して、一つの OS をインストールすることになります。
必須となるパーティションの他には、「データ用」として、個人のファイルを置くためのパーティションを作っておくことをお勧めします。
普段から、個人的なファイルや、大きいサイズのファイルなどを、ホームディレクトリなどではなく、データ用のパーティションに保存しておけば、OS とその他のファイルを別々に管理することができるので、OS を再インストールする時に便利になります。
注意点
パーティショニングは、新品のディスクを新しく設定する時や、ディスクを全消去してパーティショニングをやり直したい時に行います。
一度パーティショニングを行うと、後から各パーティションのサイズなどを変更するのはリスクが高いので、最初のパーティショニング時に、必要となる数や容量をすべて決めておいた方が良いです。
ディスクの容量に余裕がある場合は、後から新しいパーティションが欲しくなった時のために、予備のパーティションを作っておいてもよいでしょう。
一度パーティショニングを行うと、後から各パーティションのサイズなどを変更するのはリスクが高いので、最初のパーティショニング時に、必要となる数や容量をすべて決めておいた方が良いです。
ディスクの容量に余裕がある場合は、後から新しいパーティションが欲しくなった時のために、予備のパーティションを作っておいてもよいでしょう。
パーティションテーブル
HDD などのディスクの先頭部分には、 「パーティションテーブル」 と呼ばれる領域があり、そこに情報を書き込むことで、パーティションを設定することができます。
パーティションテーブルには、主に2つのフォーマットがあり、どちらか好きな方を選択することができます。
「MBR (Master Boot Record)」 は古く、「GPT (GUID Partition Table)」 は新しいフォーマットです。
MBR は古い規格のため、数や容量など制限が厳しいですが、古い Windows OS などでも使えます。
GPT は新しいため、色々と便利ですが、古いパソコンや OS では使えない場合があります。
基本的に、BIOS モードを使うなら MBR、UEFI を使うなら GPT を選択することになります。
(Windows の場合は、この2通りの選択肢しかありません。
Linux の場合、[UEFI + MBR]、[BIOS + GPT] も使える場合はありますが、推奨はされません)
2011 年頃以降のマザーボードで、UEFI に対応している状態なら、GPT を使うのがベストです。
古いパソコンの場合や、古い Windows OS とデュアルブートしたい場合、また、あえて MBR を使いたい場合のみ、MBR を使ってください。
パーティションテーブルには、主に2つのフォーマットがあり、どちらか好きな方を選択することができます。
「MBR (Master Boot Record)」 は古く、「GPT (GUID Partition Table)」 は新しいフォーマットです。
MBR |
|
---|---|
GPT |
|
MBR は古い規格のため、数や容量など制限が厳しいですが、古い Windows OS などでも使えます。
GPT は新しいため、色々と便利ですが、古いパソコンや OS では使えない場合があります。
基本的に、BIOS モードを使うなら MBR、UEFI を使うなら GPT を選択することになります。
(Windows の場合は、この2通りの選択肢しかありません。
Linux の場合、[UEFI + MBR]、[BIOS + GPT] も使える場合はありますが、推奨はされません)
2011 年頃以降のマザーボードで、UEFI に対応している状態なら、GPT を使うのがベストです。
古いパソコンの場合や、古い Windows OS とデュアルブートしたい場合、また、あえて MBR を使いたい場合のみ、MBR を使ってください。
パーティショニングの基本
# パーティショニング - ArchWiki
※ OS の再インストール時など、すでにディスクがパーティショニング済みで、その状態を維持したい場合は、パーティショニングは行わずに、フォーマットへ進んでください。
※ OS の再インストール時など、すでにディスクがパーティショニング済みで、その状態を維持したい場合は、パーティショニングは行わずに、フォーマットへ進んでください。
コマンド
パーティショニングを行うためのコマンドは、インストールシステム内にいくつか用意されています。
MBR なら fdisk, cfdisk。
GPT なら gdisk, cgdisk。
parted は両方で使えます。
コマンドによって使い方は異なりますが、fdisk/gdisk はコマンドを入力していくタイプで、cfdisk/cgdisk は簡単なメニューが出て選択していくタイプです。
cfdisk/cgdisk の方が多少わかりやすいですが、デフォルトで UEFI のパーティションが作成されたりするので、あえて真っさらな状態から構築させるために、fdisk/gdisk を使って説明していきます。
MBR なら fdisk, cfdisk。
GPT なら gdisk, cgdisk。
parted は両方で使えます。
コマンドによって使い方は異なりますが、fdisk/gdisk はコマンドを入力していくタイプで、cfdisk/cgdisk は簡単なメニューが出て選択していくタイプです。
cfdisk/cgdisk の方が多少わかりやすいですが、デフォルトで UEFI のパーティションが作成されたりするので、あえて真っさらな状態から構築させるために、fdisk/gdisk を使って説明していきます。
ディスクのデバイス名を調べる
まずは、パーティショニングしたいディスクのデバイス名を調べます。
lsblk コマンドで、ブロックデバイスの一覧を表示できます。
「ls」 は list の略で、「blk」 は block device を表しています。
ここで、loop0 や sr0 などは無視してください。これらは、インストールメディアに関連したデバイスです。
TYPE が disk になっているのが、目的となるディスクドライブです。
※ USB メモリから起動した場合は、sdb などが存在する場合があります。
上記の場合、VirtualBox 上で 80 GB の仮想 HDD を作成したので、sda の SIZE が 80 GB になっています。
NAME 行の sda が、ディスク全体を表すデバイス名となります。
パソコンに複数のディスクが接続されている場合、名前は sdb, sdc, sdd... というように増えていきます。
ディスクが複数ある場合は、サイズや順番などから判断してください。
lsblk コマンドで、ブロックデバイスの一覧を表示できます。
「ls」 は list の略で、「blk」 は block device を表しています。
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 409.5M 1 loop /run/archiso/sfs/airootfs sda 8:0 0 80G 0 disk sr0 11:0 1 516M 0 rom /run/archiso/bootmnt
ここで、loop0 や sr0 などは無視してください。これらは、インストールメディアに関連したデバイスです。
TYPE が disk になっているのが、目的となるディスクドライブです。
※ USB メモリから起動した場合は、sdb などが存在する場合があります。
上記の場合、VirtualBox 上で 80 GB の仮想 HDD を作成したので、sda の SIZE が 80 GB になっています。
NAME 行の sda が、ディスク全体を表すデバイス名となります。
パソコンに複数のディスクが接続されている場合、名前は sdb, sdc, sdd... というように増えていきます。
ディスクが複数ある場合は、サイズや順番などから判断してください。
fdisk/gdisk の起動
パーティショニングを行いたいディスクのデバイス名がわかったら、パーティショニングツールのコマンドで、そのデバイス名を指定して、パーティショニングを開始していきます。
MBR の場合は fdisk、GPT の場合は gdisk コマンドを使います。
コマンド名を間違えないようにしてください。
/dev/sda の部分は、対象のデバイス名に置き換えてください。
デバイス名は、/dev/sda というように、先頭に /dev/ を付けて指定します。
以降は、fdisk/gdisk 専用のコマンドを入力していくことになります。
fdisk/gdisk では、コマンドとして、1文字のアルファベットを入力し、Enter で実行します。
gdisk では ?、fdisk では m を入力して Enter を押すと、コマンドのヘルプが表示されます。
英語なのでわかりづらいですが、主に使うのは、以下のコマンドです。
主要なコマンドは、fdisk/gdisk で共通しています。
※各操作は、実行後すぐにディスクに書き込まれるわけではありません。
各操作を行って、全体の情報を決めた後、最後に w コマンドで、パーティションテーブル全体をディスクに書き込む形になるので、途中で操作を間違えても、修正やキャンセルを行うことができます。
(GPT の場合) # gdisk /dev/sda ~~~ (MBR の場合) # fdisk /dev/sda ~~~
MBR の場合は fdisk、GPT の場合は gdisk コマンドを使います。
コマンド名を間違えないようにしてください。
/dev/sda の部分は、対象のデバイス名に置き換えてください。
デバイス名は、/dev/sda というように、先頭に /dev/ を付けて指定します。
起動後
メッセージの後、「Command (? for help):」 または 「Command (m for help):」 が表示されます。以降は、fdisk/gdisk 専用のコマンドを入力していくことになります。
fdisk/gdisk では、コマンドとして、1文字のアルファベットを入力し、Enter で実行します。
gdisk では ?、fdisk では m を入力して Enter を押すと、コマンドのヘルプが表示されます。
英語なのでわかりづらいですが、主に使うのは、以下のコマンドです。
主要なコマンドは、fdisk/gdisk で共通しています。
o | 新しいパーティションテーブルを作成 |
---|---|
n | 新しいパーティションを追加 |
p | 現在のパーティション状態を表示 |
t | パーティションのタイプを変更 |
l (エル) | パーティションタイプのリストを表示 |
w | パーティションテーブルをディスクに書き込んで終了 |
q | 変更を保存せずに終了 (キャンセル) |
※各操作は、実行後すぐにディスクに書き込まれるわけではありません。
各操作を行って、全体の情報を決めた後、最後に w コマンドで、パーティションテーブル全体をディスクに書き込む形になるので、途中で操作を間違えても、修正やキャンセルを行うことができます。
新規パーティションテーブルの作成について
新品のディスクや、ディスク全体を消去してパーティショニングをやり直したい場合は、まず、o コマンドで、空の状態のパーティションテーブルを作成します。
o を入力して Enter を押します。
gdisk の場合、メッセージが出て Yes/No を聞かれるので、y を入力して Enter を押します。
o を入力して Enter を押します。
gdisk の場合、メッセージが出て Yes/No を聞かれるので、y を入力して Enter を押します。
パーティションの作成について
新しいパーティションを追加するには、n を入力して Enter を押します。
以降は、パーティションの情報を入力していくことになるので、各項目の入力後、Enter を押してください。
何も入力せずに Enter だけ押して値を省略すると、default で書かれている値が使われます。
■ gdisk の場合
■ fdisk の場合
以降は、パーティションの情報を入力していくことになるので、各項目の入力後、Enter を押してください。
何も入力せずに Enter だけ押して値を省略すると、default で書かれている値が使われます。
■ gdisk の場合
Partition number (1-128, default 1): First sector (34-167772126, default = 2048) or {+-}size{KMGTP}: Last sector (2048-167772126, default = 167772126) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300):
■ fdisk の場合
Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): Partition number (1-4, default 1): First sector (2048-104857599, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-104857599, default 104857599):
Partition type (fdisk) | MBR の場合、パーティションには、プライマリ/拡張/論理 の3つのタイプがあるため、作成するタイプを指定します。 作りたいパーティションが4つ以内なら、すべてプライマリで構いません。 4つ以上作りたい場合は、どこかで一つ拡張パーティションを作成し、その後、論理パーティションを作ります。 |
---|---|
Partition number | 新しく作成するパーティションの番号です。 デフォルトで一番最後の番号が指定されるので、通常は省略で構いません。 パーティションが一つもない状態では、デフォルトは1となります。 |
First sector, Last sector | ディスク内の先頭位置と終端位置を指定します。 パーティションのサイズを決めることになります。 ***-*** は、指定可能な数値の範囲(セクタ単位)です。 ディスクによって数値は異なります。 単位を付けずに数値のみ入力した場合は、セクタ単位による、ディスク内の絶対位置となります。 数値の前に + か - を付けた場合は、現在位置からの相対的な値となります。 数値の後に K/M/G/T/P のいずれかを付けた場合は、指定単位となります。 (K=KB、M=MB、G=GB...) ■ 先頭位置 (First sector) デフォルトで、最後のパーティションの終端位置が指定されます。 連続でパーティションを追加していく場合は、省略で構いません。 ■ 終端位置 (Last sector) 「終端位置 - 先頭位置」が、パーティションのサイズになります。 ※指定するのはサイズではなく、終端位置であることに注意してください。 先頭位置にパーティションのサイズを足すと終端位置になるため、通常は、数値の前に + を付けて、パーティションのサイズを単位付きで指定します。 例えば、パーティションのサイズを 512 MB にしたい場合は、「+512M」 とします。 デフォルト値は、ディスク全体の終端位置となっています。 最後のパーティションで、残りの容量すべてを指定したい場合は、省略します。 |
Hex code or GUID (gdisk) | パーティションの内容のタイプを、コード番号 (4桁の16進数) で指定します。 パーティションの用途によって、適切なタイプを指定しておかないと、正しく動作しない場合があります。 入力時に L + Enter を入力すると、タイプの一覧が表示できます。 画面に表示しきれない場合は、Enter で続きを表示します。 ■ GPT の主なタイプ 8200 : Linux swap (Linux スワップ用) 8300 : Linux filesystem (Linux の OS 用やデータ用に使う、汎用的なタイプ) ef00 : EFI System (UEFI のブート用パーティション) なお、fdisk (MBR) の場合は、デフォルトで 83 (Linux) が指定されます。 パーティション作成後に、後からタイプを変更したい場合は、t コマンドを使います。 |
終了時
パーティションがすべて作成できたら、w コマンドで、実際にパーティションテーブルをディスクに書き込み、終了します。
書き込まずに操作をキャンセルしたい場合は、q コマンドを実行します。
書き込まずに操作をキャンセルしたい場合は、q コマンドを実行します。
スワップについて
# スワップ - ArchWiki
「スワップ (swap)」 は、メモリが足りない場合に、ディスクの一部の領域を、メモリの代わりとして使う機能です。
メモリが 1 GB 以下など、容量に余裕がない場合は、スワップを作ったほうが良いです。
しかし、メモリ容量に余裕がある場合は、基本的にスワップはない方が良いです。
以前は、スワップ用にパーティションを一つ作って、それをスワップとして割り当てていましたが、現在は 「スワップファイル」 を使うことができるため、スワップ用のパーティションは作らなくても使用できます。
「スワップファイル」は、スワップ用に任意のサイズのファイルを一つ作成しておいて、その領域をスワップとして使う方法です。
作成・削除・リサイズが簡単なので、便利です。
スワップを使いたい場合は、上記のページを参考にしてください。
スワップファイルの場合は、インストール後に作成して設定できますが、パーティションをスワップとして使いたい場合は、あらかじめパーティショニング時に作成しておいてください。
「スワップ (swap)」 は、メモリが足りない場合に、ディスクの一部の領域を、メモリの代わりとして使う機能です。
メモリが 1 GB 以下など、容量に余裕がない場合は、スワップを作ったほうが良いです。
しかし、メモリ容量に余裕がある場合は、基本的にスワップはない方が良いです。
以前は、スワップ用にパーティションを一つ作って、それをスワップとして割り当てていましたが、現在は 「スワップファイル」 を使うことができるため、スワップ用のパーティションは作らなくても使用できます。
「スワップファイル」は、スワップ用に任意のサイズのファイルを一つ作成しておいて、その領域をスワップとして使う方法です。
作成・削除・リサイズが簡単なので、便利です。
スワップを使いたい場合は、上記のページを参考にしてください。
スワップファイルの場合は、インストール後に作成して設定できますが、パーティションをスワップとして使いたい場合は、あらかじめパーティショニング時に作成しておいてください。
UEFI + GPT でパーティショニング
実際に、gdisk を使って、新品のディスクに UEFI + GPT でパーティショニングを行う場合の手順を説明します。
EFI システムパーティション (ESP)
EFI システムパーティション - ArchWiki
UEFI + GPT の場合、ディスク内に1つ、「EFI システムパーティション (ESP)」が必須になるので、あらかじめ作成しておく必要があります。
PC 起動後、UEFI ブートマネージャが、EFI システムパーティション内の *.efi ファイルを読み込み、そのファイルでブートローダを実行し、ブートローダが OS を起動する、という形になります。
*.efi ファイルや、ブートローダに関するファイルなどが置かれる場所になります。
このパーティションのサイズは自由ですが、なるべく余裕を持ったサイズにしておいた方が良いです。
特に、マルチブート(複数の OS をインストール)する場合は、OS の数だけ余分に計上しておくべきです。
1つの OS しかインストールしない場合は、256 MB 程度あれば大体大丈夫だと思います。
できるだけ余裕を持たせるなら、512 MB 程度にしておくと良いでしょう。
Arch Linux の場合は、「efi ファイル」「ブートローダの関連ファイル」「Linux カーネルのプログラムとイメージ」「マイクロコードのイメージ」などが置かれます。
2023年2月時点の私の環境では、100 MB くらいの容量になっています。
UEFI + GPT の場合、ディスク内に1つ、「EFI システムパーティション (ESP)」が必須になるので、あらかじめ作成しておく必要があります。
PC 起動後、UEFI ブートマネージャが、EFI システムパーティション内の *.efi ファイルを読み込み、そのファイルでブートローダを実行し、ブートローダが OS を起動する、という形になります。
*.efi ファイルや、ブートローダに関するファイルなどが置かれる場所になります。
このパーティションのサイズは自由ですが、なるべく余裕を持ったサイズにしておいた方が良いです。
特に、マルチブート(複数の OS をインストール)する場合は、OS の数だけ余分に計上しておくべきです。
1つの OS しかインストールしない場合は、256 MB 程度あれば大体大丈夫だと思います。
できるだけ余裕を持たせるなら、512 MB 程度にしておくと良いでしょう。
Arch Linux の場合は、「efi ファイル」「ブートローダの関連ファイル」「Linux カーネルのプログラムとイメージ」「マイクロコードのイメージ」などが置かれます。
2023年2月時点の私の環境では、100 MB くらいの容量になっています。
パーティションの作成
gdisk を起動後、まずは、o コマンドで、空のパーティションテーブルを作成します。
n コマンドで、パーティションを追加してください。
Last sector: +256M の部分は、パーティションのサイズです。好きな値に置き換えてください。
※パーティションのタイプに ef00 (EFI System) を指定する必要があります。これにより、ブート時に、このパーティションが EFI システムパーティションとして扱われます。
同じく n コマンドで、パーティションを追加します。
+50G の部分は、サイズを 50 GB として指定するということです。
自分の環境に合わせて、好きな値を指定してください。
必要な容量は、インストールするパッケージの量やサイズなど、使い方によるので、明確な推奨値はありませんが、個人用のデータは別のパーティションに置くことが前提であれば、最低でも 10 GB、20〜50 GB くらいが一般的なサイズだと思います。
多くのパッケージや、サイズの大きいものをインストールする可能性がある場合は、ディスクの容量に合わせて適切なサイズにしてください。
パーティションのタイプは、デフォルトの 8300 で構いません。
容量をすべて使い切りたい場合は、最後のパーティション作成時に、Last Sector の入力を省略すると、残りのすべての容量を指定できます。
「最終チェックが完了しました。GPT データの作成について。これは既存のパーティションを上書きします!続けますか?」
と聞かれるので、y + Enter で了承します。
書き込み後、自動的に gdisk は終了します。
EFI システムパーティション
最初に、必須となる「EFI システムパーティション」を作成します。n コマンドで、パーティションを追加してください。
Partition number : <Enter> (省略) First sector : <Enter> (省略) Last sector : +256M<Enter> Hex code or GUID : ef00<Enter>
Last sector: +256M の部分は、パーティションのサイズです。好きな値に置き換えてください。
※パーティションのタイプに ef00 (EFI System) を指定する必要があります。これにより、ブート時に、このパーティションが EFI システムパーティションとして扱われます。
Arch Linux 用パーティション
次に、Arch Linux の OS システム用のパーティションを作成します。同じく n コマンドで、パーティションを追加します。
Partition number : <Enter> (省略) First sector : <Enter> (省略) Last sector : +50G<Enter> Hex code or GUID : <Enter> (省略)
+50G の部分は、サイズを 50 GB として指定するということです。
自分の環境に合わせて、好きな値を指定してください。
必要な容量は、インストールするパッケージの量やサイズなど、使い方によるので、明確な推奨値はありませんが、個人用のデータは別のパーティションに置くことが前提であれば、最低でも 10 GB、20〜50 GB くらいが一般的なサイズだと思います。
多くのパッケージや、サイズの大きいものをインストールする可能性がある場合は、ディスクの容量に合わせて適切なサイズにしてください。
他のパーティション
他に、個人用データなどのパーティションを作る場合は、OS 用のパーティションと同じように作成してください。パーティションのタイプは、デフォルトの 8300 で構いません。
容量をすべて使い切りたい場合は、最後のパーティション作成時に、Last Sector の入力を省略すると、残りのすべての容量を指定できます。
書き込み
一度 p コマンドで、現在のパーティションの状態を確認してみて、問題がなければ、w コマンドで、パーティションテーブルをディスクに書き込みます。Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N):
「最終チェックが完了しました。GPT データの作成について。これは既存のパーティションを上書きします!続けますか?」
と聞かれるので、y + Enter で了承します。
書き込み後、自動的に gdisk は終了します。
BIOS + MBR でパーティショニング
fdisk を使って、BIOS + MBR で新品のディスクをパーティショニングする場合の手順を説明します。
パーティションについて
必要なパーティションが4つ以下の場合は、すべて「プライマリパーティション」として作成できます。
ただし、パーティションを5つ以上作成したい場合は、「拡張パーティション」が必要になります。
その場合、「プライマリ×3、拡張×1、論理×N」というような構成になります。
拡張パーティションを作成すると、論理パーティションを複数個作成することができますが、論理パーティションには Windows OS をインストールすることはできません。
MBR では、UEFI のようなブートパーティションが必要ない代わりに、ブートしたい OS のパーティションに対して、ブータブルフラグを ON にすることで、OS 起動の対象にすることができます。
ただし、パーティションを5つ以上作成したい場合は、「拡張パーティション」が必要になります。
その場合、「プライマリ×3、拡張×1、論理×N」というような構成になります。
拡張パーティションを作成すると、論理パーティションを複数個作成することができますが、論理パーティションには Windows OS をインストールすることはできません。
MBR では、UEFI のようなブートパーティションが必要ない代わりに、ブートしたい OS のパーティションに対して、ブータブルフラグを ON にすることで、OS 起動の対象にすることができます。
パーティションの作成
まずは、o コマンドで、空のパーティションテーブルを作成します。
上記のように、Arch Linux の OS 用パーティションを作成します。
その後、a コマンドを実行して、このパーティションのブータブルフラグを ON にしてください。
これで、このパーティションにあるブート情報を元に、OS を起動することができます。
なお、a コマンド時、パーティションが一つしかない場合は、自動で「パーティション1」が選択されますが、複数のパーティションがある場合は、フラグを操作するパーティションを選択する必要があります。
また、a コマンドは、フラグの ON/OFF 状態を切り替えるため、実行すると、OFF→ON または ON→OFF に変更されます。
a コマンド後のメッセージを見ると、ON/OFF どちらに設定されたかがわかります。
enabled なら ON、disabled なら OFF に設定されています。
タイプは、デフォルトの 'Linux' (83) で構いません。
スワップパーティションの場合のみ、t コマンドで 82 に変更します。
Arch Linux 用パーティション
Select: <Enter> (デフォルトでプライマリ) Partition number: <Enter> First sector: <Enter> Last sector: +20G<Enter> (好きなサイズ)
上記のように、Arch Linux の OS 用パーティションを作成します。
その後、a コマンドを実行して、このパーティションのブータブルフラグを ON にしてください。
これで、このパーティションにあるブート情報を元に、OS を起動することができます。
なお、a コマンド時、パーティションが一つしかない場合は、自動で「パーティション1」が選択されますが、複数のパーティションがある場合は、フラグを操作するパーティションを選択する必要があります。
また、a コマンドは、フラグの ON/OFF 状態を切り替えるため、実行すると、OFF→ON または ON→OFF に変更されます。
a コマンド後のメッセージを見ると、ON/OFF どちらに設定されたかがわかります。
enabled なら ON、disabled なら OFF に設定されています。
他のパーティション
個人データ用のパーティションなども、同じように作成します。タイプは、デフォルトの 'Linux' (83) で構いません。
スワップパーティションの場合のみ、t コマンドで 82 に変更します。
書き込み
最後に、w コマンドで書き込みます。パーティションの確認
lsblk コマンドで、ディスクのパーティションが正しく作成されているか確認してください。
上記は、UEFI + GPT 用に作成した、sda の HDD (80 GB) の状態を表しています。
sda1 は EFI システムパーティション (512 MB)、
sda2 は Arch Linux 用パーティション (50 GB)、
sda3 はデータ用パーティション (29.5 GB) として作成しました。
TYPE の part は、パーティションという意味です。
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 80G 0 disk ├sda1 8:1 0 512M 0 part ├sda2 8:2 0 50G 0 part └sda3 8:3 0 29.5G 0 part
上記は、UEFI + GPT 用に作成した、sda の HDD (80 GB) の状態を表しています。
sda1 は EFI システムパーティション (512 MB)、
sda2 は Arch Linux 用パーティション (50 GB)、
sda3 はデータ用パーティション (29.5 GB) として作成しました。
TYPE の part は、パーティションという意味です。
フォーマット
パーティショニングが終わったら、各パーティションをフォーマットして、実際に使えるようにする必要があります。
もしくは、すでに使用されているパーティションをクリアして、空の状態にする目的で、フォーマットする場合もあります。
ファイルシステム - ArchWiki
Linux で使えるファイルシステムはいくつかありますが、現状で安定しているのは ext4 です。
他に、XFS (一部のディストリビューションでデフォルト)、Btrfs (将来的にデフォルトになるかも) などがあります。
もしくは、すでに使用されているパーティションをクリアして、空の状態にする目的で、フォーマットする場合もあります。
ファイルシステム - ArchWiki
Linux で使えるファイルシステムはいくつかありますが、現状で安定しているのは ext4 です。
他に、XFS (一部のディストリビューションでデフォルト)、Btrfs (将来的にデフォルトになるかも) などがあります。
コマンド
フォーマットを行うためのコマンドは、mkfs.* です。
mkfs.ext4 などのように、「.」 以降がファイルシステムの名前になっていて、それぞれ別のコマンドを使うことになるので、わかりやすくなっています。
以下のコマンドで、インストールシステム上で使える mkfs コマンドの一覧が表示できます。
結構種類があります。また、Windows 用のファイルシステムもあります。
mkfs.ext4 などのように、「.」 以降がファイルシステムの名前になっていて、それぞれ別のコマンドを使うことになるので、わかりやすくなっています。
以下のコマンドで、インストールシステム上で使える mkfs コマンドの一覧が表示できます。
# ls /usr/bin/mkfs.*
/usr/bin/mkfs.bfs /usr/bin/mkfs.ext3 /usr/bin/mkfs.minix /usr/bin/mkfs.vfat /usr/bin/mkfs.btrfs /usr/bin/mkfs.ext4 /usr/bin/mkfs.msdos /usr/bin/mkfs.xfs /usr/bin/mkfs.cramfs /usr/bin/mkfs.f2fs /usr/bin/mkfs.nilfs2 /usr/bin/mkfs.exfat /usr/bin/mkfs.fat /usr/bin/mkfs.ntfs /usr/bin/mkfs.ext2 /usr/bin/mkfs.jfs /usr/bin/mkfs.reiserfs
結構種類があります。また、Windows 用のファイルシステムもあります。
コマンドの使い方
# mkfs.ext4 /dev/sda1 というように、フォーマットするパーティションのデバイス名を指定して、実行します。
※この時、/dev/sda などのように、ディスク全体のデバイス名を指定しないでください。
sda1 のように、末尾にパーティションの番号を付けて、パーティションを指定します。
各コマンドで、指定できるオプションは異なります。
ext4 の場合は、-L <LABEL> オプションを付けると、フォーマットと同時にラベル名を設定することもできます。
※この時、/dev/sda などのように、ディスク全体のデバイス名を指定しないでください。
sda1 のように、末尾にパーティションの番号を付けて、パーティションを指定します。
各コマンドで、指定できるオプションは異なります。
ext4 の場合は、-L <LABEL> オプションを付けると、フォーマットと同時にラベル名を設定することもできます。
(UEFI) EFI システムパーティションのフォーマット
UEFI + GPT の場合、EFI システムパーティションを FAT32 でフォーマットする必要があります。
FAT32 は、Windows や USB メモリなどで使われるフォーマットです。
mkfs.vfat コマンドを使います。
/dev/sda1 の部分は、対象のパーティションのデバイス名に置き換えてください。
-F32 オプションで、FAT32 でフォーマットします。
lsblk コマンドで --fs オプションを指定し、ファイルシステムを確認してみます。
sda1 の FSTYPE が vfat となり、UUID の値が設定されています。
他のパーティションでは何も表示されていないので、正しくフォーマット出来ていることがわかります。
FAT32 は、Windows や USB メモリなどで使われるフォーマットです。
mkfs.vfat コマンドを使います。
# mkfs.vfat -F32 /dev/sda1 ~~~~
/dev/sda1 の部分は、対象のパーティションのデバイス名に置き換えてください。
-F32 オプションで、FAT32 でフォーマットします。
- フォーマットのコマンド実行時、確認メッセージなどは出ないので、コマンドは慎重に実行してください。
フォーマットを行うと、パーティションの中身は消去されます。 - ディスク上にすでに OS がある状態で、新規または再インストールする場合、EFI システムパーティション上にある元の OS のファイルをクリアしたい時は、フォーマットしてください。
- マルチブートしている状態で、他の OS のファイルをそのままにしたい場合は、手動で、不要な OS のファイルを削除する必要があります。
mount コマンドでマウントした後、rm コマンドでファイルを削除してください。 - EFI システムパーティションのファイルを削除しても、UEFI ファームウェア上のブート情報は残ります。
元の OS の情報を削除したい場合は、efibootmgr コマンドを使ってください。
確認
フォーマットに成功した場合、実行後は何も表示さないので、処理されたのかどうかがよくわかりません。lsblk コマンドで --fs オプションを指定し、ファイルシステムを確認してみます。
# lsblk --fs
NAME FSTYPE LABEL UUID sda ├sda1 vfat 120B-1CA0 ├sda2 └sda3
sda1 の FSTYPE が vfat となり、UUID の値が設定されています。
他のパーティションでは何も表示されていないので、正しくフォーマット出来ていることがわかります。
UUID について
UUID は、パーティションを識別するための値です。
他のパーティションと重複しないように、自動的に付けられます。
Linux 上でパーティションを指定する時、/dev/sda1 などのデバイス名を使うと、物理的な接続順が変化した場合は名前が変わってしまうので、接続順が変わっても特定のパーティションを指定できるようにするため、この値を指定することができます。
値の長さなどは、ファイルシステムによって異なります。
※ UUID は、フォーマットを行うたびに再生成されます。
こちらは、GPT でパーティションを作成した時に、自動で生成される識別子です。
フォーマットを行っても値が変化しないので、GPT で特定のパーティションを指定したい時に使います。
以下のコマンドで確認できます。(一般ユーザー時は root で実行)
PARTUUID="..." が値です。
他のパーティションと重複しないように、自動的に付けられます。
Linux 上でパーティションを指定する時、/dev/sda1 などのデバイス名を使うと、物理的な接続順が変化した場合は名前が変わってしまうので、接続順が変わっても特定のパーティションを指定できるようにするため、この値を指定することができます。
UUID
UUID は、ファイルシステムをフォーマットした時に生成される識別子です。値の長さなどは、ファイルシステムによって異なります。
※ UUID は、フォーマットを行うたびに再生成されます。
PARTUUID
GPT の場合のみ、UUID とは別に、PARTUUID が存在します。こちらは、GPT でパーティションを作成した時に、自動で生成される識別子です。
フォーマットを行っても値が変化しないので、GPT で特定のパーティションを指定したい時に使います。
以下のコマンドで確認できます。(一般ユーザー時は root で実行)
# blkid /dev/sda1: UUID="5593-7B52" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System" PARTUUID="4940b94b-f031-4044-bd82-268076be16cc"
PARTUUID="..." が値です。
他のパーティションをフォーマット
OS 用のパーティションや、データ用のパーティションなどをフォーマットします。
今回の場合、sda1 は EFI システムパーティション、sda2 は OS 用、sda3 はデータ用とするので、sda2 と sda3 を ext4 でフォーマットします。
一度もフォーマットされていない場合は、すぐに処理が開始されますが、すでにフォーマットされている場合は、確認メッセージが出ます。
また、処理中は経過が表示されます。
デバイス名だけではパーティションが何に使われているかわかりにくいので、用途を示すような名前を付けておくと、便利です。
OS 用なら OS の名前 (今回の場合は archlinux など)、データ用なら data などと付けると良いでしょう。
フォーマットした後にラベルを変更したいときは、e2label コマンドを使います。
FSTYPE が ext4 になり、LABEL にラベル名が設定されているのがわかります。
- OS 用のパーティションは、インストールする前に、常にフォーマットして、中身をクリアする必要があります。
- データ用など、すでにフォーマットして使用しているパーティションを、その状態のまま続けて使う場合は、フォーマットを行う必要はありません。
- スワップ用のパーティションは、フォーマットを行う必要はありません。
- パーティションが複数ある場合、すべてのパーティションでファイルシステムを統一する必要はありません。
OS 用とデータ用でファイルシステムを別にすることもできます。
ext4 でフォーマット
ext4 でフォーマットする場合は、以下のようにします。今回の場合、sda1 は EFI システムパーティション、sda2 は OS 用、sda3 はデータ用とするので、sda2 と sda3 を ext4 でフォーマットします。
# mkfs.ext4 /dev/sda2
一度もフォーマットされていない場合は、すぐに処理が開始されますが、すでにフォーマットされている場合は、確認メッセージが出ます。
また、処理中は経過が表示されます。
ラベルの指定 (ext4)
フォーマットと同時にラベル名を指定したい場合は、-L <名前> オプションで指定します。デバイス名だけではパーティションが何に使われているかわかりにくいので、用途を示すような名前を付けておくと、便利です。
OS 用なら OS の名前 (今回の場合は archlinux など)、データ用なら data などと付けると良いでしょう。
(フォーマットとラベル指定) # mkfs.ext4 /dev/sda2 -L arch # mkfs.ext4 /dev/sda3 -L data
フォーマットした後にラベルを変更したいときは、e2label コマンドを使います。
# e2label <device> <label>
確認
lsblk コマンドで確認してみます。# lsblk --fs
NAME FSTYPE LABEL UUID sda ├sda1 vfat 120B-1CA0 ├sda2 ext4 arch 35ec0740-2208-485a-9d06-e15289eb25ee └sda3 ext4 data 7c669ef8-29b1-4186-9c6a-253199597322
FSTYPE が ext4 になり、LABEL にラベル名が設定されているのがわかります。
次へ