Arch Linux - 再インストール

Arch Linux の再インストール
Arch Linux(または他の Linux)がディスクに存在する状態で、Arch Linux を上書きで新規インストールする場合の手順を説明します。
設定ファイルのバックアップ
Linux においては、各ソフトウェアの設定ファイルなどは、ホームディレクトリに保存されます。

/home をパーティションに割り当てて使用していない場合、ホームディレクトリは、Linux OS のパーティション上に存在するため、再インストール時に OS のパーティションをフォーマットした時は、それらのファイルも消去されてしまいます。

基本的に、ホームディレクトリ上のファイルをまるごと保存しておけば、インストール後に元の場所にコピーするだけで、以前の設定を復元させることができます。

ホームディレクトリをまるごとバックアップすることもできますが、~/.cache などには、キャッシュファイルなどの作業ファイルも含まれているため、設定ファイルのみに限定して保存しておいたほうが良いです。

設定ファイルは、主に「~/.<appname>」「~/.config/<appname>」「~/.local/share/<appname>」に保存されているので、各ディレクトリの中身を確認した上で、それらを保存しておいてください。

必要に応じて、ブラウザのブックマークや、日本語入力の単語登録などをバックアップしておくと良いです。
パーティションについて
バックアップなどが済んだら、インストールメディアを起動します。

すでに存在するパーティション上に、Arch Linux を上書きでインストールしたい場合は、パーティショニングの処理は行わずに、フォーマットへと進みます。

まず、Arch Linux OS 用のパーティションは、必ずフォーマットして、ファイルすべてをクリアします。
フォーマットしなければ、元のファイルが残った状態で、上書きすることになってしまいます。
EFI システムパーティションについて
GPT の場合、EFI システムパーティションには、ブートローダーの *.efi ファイルや設定ファイルなどが置かれます。

ディスク上に1つの OS しかインストールしていない場合、EFI システムパーティションをフォーマットしてクリアすることで、新規状態で再びインストールすることもできますが、逆に、EFI システムパーティションを現在の状態で残したまま、継続して使うこともできます。

ブートローダー自体はスタンドアローンなので、UEFI ファームウェアにそのブート情報が設定されていて(EFI システムパーティションと *.efi ファイルのパス)、かつ、そのファイルと、ブートローダが使う関連ファイルが存在していれば、それ単体で起動できます。

そのため、以前の Arch Linux を上書きして再インストールしたい場合、EFI システムパーティションの場所が以前と同じで、設定も同じにするのであれば、現在のブートローダーを継続して使うことができます。

マルチブートの場合
ディスク上に複数の OS がインストールされている場合は、個別に、EFI システムパーティション内の古いファイルを削除する必要があります。

インストール中、/mnt にインストール先のパーティションをマウントする前に、EFI システムパーティションをマウントして、不要なファイルを rm コマンドで削除した後、アンマウントしてください。

## EFI システムパーティションをマウント
# mount /dev/sda1 /mnt
             ~~~~

## マウント先へ移動
# cd /mnt

## ファイル一覧を表示。-l で詳細
# ls

## ファイルやディレクトリを削除
## -r: 再帰的
# rm <files>
# rm -r <directory>

## 元の位置に移動し、アンマウント
# cd ~
# umount /mnt

efibootmgr
EFI システムパーティションのファイルを削除しても、UEFI ファームウェア内のブート情報は残っているので、古いブートローダーの情報は手動で削除する必要があります。
efibootmgr コマンドを使います。

## ブート情報の表示
# efibootmgr -v

## 指定ブート項目の削除
# efibootmgr --bootnum <4桁番号> --delete-bootnum
バックアップの復元
後は、普通にインストール作業を続けてください。

新しくインストールした Arch Linux を起動した後は、ホームディレクトリのバックアップファイルを、新しく作ったユーザーのホームディレクトリ上にコピーして、復元してください。

※ホームディレクトリにファイルをコピーする時は、一般ユーザーにログインした状態で行ってください。

ディレクトリ
※ ~/.config ディレクトリなどは初期状態では作成されていないので、必要に応じて mkdir コマンドで作成してください。

$ mkdir ~/.config

ファイル一覧
ls コマンドで、ファイルの一覧を表示できます。
ただし、デフォルトでは、先頭に '.' が付く隠しファイルは表示されません。
すべてのファイルを表示したい場合は、-A オプションを付けてください。

## ホームディレクトリのすべてのファイルの一覧を表示
$ ls -A ~

tar.* の展開
tar.* で圧縮してバックアップした場合は、以下のコマンドで、指定ディレクトリにファイルを展開できます。
(ファイルの圧縮時は、ホームディレクトリをカレントにした状態で、圧縮しておいてください)

$ tar xf <archive_file> -C <directory>