[Linux]fstabの設定

アイキャッチ画像Manjaro

ノートPCにManjaroをインストールしたので、ドライブ関連の設定変更をしました。
変更点は以下の3つです。

  • 内蔵eMMCの起動時マウント
  • MicroSDカードスロットの起動時マウント
  • 増設したSSDにManjaroをインストールしたので、SSDの延命とパフォーマンス改善

設定変更は自己責任でお願いします。

環境

$ uname -r
5.10.89-1-MANJARO
$ lsb_release -a
LSB Version:    n/a
Distributor ID:    ManjaroLinux
Description:    Manjaro Linux
Release:    21.2.1
Codename:    Qonos
$

ノートPCのスペックは以下の通りです。

Onda Xiaoma21
CPUApollo Lake N3450
ディスプレイ12.5インチIPS
解像度1920×1080
メモリ4GB
ストレージ64GB eMMC
256GB 2242サイズのM.2 SSD増設済
MicroSDカードスロット
無線LAN内蔵無線LANはWindowsでも認識しなくなったので  
GW-US300MiniS を使用
Onda Xiaoma21 スペック

fstabの設定

UUIDの確認

lsblk -f でUUIDを確認しておきます。

$ lsblk -f
NAME         FSTYPE FSVER LABEL    UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                                    
├─sda1       vfat   FAT32 NO_LABEL 1600-XXXX                             299.1M     0% /boot/efi
└─sda2       ext4   1.0            1e223bba-dca3-485d-811d-e5fbc54xxxxx  201.1G     9% /
mmcblk1                                                                                
└─mmcblk1p1  ext4   1.0            9f30e7c6-6637-442c-8928-f65a3f3xxxxx                
mmcblk3                                                                                
└─mmcblk3p1  exfat  1.0            101A-XXXX                                           
$

mmcblk1p1 が内蔵eMMC、mmcblk3p1 がMicroSDカードになります。

マウント先のディレクトリ作成

内蔵eMMCとMicroSDカードのマウント先ディレクトリを作成します。
マウント先のディレクトリは/mntの下にそれぞれemmc0sdcard0という名前で作成します。

$ sudo mkdir /mnt/emmc0
$ sudo mkdir /mnt/sdcard0
$ ls -l /mnt
合計 8
drwxr-xr-x 2 root root 4096 12月 26 01:46 emmc0
drwxr-xr-x 2 root root 4096 12月 26 01:46 sdcard0                                          
$

変更前のfstab

Manjaroインストール直後のfstabは、このようになっていました。

$ cat /etc/fstab
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=1600-XXXX                            /boot/efi      vfat    umask=0077 0 2
UUID=1e223bba-dca3-485d-811d-e5fbc54xxxxx /              ext4    defaults 0 1
tmpfs                                     /tmp           tmpfs   defaults,mode=1777 0 0
$

noatimeマウントフラグの追加

今回LinuxをインストールしたノートPCはサーバー用途ではないので、noatimeオプションを付けてマウントします。
noatimeオプションを付けていないと、ファイルを読み込むたびにドライブにファイルのアクセス日時を書き込みます。このため、ディスクへのアクセスが頻繁に発生し、パフォーマンスが低下する可能性があります。

$ sudo vi /etc/fstab
$ 
$ cat /etc/fstab
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=1600-XXXX                            /boot/efi      vfat    noatime,umask=0077 0 2
UUID=1e223bba-dca3-485d-811d-e5fbc54xxxxx /              ext4    defaults,noatime 0 1
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
[ikuo@Xioma21 ~]$

内蔵eMMCのマウント

内蔵eMMCは以下の内容で設定します。

  • ext4でフォーマット済み
  • マウント先は /mnt/emmc0
  • デスクトップ環境に表示させるので、x-gvfs-showオプション付与
  • dumpコマンドは(とりあえず)使わないのでdumpは0
  • ファイルシステムのチェックはするけど、rootファイルシステムじゃないのでpassは2

fstabには以下の記載を追記します。

# <file system>                           <mount point>  <type>  <options>                    <dump>  <pass>
UUID=9f30e7c6-6637-442c-8928-f65a3f3xxxxx /mnt/emmc0     ext4    x-gvfs-show,defaults,noatime 0       2

MicroSDカードスロットのマウント

MicroSDカードスロットは以下の内容で設定します。

  • MicroSDカードはWindowsやMacでも読み書き可能なexfatでフォーマット済み
  • マウント先は /mnt/sdcard0
  • デスクトップ環境に表示させるので、x-gvfs-showオプション付与
  • ユーザー(私)による書き込みをするので、uid,gid,umaskオプション付与
  • MicroSDカードが刺さってないこともあるかもしれないので、nofailオプション付与
  • デフォルトのタイムアウト時間が90秒だと長いので、x-systemd.device-timeout=10オプション付与
  • dumpコマンドは(とりあえず)使わないのでdumpは0
  • ファイルシステムのチェックはしなくていいのでpassは0

fstabには以下の記載を追記します。

# <file system>  <mount point>  <type>  <options>                                                                           <dump>  <pass>
UUID=101A-XXXX   /mnt/sdcard0   exfat   x-gvfs-show,noatime,uid=1000,gid=1000,umask=0022,nofail,x-systemd.device-timeout=10 0       0

再起動

ここまでの設定でfstabは、このようになりました。

$ cat /etc/fstab
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=1600-XXXX                            /boot/efi      vfat    noatime,umask=0077 0 2
UUID=1e223bba-dca3-485d-811d-e5fbc54xxxxx /              ext4    defaults,noatime 0 1
UUID=9f30e7c6-6637-442c-8928-f65a3f3xxxxx /mnt/emmc0     ext4    x-gvfs-show,defaults,noatime 0 2
UUID=101A-XXXX                            /mnt/sdcard0   exfat   x-gvfs-show,noatime,uid=1000,gid=1000,umask=0022,nofail,x-systemd.device-timeout=10 0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
$

再起動前にターミナルで mount -a を実行して、エラーが表示されないことを確認してください。
fstabに記載ミスがあると、最悪の場合起動できなくなります。

再起動すると、このように認識されます。

$ lsblk -f
NAME         FSTYPE FSVER LABEL    UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                                    
├─sda1       vfat   FAT32 NO_LABEL 1600-XXXX                             299.1M     0% /boot/efi
└─sda2       ext4   1.0            1e223bba-dca3-485d-811d-e5fbc54xxxxx  200.2G     9% /
mmcblk1                                                                                
└─mmcblk1p1  ext4   1.0            9f30e7c6-6637-442c-8928-f65a3f3xxxxx   44.6G    17% /mnt/emmc0
mmcblk3                                                                                
└─mmcblk3p1  exfat  1.0            101A-XXXX                              73.3G    38% /mnt/sdcard0
$

内蔵eMMC(mmcblk1p1)、MicroSDカード(mmcblk3p1)がマウントされています。

起動できなくなってしまったら…

fstabの変更によってManjaroが起動しなくなってしまった場合は、ブータブルUSBを使って起動して、fstabを修正してください。

参考

コメント

タイトルとURLをコピーしました