Linuxでデバイスをマウントする方法は?


75

Linuxでデバイスをマウントするためのmountコマンドに関するリソースをいくつか読みましたが、どれも明確ではありません(少なくとも私にとっては)。

概して、これはほとんどのガイドが述べていることです:

$ mount
(lists all currently mounted devices)

$ mount -t type device directory
(mounts that device)

for example (to mount a USB drive):
$ mount -t vfat /dev/sdb1 /media/disk

私には明らかではないもの:

  • のように「デバイス」に使用するものを知るにはどうすればよい$ mount -t type device directoryですか?つまり、このコマンドで「/ dev / sdb1」$ mount -t vfat /dev/sdb1 /media/diskを使用してUSBドライブをマウントする必要があることをどのようにして知ることができますか?

  • ここで「-t」パラメータは何を定義していますか?タイプ?

マニュアルページ($ man mount)を数回読みましたが、まだ何かが欠けている可能性があります。どうか明らかにしてください。


@rozcietrzewiacz私の心が適切に機能しなかったことを認めなければなりません。@Let_Me_Beが言及しているとき、/dev/disk/by-id「by-id」は何かに置き換えられるべきであり、コマンドとして発行されるべきだと考えました。実際にはディレクトリになる可能性があるとは思いませんでした。これはおそらく、初期段階のWindows-> Linuxユーザーに起こります!(またはそれは私だけです:))
its_me

@rozcietrzewiaczそれはあまり公平ではありません。
アレックスチェンバレン

4
をドロップし-t typeます。mount通常はそれを把握し、一般にそれができない場合、それはあなたが何か間違ったことをしている合理的な指標です。
アレックスチェンバレン

3
@AlexChamberlain私は運ばれたのを見ることができます。@its_meに謝罪します。「マニュアルを本当に読んだら、-tオプションについて尋ねない」と書いておくべきでした。質問のその他の部分(決定方法、/dev/エントリで表されるデバイス)は非常に合理的です。
rozcietrzewiacz

回答:


81

fdiskを使用すると、たとえば、次のようなパーティションの種類を把握できます。

fdisk -l

ショー:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63   204796619   102398278+   7  HPFS/NTFS
/dev/sda2       204797952   205821951      512000   83  Linux
/dev/sda3       205821952   976773119   385475584   8e  Linux LVM

そうすれば、sda1、2、および3つのパーティションがあることがわかります。-tオプションはファイルシステムのタイプです。NTFS、FAT、EXTが可能です。私の例では、sda1はntfsなので、次のようになります。

mount -t ntfs /dev/sda1  /mnt/

USBデバイスは通常vfatであり、Linuxは通常extです。


fedora VM(Windows 7ホスト)を使用しています。私はちょうどUSBドライブを差し込んで(VMが実行されているためWindowsはそれを認識しません)、コマンドを発行しました$ fdisk -l。ただし、LinuxおよびLinux LVMファイルシステムのみがリストされます(2つのみ)。vfat、ntfs、hpfs、extなどではない
its_me

これはマウントの問題ではなく、デバイスの認識の問題かもしれません。/ var / log / messageファイルを見てください。USBデバイスに問題があるかどうかが表示されます。
ghm1014

だから、通常これは実行中のLinuxシステムでそれを見つける方法です:ペンドライブをプラグイン(例)し、コマンド# fdisk -lを発行してデバイス(/ dev / *)とそのファイルシステム(vfat、ntfs、hpfs、extなど)を見つけます。右?
-its_me

通常、はい。gnomeを実行している場合は、USBと外付けハードドライブをマウントしますが、それ自体は手動でマウントしません。Windowsと同じようにポップアップウィンドウが表示されます。
ghm1014

最後の疑問。これらは唯一の一般的なファイルシステムデバイスファイルです。/dev/sd*または/ dev / hd *はハードディスク用、/ dev / cdromはCD-ROM用、/ dev / fd *はフロッピー用です。他に何か?
-its_me

17

私はこれについて本当にさびていました、そして、それは戻ってきました..これがあなたの質問に答えないならば、多分私はそれを誤解しています...

Alibi:これはUbuntu 14リリースです。あなたのマイレージは異なる場合があります。

lsblkはマウントポイントを取得するために使用しますが、これはmountlsblkよりも読みやすいですmount

デバイスをマウントする前に、ディレクトリが作成されていることを確認してください。

sudo mkdir /{your directory name here}
sudo mount /dev/{specific device id} /{your directory name here that is already created}

うまくいくはずですが、その新しいディレクトリのセキュリティ権限をチェックして、それが目的のものであることを確認してください。


7

最近では、詳細なパスを使用して特定のデバイスをマウントできます。

例えば:

mount /dev/disk/by-id/ata-ST31500341AS_9VS2AM04-part1 /some/dir
mount /dev/disk/by-id/usb-HTC_Android_Phone_SH0BTRX01208-0\:0 /some/dir

これに関する詳細情報はどこで入手できますか?私はまだLinuxでこの「冗長なこと」に取り組んでいないので、混乱しています。
its_me

1
@Aahanまあ、これらはへの単なるシンボリックリンク/dev/sd*です。あり/dev/disk/by-id、(デバイス/パーティションID) /dev/disk/by-uuid、- (手動の使用のために非常に有用ではないデバイス/パーティションのUUID) /dev/disk/by-path、(デバイスが接続されている方法によって異なります)/dev/disk/by-label(存在する場合、パーティションのラベルは)
Let_Me_Be

これらの詳細(パーティションID、デバイスパス、ラベルなど)はどこから入手できますか?
its_me

1
@Aahanまあ、それはデバイスが報告するものです。Idは、デバイス名、モデル、シリアル番号、またはその組み合わせです。パスは同じですが、ディスクの接続方法について報告されるため、たとえばpci-0000:00:1f.2-scsi-3:0:0:0-part3(pciデバイス0000:00:1f.2、3番目のポート、3番目のパーティション)、ラベルはラベル、uuidはコンピューターで生成された一意ですid(変更しないIDの形式が必要な場合は、これを使用します)。
Let_Me_Be

1
/ dev / disk / by-idを参照していたとき、「by-id」は何かに置き換えられるべきであり、コマンドとして発行されるべきだと思いました。実際にはディレクトリになる可能性があるとは思いませんでした。我慢してくれてありがとう。LOL、私はばかげていた:)
its_me

3

mount(コマンド)は通常、デバイス上のファイルシステムの「タイプ」を把握します。デバイスのファイル名を把握するのが難しい部分だと思います。理解するには、ディスクドライブの命名規則をほとんど知る必要があります。

最新のArch Linuxボックスの場合:

133 % ls /dev/sd??
/dev/sda1  /dev/sda2  /dev/sda3  /dev/sda4  /dev/sdb1  /dev/sdb2

しかし、それは成熟した(2.6.20.9)Slackwareボックスでは機能しません。

1 % ls /dev/sd??
zsh: no matches found: /dev/sd??
2 % ls /dev/hd??
/dev/hda1  /dev/hda2

/dev/sd*または/dev/hd*ハードディスクデバイスファイルであることを事前に知らずに、デバイスファイル名を把握するためにlspciまたはを使用する必要がありlsusbます。USBデバイスは/var/log/messages、udevがどのデバイスファイルに割り当てられているかを把握するのに役立つ情報を残すことがよくあります。


1
fdisk -l上記の他の回答のように使用してはどうですか?(その答えに関する私の最新のコメントも参照してください。)
its_me

1

Ubuntu 14では、ディスクアプリも使用できます。

ここに画像の説明を入力してください

最初に左側のパネルでディスクをクリックしてから、右側のパネルでパーティションをクリックします。右パネルの下部には、フォーマット、現在のマウントステータスなどが表示されます。このGUIを使用して、パーティションを作成/削除/フォーマットすることもできます。


2つの4GBが同一なのはなぜですか?そして、OQは正しいデバイスを見つけるのに苦労しています。そして、フォーマットも?
ラスタファイル

1

どうしてこれを行うには多くの方法がありますが、いつものように、デバイスで使用されているファイルシステムがどこを妨げるかを考慮していないので、少し助けを与えるために「自動」オプションを使用できます。

mount -t auto /dev/sdb1 /media/pendrv

デバイスがマウントされる準備が整いました:/ media / pendrvで使用する準備ができたら、次を使用します:

umount /media/pendrv

...デバイスを解放します。


0

ThoerXフォーラム デバイスをfdisk -lでチェックします

Partition the device as following :-
fdisk /dev/sda
d - Delete old partitions
n - New partition
select partition number
select start block
select end block
v - verify the new partition
w - write through

now fdisk - l should show /dev/sda1 with proper filesystem type (say ext4)
mount -t ext4 /dev/sda1 /myMountPoint

0

マウントが言う「デバイス」とは、ファイルシステムを搭載した論理ブロックデバイスです。

「デバイス」とは、製品を意味する場合もあります(SSDはドライブ、HDDはディスクドライブ、DVDはディスク、ODDはディスクドライブです。

多くの場合、どちらが正確かは問題ではありません。しかし、マウント(またはフォーマット、パーティション)に関しては、論理的に重要なので重要です。

ご覧のとおり、sdaはsda1、2、3のすぐ横にあり、sdb、sdcもそれぞれパーティションを持っています。だから、あなたは両方の方法で間違って行くことができます。

するとmount /dev/sdb1 /media/disk/、SATAディスク「b」からパーティション1を選択します。そのsdb1がUSBペンパーティションである場合、マウントポイントの名前はあまり話されていません。

RAMをマウントしてRAMディスクまたはファイル(「ループデバイス」)を作成することもできます。または、sysfsのようなすべて仮想の「デバイス」で、/ sysディレクトリ(マウントポイント)にデータを取り込みます。

マウントの考え方、したがってコマンドマウントは、3つの主要な要素を持つ概念(VFSなど)に依存しています。

  1. パーティション/ブロックデバイス:比較fdisk -llsblkおよびcat /proc/partitions。トリッキーですが、80%は異なる視点です。
  2. ファイルシステム:フォーマットを行うと、20GBのパーティションが空のディレクトリになり、18GBの空き容量がファイルで満たされます。man mkfsおよびman mkfs.ext2(mkfs.FSTYPE)を参照してください。
  3. マウントポイント:これは単なる「フック」、つまり新しいブランチがトップディレクトリ「/」に接続される(空の)ディレクトリです。バインドオーバーレイにより、複雑なFSツリーを作成できます。しかし、アドホックmkdir xyzは技術的には問題ありません。

このマウントはすべて、システム管理者が/ etc / fstabで中央で一度設定したものです。今日の大容量記憶装置のホットプラグでは、事態は少し複雑になります。

USBペンの場合、/ dev / sdbとそのパーティションを一瞬でポップアップするのはカーネルモジュールです。

ホットプラグのさらなる自動化は、それ自体が単純ですが、udevによって調整される必要があり、場合によっては追加のツールによって完成される必要があります。Udevは、ストレージだけでなく、すべてのデバイスを処理できます。

新しいアイコン(またはまともな名前の「デバイス」)が自動的にポップアップ表示されるという安心感と、(仮想)ファイルシステムを備えたカーネルが体系的にパーツを準備しなければならない方法との間にはまってしまいます。しかし、RAIDと暗号化、およびすべての異なるストレージ「デバイス」では、Linuxはいくつかのレイヤーを追加する必要があります。

最終的には、その内容をすぐに使用できるようになります。

通常、正しい... DEVICEを特定するだけです;)。あなたls /dev/sd*はそこに何があるかを見ることができます:どの文字、どの数字があなたのデバイスを識別するか...

そして入力

mkdir mydev
mount /dev/DEVICE mydev

-t type一部は省略できます)


これは読みやすく、同時に体系的です。「マウント」は非常に重要な概念です。これらの答えはすべて、特にデビュー者にとっては「問題」を示しています。「mount」はunixコマンドです。多次元。より複雑なfork()のみ。
ラスタファイル

ウィキペディアのlinux批判:かつて、Linuxシステムでは、フロッピーディスクやCD-ROMなどのリムーバブルメディアにアクセスする前に手動でマウントする必要がありました。メディアのマウントは、udevの開発により、ほぼすべてのディストリビューションで自動になりました。
rastafile
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.