カテゴリ: Linux 更新日: 2026/08/17

Linuxのブロックデバイスとは?HDDやSSDなどディスク型デバイスの仕組みを初心者向けに解説

Linuxのブロックデバイスとは?ディスク型デバイス
Linuxのブロックデバイスとは?ディスク型デバイス

先生と生徒の会話形式で理解しよう

生徒

「Linuxのブロックデバイスって、ハードディスクやSSDのことですか?」

先生

「代表的なのはHDDやSSDですが、それだけではありません。Linuxでは、一定の大きさのデータ単位で読み書きできるストレージ系の装置をブロックデバイスとして扱います。」

生徒

「普通のファイルやUSBメモリとは、どんな違いがあるんですか?」

先生

「Linuxではデバイスも特別なファイルとして扱います。ブロックデバイス、デバイスファイル、パーティション、ファイルシステムの関係を順番に見ていきましょう。」

Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。

試して理解 Linuxのしくみを見る

※ Amazonアソシエイト広告リンク

1. Linuxのブロックデバイスとは?

1. Linuxのブロックデバイスとは?
1. Linuxのブロックデバイスとは?

Linuxの読み方はLinux(リナックス)です。ブロックデバイスは英語でblock device(ブロックデバイス)といい、データを一定の大きさのまとまりで読み書きする装置をLinuxが扱うときのデバイス分類です。HDD、SSD、NVMe SSD、USBメモリ、仮想ディスクなどが代表的な例です。

ブロックの読み方はblock(ブロック)です。ストレージでは大量のデータを一文字ずつ個別に扱うのではなく、ある程度まとまった単位で読み書きします。Linuxでは、このようなストレージ系の装置をブロックデバイスとして扱います。

初心者の方は、大きな倉庫から荷物を箱単位で出し入れするイメージで考えるとわかりやすいでしょう。必要な場所を指定してデータを読み出したり書き込んだりできるため、HDDやSSDのような記憶装置に向いています。

ただし、ブロックデバイスという言葉は「ファイルシステムの一ブロック」と同じ意味ではありません。ブロックデバイスは装置の種類を表す言葉であり、ファイルシステムのブロックはデータ管理単位を表す言葉です。Linuxのストレージ管理では、この違いを区別することが重要です。

2. ブロックデバイスとキャラクタデバイスの違い

2. ブロックデバイスとキャラクタデバイスの違い
2. ブロックデバイスとキャラクタデバイスの違い

Linuxのデバイスは大きく分けると、ブロックデバイスとキャラクタデバイスとして扱われるものがあります。キャラクタデバイスの読み方はcharacter device(キャラクタデバイス)です。

ブロックデバイスは、HDDやSSDのようにデータの場所を指定しながらまとまり単位で読み書きできる装置です。一方、キャラクタデバイスは、端末や一部の入出力装置のように、データを連続した流れとして扱う装置で使われます。

Linuxではデバイスを/devというディレクトリにある特別なデバイスファイルを通して扱います。たとえば/dev/sdaはディスクを表すことがあり、/dev/ttyは端末に関係するキャラクタデバイスです。

デバイスファイルの種類はls -lでも確認できます。行の先頭がbならブロックデバイス、cならキャラクタデバイスを表します。


ls -l /dev/sda /dev/tty
brw-rw---- 1 root disk 8, 0 Aug 10 08:00 /dev/sda
crw-rw-rw- 1 root tty  5, 0 Aug 10 08:00 /dev/tty

実際の権限、日時、デバイス名はLinux環境によって異なります。特に仮想環境やNVMe SSDを使っている場合は、/dev/sdaが存在しない場合もあります。

3. lsblkコマンドでブロックデバイスを一覧表示する

3. lsblkコマンドでブロックデバイスを一覧表示する
3. lsblkコマンドでブロックデバイスを一覧表示する

Linuxでブロックデバイスを確認するときに最も基本的なコマンドの一つがlsblkです。lsblkの読み方はlsblk(エルエスブロック)です。Linuxが認識しているディスクやパーティションなどを階層構造で一覧表示できます。


lsblk
NAME   SIZE TYPE MOUNTPOINTS
sda    120G disk
sda1   120G part /

この例ではsdaがディスク本体で、sda1がその中に作られたパーティションです。TYPEのdiskはディスク、partはパーティションを表します。MOUNTPOINTSには、そのファイルシステムがどこへマウントされているかが表示されます。

lsblkは、LinuxでHDDやSSDが認識されているか確認したいとき、追加したストレージを調べたいとき、パーティション構成を確認したいときなどに役立ちます。読み取り中心の確認コマンドなので、初心者でも比較的安全に利用できます。

4. HDDやSSDやNVMe SSDもブロックデバイスとして扱われる

4. HDDやSSDやNVMe SSDもブロックデバイスとして扱われる
4. HDDやSSDやNVMe SSDもブロックデバイスとして扱われる

HDDの読み方はHDD(エイチディーディー)、SSDの読み方はSSD(エスエスディー)です。HDDは磁気ディスクを回転させてデータを記録する記憶装置で、SSDは半導体メモリを利用してデータを保存する記憶装置です。

Linuxから見ると、どちらもストレージとしてデータを読み書きするため、ブロックデバイスとして扱われます。接続方式や内部構造が違っていても、Linuxの上位層ではブロックデバイスという共通した考え方を使って扱える点が重要です。

NVMeの読み方はNVMe(エヌブイエムイー)です。NVMe SSDでは、デバイス名が/dev/nvme0n1のようになることがあります。従来型のSATA接続ディスクでは/dev/sdaのような名前がよく見られます。

デバイス名や種類はlsblkで確認できます。環境によって名前が異なるため、「Linuxのディスクは必ずsda」と覚えるのではなく、自分の環境の表示を確認する習慣を付けることが大切です。

5. ブロックデバイスとパーティションの関係

5. ブロックデバイスとパーティションの関係
5. ブロックデバイスとパーティションの関係

パーティションの読み方はpartition(パーティション)です。パーティションとは、一台のストレージを複数の領域に分けて使う仕組みです。Linuxでは、ディスク本体だけでなく、その中に作られたパーティションもブロックデバイスとして扱われます。

たとえば/dev/sdaがディスク本体なら、/dev/sda1/dev/sda2はそのディスク内のパーティションを表すことがあります。NVMe SSDでは/dev/nvme0n1p1のような名前になることがあります。

次のコマンドでは、デバイス名、サイズ、種類を確認できます。


lsblk -o NAME,SIZE,TYPE
NAME   SIZE TYPE
sda    120G disk
sda1     1G part
sda2   119G part

ディスク全体とパーティションは親子のような関係で表示されます。この階層構造を見ると、一台のストレージがどのように分割されているかを初心者でも把握しやすくなります。

なお、パーティションの作成や削除はデータを失う可能性がある操作です。確認のためのlsblkと、実際に構成を変更する操作は別物として考え、慣れないうちは不用意に変更しないことが大切です。

6. ブロックデバイスとファイルシステムの関係

6. ブロックデバイスとファイルシステムの関係
6. ブロックデバイスとファイルシステムの関係

ファイルシステムの読み方はfile system(ファイルシステム)です。ファイルシステムとは、ストレージ上のデータをファイルやディレクトリとして整理し、名前、場所、容量、所有者、アクセス権限などを管理する仕組みです。

ブロックデバイスがストレージをLinuxから扱うための土台だとすると、その上でファイルやディレクトリを使えるようにする管理方式がファイルシステムです。Linuxではext4やXFSなどのファイルシステムがよく使われます。

どのブロックデバイスにどのファイルシステムが存在するか確認するときは、lsblk -fが便利です。


lsblk -f
NAME   FSTYPE MOUNTPOINTS
sda
sda1   ext4   /

FSTYPEにはファイルシステムの種類が表示されます。この例ではsda1にext4のファイルシステムがあり、ルートディレクトリへマウントされています。

初心者の方は、ストレージ装置、ブロックデバイス、パーティション、ファイルシステム、マウントという順番で考えると理解しやすくなります。それぞれは同じものではなく、Linuxのストレージ管理を構成する別々の役割です。

7. デバイスファイルとメジャー番号やマイナー番号の役割

7. デバイスファイルとメジャー番号やマイナー番号の役割
7. デバイスファイルとメジャー番号やマイナー番号の役割

Linuxではブロックデバイスも/dev配下にあるデバイスファイルを通して扱われます。デバイスファイルは普通の文書ファイルとは異なり、Linuxカーネルが管理しているデバイスへアクセスするための入口として働きます。

Linuxカーネルの読み方はLinux kernel(リナックスカーネル)です。カーネルは、ハードウェア、メモリ、プロセス、デバイスなどを管理するLinuxの中心部分です。

デバイスファイルにはメジャー番号とマイナー番号があります。メジャー番号の読み方はmajor number(メジャーナンバー)、マイナー番号の読み方はminor number(マイナーナンバー)です。これらはカーネルがデバイスを識別するときに使われます。

ls -lでブロックデバイスを見ると、ファイルサイズの代わりにメジャー番号とマイナー番号が表示されることがあります。


ls -l /dev/sda
brw-rw---- 1 root disk 8, 0 Aug 10 08:00 /dev/sda

この例では80がメジャー番号とマイナー番号です。実際の番号はデバイスやLinux環境によって異なります。初心者の段階では番号を暗記する必要はありませんが、デバイスファイルが単なる名前ではなく、カーネルと装置を結び付ける仕組みの一部だと理解しておくとよいでしょう。

8. ブロックデバイスはマウントしてファイルとして利用する

8. ブロックデバイスはマウントしてファイルとして利用する
8. ブロックデバイスはマウントしてファイルとして利用する

マウントの読み方はmount(マウント)です。Linuxでは、ファイルシステムをディレクトリ構造の特定の場所へ接続して利用できるようにすることをマウントといいます。

ブロックデバイスそのものを普段の文書ファイルのように直接操作するのではなく、一般的にはパーティションなどにファイルシステムを用意し、それをマウントしてファイルやディレクトリとして利用します。

現在のルートディレクトリがどのデバイスから提供されているか確認するにはfindmntが便利です。findmntの読み方はfindmnt(ファインドマウント)です。


findmnt -T /
TARGET SOURCE    FSTYPE OPTIONS
/      /dev/sda1 ext4   rw,relatime

この例では、/dev/sda1にあるext4ファイルシステムがルートディレクトリへマウントされていることがわかります。実際のSOURCEやFSTYPEはLinux環境によって異なります。

Linuxでは複数のストレージを一つのディレクトリツリーへ組み込めるため、追加したディスクを/dataなどのディレクトリから利用する構成も可能です。この仕組みを理解すると、Windowsのドライブ文字とは異なるLinuxのストレージ管理がわかりやすくなります。

9. Linux初心者がブロックデバイスで覚えておきたいポイント

9. Linux初心者がブロックデバイスで覚えておきたいポイント
9. Linux初心者がブロックデバイスで覚えておきたいポイント

Linuxのブロックデバイスは、HDDやSSDなどのストレージ系装置を扱うための基本的なデバイス分類です。データをまとまった単位で読み書きでき、必要な場所へアクセスできることが特徴です。

LinuxではHDD、SSD、NVMe SSD、USBメモリ、仮想ディスクなどがブロックデバイスとして扱われることがあります。さらにディスク内のパーティションもブロックデバイスとして扱われ、/dev/sda1/dev/nvme0n1p1などのデバイスファイルを通してLinuxから認識されます。

ブロックデバイスを調べる基本コマンドとしてはlsblkが非常に重要です。ディスクやパーティションの階層、容量、種類、マウント先を確認でき、lsblk -fを使えばファイルシステムの種類も確認できます。またfindmntを使うと、どのデバイスがどのディレクトリへマウントされているか確認できます。

ブロックデバイスという考え方は、Linuxがさまざまなストレージ装置を共通した仕組みで扱うために重要です。物理的なHDDだけでなく、SSDや仮想環境のディスクなども共通したインターフェースを通して扱えるため、アプリケーションやファイルシステムは装置ごとの細かな違いをすべて意識する必要がありません。

また、ブロックデバイスとブロックサイズは別の用語です。ブロックデバイスは装置の分類を表し、ファイルシステムのブロックサイズはデータ管理の単位を表します。セクタもストレージ装置に近い単位なので、これらを同じ意味として覚えないことが大切です。

Linuxのファイルシステムやストレージ管理を学ぶときは、ブロックデバイス、デバイスファイル、パーティション、ファイルシステム、マウントという流れをつなげて理解すると、ディスク管理の全体像が見えやすくなります。最初はlsblklsblk -fなどの確認コマンドを実際に使い、自分のLinux環境がどのようなストレージ構成になっているか観察することから始めると理解が深まります。

Linuxのブロックデバイスは、HDDやSSDなどのストレージをまとまったデータ単位で読み書きするためのデバイス分類です。/devのデバイスファイル、lsblk、パーティション、ファイルシステム、マウントの関係を理解すると、Linuxのディスク型デバイスとストレージ管理の基本がわかりやすくなります。

関連記事:
カテゴリの一覧へ
新着記事
New1
基本情報技術者試験
命令ミックスを完全ガイド!CPUの性能を理解するための初心者向けやさしい解説
更新記事
New2
基本情報技術者試験
クロックサイクル時間をわかりやすく解説!CPUの動きを初心者向けに丁寧ガイド
更新記事
New3
基本情報技術者試験
MIPS(Million Instruction Per Second)を完全ガイド!初心者でもわかるCPU性能の基本
更新記事
New4
基本情報技術者試験
CPI(Clock Cycles Per Instruction)を初心者向けに完全ガイド!CPUの仕組みをやさしく解説
更新記事
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
イーサネット(Ethernet)とは?初心者にもわかるLANの基本技術をやさしく解説
No.2
Java&Spring記事人気No2
基本情報技術者試験
DHCP
376
DHCPとは?初心者でもわかるIPアドレス自動割り当ての仕組み
No.3
Java&Spring記事人気No3
基本情報技術者試験
CPU
349
CPUとは何かを完全解説!初心者でもわかるコンピュータの頭脳の仕組み
No.4
Java&Spring記事人気No4
基本情報技術者試験
NIC
309
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.5
Java&Spring記事人気No5
基本情報技術者試験
16進数とは?初心者にもわかる意味・読み方・変換方法をやさしく解説!
No.6
Java&Spring記事人気No6
基本情報技術者試験
NTP
207
NTPとは?初心者でもわかる時刻同期の仕組みとネットワーク時刻プロトコルの基本
No.7
Java&Spring記事人気No7
基本情報技術者試験
IPv4
180
IPv4とは?初心者でもわかるIPアドレスの基本と通信のルール
No.8
Java&Spring記事人気No8
基本情報技術者試験
SMTP
177
SMTPとは?初心者でもわかるメール送信の仕組みとプロトコルをやさしく解説!