【サーバー】外付けUSB-HDDのexFATをマウントする方法

この記事は 2 分で読めます。
概要

Linux serverに①外付けUSB-HDDを取り付け、②「exFAT」フォーマットのディスクをマウント、③ファイルにアクセスする一連の方法を解説します。

本記事の読者層

UbuntuでexFATのマウント方法を知りたい方

サーバー機の外付けのHDDをmacOS, Windowsユーザーのためにネットワーク共有したい方

Linuxで外付けUSB HDDを取り付ける方法

Windows OSと異なり、Linuxの場合はUSB端子にUSB HDDを接続しただけではHDD/SSDの中身をLinuxから確認できません。それではどうしたら良いのでしょうか?

外付けUSB-HDDをLinuxマシンへ接続後、マウントと呼ばれる操作をして初めてHDDの中身をみることができます。この際に「/mnt」ディレクトリを作成して、にHDDの情報をマウント操作でディレクトリにHDDの情報を接続して中身を確認します。

ここでは、Linuxのコンソール画面から外付けUSB-HDDの中身をLinux serverに認識・マウントさせる方法をもう少し詳しく解説します。

必要なLinux用コマンドは以下の3つです。

今回は以下4つのことについて述べます。

①マウントディレクトリを作成

②lsusb: 接続されているUSBリストを確認

lsblk: 接続されたHDDのマウント情報を確認

④mount: 起動時に自動でマウントするのに使います。

コマンドを使って該当のUSB HDDを確定していきます。

ファイルシステムのマウント方法

Ubuntuのフォーマット形式

Linuxでマウントできるフォーマット形式には以下のものがあります。

  • NTFS(NT File System)
  • FAT32(File Allocation Table 32)
  • eXFAT(Extended File Allocation Table)
  • APFS(aaple File System)
  • XFS(eXtents File System)

これらは、「ファイルシステム」と呼ばれLinuxで対応可能です。以下にそれぞれの特徴と利用出来るディストリビューションもしくはOSを示します。

ファルシステム特徴ディストリビューション
EXT4,EXT3Linuxの伝統的なファイルシステムUbuntu
XFSハイエンドファイルシステムRed Hat Enterprise Linux
BTRFS「スナップショット」、「コピーオンライト」などの機能を持つ多機能なファイルシステム
NTFSWindowsファイルシステムWindows
exFAT, VFAT着脱式ドライブで利用されるファイルシステム
Linuxの主なファイルシステム

今回はこの中でもWindowsでもmacOSでもLinuxでも読み書きできる便利なeXFATのマウント方法を解説します。

USBデバイスの一覧と詳細情報:lsusbコマンド

Ubuntu 18.04LTSの環境で以下確認して行きたいと思います。

USB接続

lsusbコマンド

lsusbコマンドを入力すると目的の「BUFFALO INC. (formerly MelCo., Inc.)」が現れる。

$lsusb
Bus 002 Device 004: ID 099a:6330 Zippy Technology Corp.
Bus 002 Device 003: ID 0000:0000
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 004: ID 0411:023f BUFFALO INC. (formerly MelCo., Inc.)
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

HDDのパティション情報を確認:lsblkコマンド

lsblkコマンド

NAME             MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                8:0    0 256.2G  0 disk
 ├─ sda1             8:1    0   243M  0 part
 ├─ sda2             8:2    0     1K  0 part
 ├─ sda5             8:5    0 232.7G  0 part
  ├─ Ibuki-root   252:0    0 230.7G  0 lvm
  └─mqIbuki-swap_1 252:1    0     2G  0 lvm
sdb                8:16   0 238.5G  0 disk
├─sdb1             8:17   0 232.5G  0 part /
├─sdb2             8:18   0     1K  0 part
├─sdb5             8:21   0     6G  0 part [SWAP]
sdd                8:48   0 931.5G  0 disk
└─sdd1             8:49   0 931.5G  0 part
sr0               11:0    1  1024M  0 rom

ここでHDDの内訳として

「sda」

「sdb」

「sdd」

が確認できます。

HTMLエディタとして利用することができるのでかなり便利です。

注意点

UUID(Universally Unique Identifier)

HDDのフォーマット情報を確認:blkidコマンド

blkidコマンド

$ sudo blkid
/dev/sda1: UUID="3cb3c6eb-a54d-489a-84a7-f2d3afbf4e3f" TYPE="ext2" PARTUUID="00087acc-01"
/dev/sda5: UUID="YRV4z2-5EB5-C20e-Ohl8-HULg-Gtyi-cVIVrZ" TYPE="LVM2_member" PARTUUID="00087acc-05"
/dev/sdb1: UUID="7fd76a18-33e7-49a6-984a-e1a8654f9c29" TYPE="ext4" PARTUUID="1b02c81d-01"
/dev/sdb5: UUID="42ac9a88-0895-4ad5-b234-a7607a5bd1ae" TYPE="swap" PARTUUID="1b02c81d-05"
/dev/mapper/Ibuki-root: UUID="f90ed5fc-bf24-41e8-a1d3-c24ec7849b6f" TYPE="ext4"
/dev/mapper/Ibuki-swap_1: UUID="70461492-fca0-4e04-b718-bfc8c8f1287b" TYPE="swap"
/dev/sdd1: LABEL="HD_User" UUID="4203-12D0" TYPE="exfat" PARTUUID="c6f1f053-01"

「sda」: ext2+LVM2_number

「sdb」: ext4+swap

「sdd」:exfat

が確認できます。

ここから該当ファイルが「sdd」であることがわかったので、sddをマウントします。

HDDのマウント

mountコマンド

「mount」コマンドは、Linux環境で使われるシステムをアクセスできるようにしてくれます。

外付けHDDがexfatの場合、以下からExfat用マウントプログラムをダウンロードしておきます。

apt-get install exfat-fuse exfat-utils

事前にmkdirで「mnt/usb」にフォルダをつくっておいた後、以下のコマンドを入力します。

$sudo mount -w -t exfat-fuse -o umask=000 /dev/sdc1 /mnt/usb
FUSE exfat 1.2.3

注意:HDDの中身が認識しない場合

仮にすでにマウントされているのであれば、以下のように「空じゃないよ~」といった記述が現れます。

FUSE exfat 1.2.3
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option

のよう標識がでる場合があります。このままでは認識しないため、

以下の「unmoun」を利用して一度/mnt/usbディレクトリからマウントを解除します。

% sudo umount /mnt/usb
umount: /mnt/usb: target is busy
        (In some cases useful info about processes that
         use the device is found by lsof(8) or fuser(1).)

ここでbusyと出た場合、以下のコマンドでプロセスを確認します。

lsof /mnt/usb

このときにプロセスが走っているようであればKillコマンドでプロセスを終了させてから取り出しを再度行います。

設定ファイル

/etc/fstab ファイルはディスクパーティションや様々なブロックデバイス、リモートファイルをどうやってファイルシステムにマウントするかを記述します。中身は以下のように確認できます。

cat /etc/fstab
/dev/sda1               /                   xfs    defaults        1 1
/dev/sdb               /boot              xfs    defaults        1 2

1行目:デバイス名
2行目:マウントポイント
3行目:ファイルシステム
4行目:マウントポイント時のオプション
5行目:ファイルシステムをダンプする必要があるかないかの指定

(補足)SUBスピードチェック

マウントを行ってみたらUSBのスピードも念のために確認してみると良いです。以下コマンドを記載いたします。

$ sudo hdparm -t /dev/sdc1
/dev/sdd1:
 Timing buffered disk reads: 278 MB in  3.00 seconds =  92.61 MB/sec

更に、HDDを取り出す際には、unmountコマンドを利用して接続を解除します。

まとめ

本記事のまとめ

HDDを取り付け後に、「mountコマンド」にてHDDを「\mnt」上で見れるようにします。

関連リンク

【サーバー】ネットワークセキュリティー上ルーターが必須な理由を解説

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です