Linuxのデバイスファイル命名規則|/dev/sda・パーティション番号の読み方

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxtipsディスク操作 > Linuxのデバイスファイル命名規則|/dev/sda・パーティション番号の読み方
「lsblk を実行したら sda や nvme0n1p1 みたいな名前が並んでいて、どれがどのディスクなのか分からない」
「fstab に書く /dev/sda1 という名前は、いったい何を表しているの」
ディスクを増設したりサーバーを構築したりするとき、最初に戸惑うのがこのデバイス名の読み方です。

デバイスファイルの命名には、はっきりとした規則があります。規則さえ分かれば、初めて見るサーバーでもディスク構成を正しく読み取れるようになります。

この記事では、/dev配下のデバイスファイルが何を表しているのか、sda・nvme0n1 といった命名規則、パーティション番号の付き方、そして lsblk での確認方法までを、実機の出力例を交えて解説します。
動作確認は RHEL 9.4 / Ubuntu 24.04 LTS で行っています。

この記事のポイント

・ デバイスファイルは /dev 配下にあり、ハードウェアへの入り口を表す
・ SATA/SAS/USBディスクは sda・sdb のように a から順に命名される
・ NVMe SSDは nvme0n1・nvme0n1p1 という別系統の命名になる
・ ディスク構成は lsblk -f で安全に確認できる


Linuxのデバイスファイル命名規則|/dev/sda・パーティション番号の読み方

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

デバイスファイルとは|/dev配下が表すもの

Linuxでは「すべてはファイルである」という考え方が根底にあります。ハードディスクやSSD、USBメモリといった物理デバイスも、/dev ディレクトリの下にある「デバイスファイル」を通して扱います。

たとえば1台目のディスク全体は /dev/sda、その最初のパーティションは /dev/sda1 というファイルで表されます。コマンドやfstabでディスクを指定するときは、この名前を使います。

# /dev 配下のディスク関連ファイルを確認する [admin@server01 ~]$ ls -l /dev/sd* brw-rw---- 1 root disk 8, 0 May 31 09:00 /dev/sda brw-rw---- 1 root disk 8, 1 May 31 09:00 /dev/sda1 brw-rw---- 1 root disk 8, 2 May 31 09:00 /dev/sda2

先頭の b は「ブロックデバイス」を意味します。ディスクのようにまとまった単位(ブロック)でデータを読み書きするデバイスです。これに対し、キーボードやシリアル回線のように1文字ずつ扱うデバイスは「キャラクタデバイス」と呼ばれ、先頭が c になります。

ブロックデバイスの命名規則|sda・sdbとパーティション番号

ディスク本体(ブロックデバイス)の名前は、接続方式によって付き方が決まっています。まずは最もよく見る sd 系から押さえましょう。

1. sd系(SATA・SAS・USBディスク)

sd は「SCSI disk」に由来する接頭辞です。現在はSATA・SAS・USB接続のディスクが、まとめてこの sd 系で扱われます。

2台目以降は、検出された順に abc とアルファベットが進みます。

デバイス名 意味
/dev/sda 1台目のディスク全体
/dev/sdb 2台目のディスク全体
/dev/sdc 3台目のディスク全体

古い資料では hdahdb という名前も見かけます。これは IDE(PATA)接続のディスクに使われていた旧来の命名です。現在のディストリビューションではほぼ廃止され、IDE接続のディスクも sd 系として扱われます。

2. パーティション番号(sda1・sda2)

1台のディスクを複数の区画に分けたものがパーティションです。パーティションは、ディスク名の末尾に1から始まる番号を付けて表します。

デバイス名 意味
/dev/sda 1台目のディスク全体
/dev/sda1 1台目の1番目のパーティション
/dev/sda2 1台目の2番目のパーティション
/dev/sdb1 2台目の1番目のパーティション

パーティションの番号は、必ずしも「1・2・3」と連番で詰まっているとは限りません。作成と削除を繰り返すと番号が飛ぶこともあります。番号の見た目だけで容量や順番を判断せず、後述の lsblk で実際の構成を確認するのが鉄則です。

Linuxのデバイスファイル命名規則|/dev/sda・パーティション番号の読み方 - 解説1

NVMe SSDの命名規則|nvme0n1とnvme0n1p1

近年のサーバーやノートPCで主流になったNVMe接続のSSDは、sd 系とは別系統の名前になります。初めて見ると戸惑いますが、規則はシンプルです。

[admin@server01 ~]$ ls -l /dev/nvme* crw------- 1 root root 240, 0 May 31 09:00 /dev/nvme0 brw-rw---- 1 root disk 259, 0 May 31 09:00 /dev/nvme0n1 brw-rw---- 1 root disk 259, 1 May 31 09:00 /dev/nvme0n1p1 brw-rw---- 1 root disk 259, 2 May 31 09:00 /dev/nvme0n1p2

この名前は3つの部分に分かれています。

nvme0:1台目のNVMeコントローラ(0から始まる)
n1:そのコントローラ上の1番目のネームスペース(多くの場合ディスク1台に相当)
p1:そのネームスペース上の1番目のパーティション

ポイントは、NVMeではパーティションを p を挟んで表すことです。sd 系が sda1 なのに対し、NVMeは nvme0n1p1 となります。nvme0n11 のように p を抜くと別の意味になってしまうので注意してください。

lsblkコマンドでディスク構成を確認する

実際のディスクとパーティションの対応を確認するなら、lsblk コマンドが最も安全で分かりやすい方法です。読み取り専用で構成を表示するだけなので、ディスクの中身を壊す心配がありません。

[admin@server01 ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 99G 0 part / sdb 8:16 0 500G 0 disk └─sdb1 8:17 0 500G 0 part /data

TYPE 列が disk ならディスク本体、part ならパーティションです。木構造のインデントで、どのディスクの下にどのパーティションがぶら下がっているかが一目で分かります。

ファイルシステムの種類やUUID、マウント状況まで含めて見たいときは、-f オプションを付けます。

# show filesystem type, uuid and mountpoint lsblk -f

lsblk の詳しいオプションや、UUIDをfstabで使う方法はblkidコマンドでブロックデバイスのUUIDとラベルを確認する方法で解説しています。デバイス名は接続順で変わることがあるため、本番のマウント指定にはデバイス名よりUUIDを使うのが実務での定番です。

「デバイス名が前回と変わっていた」場合の注意点とトラブル対処

実際の運用でつまずきやすいのが、再起動やディスク増設のたびにデバイス名が入れ替わる現象です。

sd 系の名前(sda・sdb)は「検出された順」に割り当てられるため、ディスクを足したり接続を変えたりすると、昨日 /dev/sdb だったディスクが今日は /dev/sdc になる、ということが起こり得ます。

注意:fstab にデバイス名(/dev/sdb1)を直接書くと、名前が入れ替わったときに別のディスクをマウントしてしまう危険があります。
対策:マウント指定にはUUIDかラベルを使います。これらはディスク固有の値なので、名前が入れ替わっても正しいディスクを指し続けます。

ディスクの増設からマウントまでの全体像は、マウントとfstabの設定方法、サーバー全体の区画の決め方はLinuxサーバーのパーティション設計ガイドを合わせてご覧ください。

Linuxのデバイスファイル命名規則|/dev/sda・パーティション番号の読み方 - まとめ

本記事のまとめ

デバイスファイルの命名規則は、接続方式ごとに型が決まっています。型を覚えてしまえば、初めて触るサーバーでもディスク構成を正確に読み取れるようになります。

確認したいこと コマンド・読み方
ディスクとパーティションの一覧 lsblk
ファイルシステム・UUIDも含めて確認 lsblk -f
SATA/USBディスクの2台目 /dev/sdb
NVMeの1台目・1番目のパーティション /dev/nvme0n1p1
まずは手元のマシンで lsblk を実行し、表示されたデバイス名を1つずつ読み解いてみてください。名前の意味が分かるようになると、ディスク操作の作業がぐっと安心して進められるようになります。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、20年以上の運用経験を持つ現役エンジニアが基礎から教えます。
Linux無料マニュアルを受け取る >>

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。