ゴミ箱の中のメモ帳

まだ見ぬ息子たちへ綴る手記

Ubuntuで起動時にディスクをマウントする

UbuntuというかGNU/Linuxで起動時にディスクをマウントする方法。

OSは2年に一度UbuntuLinuxのLTSがリリースされる度に入れ替えるが、ホームディレクトリは基本的に不要ファイルのみ削除してそのまま使い続ける。だが一つのディスクにインストールしているとOSインストール時にフォーマットがかかるし、同じディスクのパーティションで分割していてはOSをインストールしているHDDやSSDを交換する際にホームパーティションも同時に作りなおす必要がある。

逆にホームディレクトリのディスクを交換したい際にも同じようにOS領域の再インストールが必要になってしまう。


ということで私はOSをインストールしているディスクとホームディレクトリに設定しているディスクを分けているのだが、今からホームディレクトリのディスクを分けたいと思っている人のための設定方法。

この方法はGNU/Linuxとしては一般的な方法になるのでfstabがわかる人は読まないでいい。それがわからない人のための記事になる。


まずUbuntuでは、HDDの追加やUSB-HDDの接続を行うとファイラの「Devices(英語UI)」にディスクが表示され、起動後にそれらをクリックすることで自動的にディスクをマウントしてくれる機能がある。だがこれでは起動後に手動のマウントとなるため、毎回マウントしたい場合などは不便になる。

例えば、USB-HDDに音楽ファイルを保存してそこにライブラリを構築していたとすると、そのディスクのマウントを忘れて音楽プレーヤを起動すると「ファイルが削除されている」と音楽プレーヤが勘違いし、ライブラリ情報が書き換えられてしまう。これは面倒臭い。なので毎回自動的にマウントしてほしい。


ホームディレクトリとして使う遺体にも、自動マウント機能を使えばそのような不便も解消されることになる。


まずGNU/Linuxでは一般的に「/etc/fstab」にディスクのマウント情報が保存されている。

$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#
# / was on /dev/sda2 during installation
UUID=XXXXXXXXXXXX / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda1 during installation
UUID=XXXX /boot/efi vfat defaults 0 1
# swap was on /dev/sda3 during installation
UUID=YYYYYYYYYYYY none swap sw 0 0

このような感じだ。もちろん環境に応じて全く異なる。

ここでわかるのは、「/」と「swap」のことが書かれているということ。起動した時点で「/」と「swap」はマウントされているので、ここにマウントしたい情報を書いておけば自動的にマウントされることがわかる。


もちろん次に自動的にマウントさせる指示を追加するのだが、注意して欲しいのは「絶対」に既存の行はいじらないこと。いじってしまうとマウントができなくなり起動できなくなってしまう。これから新しく追加する方法も書くが、それについても注意深くやらなければ起動時に「マウント情報がおかしいぞアホ」的なことを言われるので注意してほしい。

自動的にマウントさせるにはいくつかの情報が必要で、まず「どのディスク」をマウントさせるかが必要になる。

$ sudo blkid
/dev/sda1: UUID="C9AD-7C42" TYPE="vfat"
/dev/sda2: UUID="XXXXX" TYPE="ext4"
/dev/sda3: UUID="YYYYY" TYPE="swap"
/dev/sdb1: UUID="ZZZZZ" TYPE="ext4"
/dev/sdc1: UUID="CCCCC" TYPE="ext4"
/dev/sdd1: LABEL="HOME" UUID="DDDDD" TYPE="ext4"

この結果からUUIDというユニークな値を用いて「どのディスク」と言うことを指定する。自分で追加したディスクなのでどのディスクがどのデバイスかはわかるかと思うので、そのデバイスのUUIDをコピーしておく。それと合わせて「TYPE」に書かれているファイルシステムもコピーしておく(大体ext4だとは思うが)。


次にfstabにこれらの情報を追加する。

UUID=DDDDD /home/ ext4 defaults 0 0

このような感じ。最後の2つの数字についてはマニュアルにて確認してほしい。


何度も書くが、既存の行を誤って編集してしまうと起動不能になってしまう。なので最低限シングルユーザモードの使い方は覚えておいたほうがいいかもしれない。

絶対つまずかない Linux超入門 (日経BPパソコンベストムック)

絶対つまずかない Linux超入門 (日経BPパソコンベストムック)

たった2日でわかるLinux―Cent OS 6.4対応

たった2日でわかるLinux―Cent OS 6.4対応

新Linux/UNIX入門 第3版 (林晴比古実用マスターシリーズ)

新Linux/UNIX入門 第3版 (林晴比古実用マスターシリーズ)