Ubuntuで起動時にディスクをマウントする
UbuntuというかGNU/Linuxで起動時にディスクをマウントする方法。
OSは2年に一度UbuntuLinuxのLTSがリリースされる度に入れ替えるが、ホームディレクトリは基本的に不要ファイルのみ削除してそのまま使い続ける。だが一つのディスクにインストールしているとOSインストール時にフォーマットがかかるし、同じディスクのパーティションで分割していてはOSをインストールしているHDDやSSDを交換する際にホームパーティションも同時に作りなおす必要がある。
逆にホームディレクトリのディスクを交換したい際にも同じようにOS領域の再インストールが必要になってしまう。
Linuxシステム[実践]入門 (Software Design plus)
- 作者: 沓名亮典
- 出版社/メーカー: 技術評論社
- 発売日: 2013/08/20
- メディア: Kindle版
- この商品を含むブログ (2件) を見る
ということで私は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社
- 発売日: 2012/05/28
- メディア: 雑誌
- クリック: 17回
- この商品を含むブログ (2件) を見る
- 作者: 中島能和
- 出版社/メーカー: 秀和システム
- 発売日: 2013/06
- メディア: 単行本
- この商品を含むブログ (4件) を見る
新Linux/UNIX入門 第3版 (林晴比古実用マスターシリーズ)
- 作者: 林晴比古
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2012/07/04
- メディア: 大型本
- クリック: 4回
- この商品を含むブログ (7件) を見る
ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道
- 作者: 青木峰郎
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2005/07/27
- メディア: 単行本
- 購入: 35人 クリック: 450回
- この商品を含むブログ (145件) を見る