ウェブサイト検索

LinuxでUSBドライブをマウントする方法


USBドライブのマウントは、USBスティックや通常のSATAドライブのマウントと変わりません。以下のビデオ例は、LinuxシステムでのUSBドライブのマウントの全プロセスを示します。さらに理解を深めるために、次の段落をお読みください。Linuxでは、ext4、FAT、NTFSを含むすべてのファイルシステムをマウントできます。

このチュートリアルでは、ターミナルとシェルコマンドラインを使用してLinuxシステムでUSBドライブをマウントする方法を説明します。これにより、任意のファイルシステムのUSBドライブをシステムのいくつかのマウントポイントにマウントできます。デスクトップマネージャを使用している場合は、USBドライブをあなたのためにマウントするためにそれを使用できる可能性が高いです。

このチュートリアルでは、以下のことを学びます:

  • USBドライブを検出する
  • カスタムマウントポイントを作成する
  • LinuxでUSBをマウントする
  • USBドライブのデータにアクセスする

ソフトウェアの要件と使用される規約

LinuxでUSBをマウントする方法のビデオ例

  1. USBハードドライブの検出

    USBデバイスをUSBポートに接続すると、Linuxシステムは新しいブロックデバイスを/dev/ディレクトリに追加します。この段階では、USBファイルシステムをマウントしない限り、このデバイスを使用することはできません。ブロックデバイスファイルの名前を確認するには、fdisk -lコマンドを実行することができます。

    注意
    fdisk コマンドは、必要な情報にアクセスするために管理者権限を必要とします。そのため、このコマンドはルートユーザーとして、または sudo プレフィックスを付けて実行する必要があります。

    fdisk -l 
    OR
    sudo fdisk -l
    

    上記のコマンドを実行すると、以下のような出力が得られます:

    Disk /dev/sdc: 7.4 GiB, 7948206080 bytes, 15523840 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x00000000
    
    Device     Boot Start      End  Sectors  Size Id Type
    /dev/sdc1  *     8192 15523839 15515648  7.4G  b W95 FAT32
    
  2. 上記の出力には、システムに接続されている複数のディスクがリストされる可能性があります。サイズとファイルシステムに基づいてUSBドライブを探してください。準備が整ったら、マウントしようとしているパーティションのブロックデバイス名をメモしてください。例えば、私たちのケースではそれは/dev/sdc1で、FAT32ファイルシステムです。

  3. マウントポイントを作成する

    USBパーティションをマウントするためにmountコマンドを使用できるようになる前に、マウントポイントを作成する必要があります。マウントポイントは、ホストファイルシステム内の新しいまたは既存のディレクトリのいずれかである可能性があります。USBデバイスをマウントしたい場所に新しいマウントポイントディレクトリを作成するにはmkdirコマンドを使用してください。

    mkdir /media/usb-drive
  4. USBドライブをマウントする

    この段階で、私たちはUSBのパーティション /dev/sdc1 をマウントポイント /media/usb-drive にマウントする準備ができています:

    mount /dev/sdc1 /media/usb-drive/
    

    USBドライブが正しくマウントされているか確認するには、引数なしでmountコマンドを再実行し、grepを使用してUSBブロックデバイス名を検索してください:

    mount | grep sdc1
    /dev/sdc1 on /media/usb-drive type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=utf8,shortname=mixed,errors=remount-ro
    
  5. 上記のmountコマンドによって出力が生成されていない場合、あなたのUSBパーティションはマウントされていません。あるいは、上記のコマンドで正しいブロックデバイス名を使用しているか再確認してください。

  6. USBデータへのアクセス

    すべてが順調にいけば、以前に作成したマウントポイント /media/usb-drive に移動することで、USBデータに簡単にアクセスできるはずです:

    cd /media/usb-drive
    

USBのアンマウント

USBパーティションをアンマウントする前に、どのプロセスもマウントポイントディレクトリを使用またはアクセスしていないことを確認する必要があります。そうしないと、以下のようなエラーメッセージが表示されます:

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

シェルを閉じるか、USBマウントポイントから離れて、次のLinuxコマンドを実行してUSBドライブのマウントを解除してください:

umount /media/usb-drive

Linuxの永久USBマウント

LinuxでUSBを再起動後にも常にマウントするために、次の行を/etc/fstab設定ファイルに追加します:

/dev/sdc1       /media/usb-drive           vfat    defaults        0       0

他のファイルシステムタイプの場合は、正しいタイプを設定してください。例えば、以下のコマンドはNTFSファイルシステムを持つUSBドライブをマウントします:

/dev/sdc1       /media/usb-drive           ntfs    defaults        0       0

警告
USB ドライブを /etc/fstab からブロックデバイス名を使用して参照することは、長期的な最良の解決策とは限りません。Linux システム上の USB ドライブの数によっては、ブロックデバイス名が変更されることがあります。これは一時的な解決策としては役立つかもしれませんが、以下に説明するように UUID 生のブロックデバイス名を使用する方が良いかもしれません。

この理由から、生のブロックデバイス名の代わりにパーティションUUIDを使用することを推奨します。そのためには、まずUSBドライブのUUIDを特定します:

ls -l /dev/disk/by-uuid/*
lrwxrwxrwx 1 root root 10 Mar 27 23:38 /dev/disk/by-uuid/2016-08-30-11-31-31-00 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Mar 27 23:38 /dev/disk/by-uuid/3eccfd4e-bd8b-4b5f-9fd8-4414a32ac289 -> ../../sda1
lrwxrwxrwx 1 root root 10 Mar 27 23:38 /dev/disk/by-uuid/4082248b-809d-4e63-93d2-56b5f13c875f -> ../../sda5
lrwxrwxrwx 1 root root 10 Mar 28 01:09 /dev/disk/by-uuid/8765-4321 -> ../../sdc1
lrwxrwxrwx 1 root root 10 Mar 27 23:38 /dev/disk/by-uuid/E6E3-F2A2 -> ../../sdb2

上記のlsコマンドの出力に基づくと、ブロックデバイスsdc1に属するUUIDは8765-4321であるため、私たちの/etc/fstabマウント行は次のようになります:

/dev/disk/by-uuid/8765-4321    /media/usb-drive         vfat    defaults   0   0

未マウントのデバイスをすべてマウントするには、mount -a コマンドを実行します。

mount -a

締めくくりの考え

このチュートリアルでは、Linuxシステム上でUSBドライブをマウントしてデータにアクセスし、新しいデータを保存する方法を見ました。Linuxでは、挿入したUSBドライブを一時的にマウントすることも、取り外す予定のないストレージデバイスを永続的にマウントすることも可能です。小さなUSBメモリでも巨大な外付けドライブでも、ここで紹介するコマンドを使用すればUSBストレージデバイスをマウントできるはずです。

Linuxでの一般的なUSBマウントエラーメッセージのトラブルシューティング

  • メディアが見つかりませんでした

    USBメモリをマウントしようとしたときに、次のエラーメッセージが表示される場合があります:
    エラーメッセージ:

    mount: /mnt/usb: no medium found on /dev/sdx.

    解決策:

  • USBドライブが正しく接続されていることと、正しいデバイスファイルを使用していることを確認してください。時には、USBドライブを再接続したり、別のUSBポートを使用することで問題が解決することがあります。

  • NTFSファイルシステムはサポートされていません

    NTFS USBドライブをマウントしようとしたときに、このエラーに遭遇するかもしれません:
    エラーメッセージ:

    mount: /mnt/usb: unknown filesystem type 'ntfs'.

    解決策:

  • ntfs-3gパッケージをインストールして、LinuxシステムでNTFSファイルシステムのサポートを追加します。パッケージマネージャーを使用してインストールしてください。例えば、sudo apt-get install ntfs-3gを使用します。

  • 一般的なマウントエラー

    さまざまな理由で発生する一般的なエラー:
    エラーメッセージ:

    mount: wrong fs type, bad option, bad superblock on /dev/sdx1, missing codepage or helper program, or other error.

    解決策:

  • ファイルシステムの種類を確認し、必要なサポートがインストールされていることを確認してください。ファイルシステムエラーの場合は、fsckのようなツールを使用してドライブをチェックし、修復してください。

  • 読み取り専用でマウントできません

    このエラーは、USBドライブを読み取り専用としてマウントしようとしたときに、操作が失敗する場合に発生します:
    エラーメッセージ:

    mount: /mnt/usb: cannot mount /dev/sdx1 read-only.

    解決策:

  • ハードウェアスイッチが書き込み保護を有効にしているか確認するためにドライブをチェックするか、dmesgを使用してハードウェアの問題を示唆するI/Oエラーを探してください。ファイルシステムが破損していないことを確認してください。

  • スーパーユーザープライビリッジが必要

    十分な権限がない状態でマウントを試みると、このエラーが発生します:
    エラーメッセージ:

    mount: /mnt/usb: must be superuser to use mount.

    解決策:

  • マウントコマンドをスーパーユーザー権限で実行するために、sudoを使用していることを確認してください。例:sudo mount /dev/sdx1 /mnt/usb。

  • 特別なデバイスは存在しません

    このメッセージは、指定されたデバイスファイルが存在しないことを示しています:
    エラーメッセージ:

    mount: /mnt/usb: special device /dev/sdx1 does not exist.

    解決策:

  • デバイスファイル名に誤字がないか再確認してください。lsblkやfdisk -lを使って利用可能なデバイスを一覧表示し、正しいデバイス識別子を確認してください。

  • Fstabエントリが見つかりません

    システムが/etc/fstab内でデバイスを見つけられない場合、このエラーが発生します:
    エラーメッセージ:

    mount: /mnt/usb: can't find in /etc/fstab.

    解決策:

  • デバイスファイルとマウントポイントを毎回指定せずにデバイスをマウントしたい場合は、/etc/fstabにエントリを追加してください。エントリは、デバイスと希望のマウントポイントに正確に一致していることを確認してください。

LinuxでUSBドライブをマウントする方法に関するFAQ

1. LinuxでUSBドライブを見つけるにはどうすればいいですか?

lsblk または fdisk -l コマンドを使用して、接続されているすべてのドライブ(USBドライブを含む)をリストします。サイズとパーティションの種類に基づいて、USBドライブに対応するデバイスを探してください。

2. USBドライブを手動でマウントするにはどうすればよいですか?

mkdir /mnt/usb を使ってマウントポイントを作成し、次に sudo mount /dev/sdx1 /mnt/usb を使ってUSBドライブをマウントします。 /dev/sdx1 はあなたのUSBデバイス識別子に置き換えてください。

3. USBドライブのアンマウントはどうやって行いますか?

sudo umount /mnt/usb コマンドを使用し、USBドライブからアクセスされているファイルがないことを確認してください。

4. USBドライブが接続されたときに自動的にマウントできますか?

はい、/etc/fstabを設定するか、GNOME DisksのようなGUIツールを使用して自動マウントオプションを設定することができます。

5. USBドライブがマウントされているかどうかをどうやって確認しますか?

df -h または lsblk を使用して、USBデバイスがマウントされているかどうかを確認してください。

6. なぜマウントした後にUSBドライブに書き込むことができないのですか?

これは、ドライブが読み取り専用としてマウントされているためかもしれません。sudo mount -o remount,rw /mnt/usbを使用して、書き込み権限で再マウントしてみてください。

7. 特定のファイルシステムタイプでUSBドライブをマウントするにはどうすればよいですか?

FAT32ファイルシステムの場合、sudo mount -t vfat /dev/sdx1 /mnt/usbのように-tオプションをmountに使用してください。

8. 「マウントポイント」とは何ですか?

マウントポイントは、USBドライブの内容にマウント後にアクセスできるUnixファイルシステム内のディレクトリです。

9. 新しいマウントポイントを作成するにはどうすればいいですか?

mkdirを使用してディレクトリを作成します。例えば、mkdir /mnt/new_usbのように、マウントポイントとして使用できます。

10. マウントされたUSBドライブのマウントオプションはどのように確認できますか?

mount | grep /mnt/usbを使用して、/mnt/usbにマウントされているUSBドライブのマウントオプションを表示します。

11. 複数のUSBドライブを同時にマウントできますか?

はい、それぞれのUSBドライブは異なるマウントポイントにマウントする必要があります。

12. 「マウント: 不明なファイルシステムタイプ」エラーをどう修正しますか?

USBドライブのファイルシステムタイプに対して、正しいファイルシステムドライバーがインストールされていることを確認してください。NTFSの場合、ntfs-3gパッケージが必要になることがあります。

13. USBドライブを読み取り専用でマウントするにはどうすればいいですか?

sudo mount -o ro /dev/sdx1 /mnt/usbを使用して、ドライブを読み取り専用でマウントします。

14. USBドライブが認識されない場合はどうすればよいですか?

USBポートを確認し、別のポートを試してください。ドライブが正しくフォーマットされており、lsusb および fdisk -l で表示されることを確認してください。

15. 特定のディレクトリにUSBドライブを自動マウントする方法は?

/etc/fstabでUSBドライブのUUIDを使用し、希望するマウントポイントを指定するか、より動的な処理のためにudevルールのような自動マウントツールを使用してください。

関連記事: