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に認識・マウントさせる方法をもう少し詳しく解説します。
今回は以下4つのことについて述べます。
コマンドを使って該当の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,EXT3 | Linuxの伝統的なファイルシステム | Ubuntu |
XFS | ハイエンドファイルシステム | Red Hat Enterprise Linux |
BTRFS | 「スナップショット」、「コピーオンライト」などの機能を持つ多機能なファイルシステム | |
NTFS | Windowsファイルシステム | Windows |
exFAT, VFAT | 着脱式ドライブで利用されるファイルシステム | |
今回はこの中でもWindowsでもmacOSでもLinuxでも読み書きできる便利なeXFATのマウント方法を解説します。
USBデバイスの一覧と詳細情報:lsusbコマンド
Ubuntu 18.04LTSの環境で以下確認して行きたいと思います。
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コマンド
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エディタとして利用することができるのでかなり便利です。
HDDのフォーマット情報を確認: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」コマンドは、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
仮にすでにマウントされているのであれば、以下のように「空じゃないよ~」といった記述が現れます。
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コマンドを利用して接続を解除します。
まとめ
関連リンク
