はじめに
この実験では、Linux システムで使用されているパーティションテーブルを確認する方法を学びます。パーティションテーブルを理解することは、ディスクストレージの管理やディスク関連の問題のトラブルシューティングに不可欠です。標準的な Linux コマンドラインツールを使用して、ディスクパーティションを調べ、パーティションテーブルの種類を特定します。
この実験では、fdisk -l を使用してディスクパーティションを一覧表示し、/proc/partitions ファイルを調べてパーティション情報を取得し、parted -l を利用して詳細なパーティションテーブル情報を取得する手順を案内します。この実験の最後まで進めると、ディスクで使用されているパーティションテーブルの種類(例:MBR または GPT)を判断できるようになります。
fdisk -l でパーティションを確認する
このステップでは、fdisk コマンドを使用してシステム上のディスクパーティションを表示する方法を学びます。ディスクパーティショニングとは、ハードドライブをパーティションと呼ばれる複数の論理ストレージユニットに分割するプロセスです。各パーティションは異なるファイルシステムでフォーマットでき、独立して使用することができます。
fdisk コマンドは、ディスクパーティションを管理するための強力なユーティリティです。-l オプションとともに使用すると、指定されたデバイスのパーティションテーブルを一覧表示します。デバイスが指定されていない場合は、すべてのデバイスのパーティションテーブルを一覧表示します。
ターミナルが開いていない場合は、開きましょう。デスクトップの左側にある Xfce Terminal アイコンをクリックすることで、ターミナルを開くことができます。
次に、以下のコマンドを入力して Enter キーを押します。
sudo fdisk -l
パーティション情報を表示するには管理者権限が必要なので、sudo を使用する必要があります。sudo を使用すると、スーパーユーザー(root)としてコマンドを実行することができます。
以下のような出力が表示されます。
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk identifier: 0x...
...
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 41943006 41940959 20G 83 Linux
この出力には、ディスクとそのパーティションに関する情報が含まれています。
/dev/sda: これはディスクデバイスの名前です。/dev/sdaは通常、最初のハードドライブを指します。Disk /dev/sda: ...: この行はディスクの総容量を示しています。Device: パーティションの名前(例:/dev/sda1)。Boot: パーティションがブート可能かどうかを示します。Start,End,Sectors: パーティションの開始セクタと終了セクタ。Size: パーティションのサイズ。Id: パーティションタイプの ID。Type: パーティションの種類(例:Linux)。
この例では、Linux パーティションである /dev/sda1 という 1 つのパーティションが表示されています。
ディスクパーティションを理解することは、ストレージの管理やオペレーティングシステムのインストールにおいて重要です。
Continue をクリックして次のステップに進みましょう。
/proc/partitions でパーティションテーブルを確認する
このステップでは、/proc/partitions ファイルを調べることで、Linux でパーティション情報を表示する別の方法を探ります。
/proc ファイルシステムは、プロセスやその他のシステム情報に関する情報を提供する仮想ファイルシステムです。これはディスク上に実際のファイルを含んでいるわけではなく、カーネルのデータ構造を見るための窓口を提供します。/proc/partitions ファイルには、具体的にはカーネルが認識しているブロックデバイスとそのパーティションに関する情報が含まれています。
cat や less などのコマンドを使用して、このファイルの内容を表示することができます。ここでは cat を使用して、内容をターミナルに直接表示しましょう。
以下のコマンドを入力して Enter キーを押します。
cat /proc/partitions
以下のような出力が表示されます。
major minor #blocks name
8 0 20971520 sda
8 1 20970479 sda1
各列の意味を解説します。
major: メジャーデバイス番号で、デバイスドライバを識別します。minor: マイナーデバイス番号で、特定のデバイスインスタンスまたはパーティションを識別します。#blocks: デバイスまたはパーティションのサイズを 1KB ブロック単位で表します。name: デバイスまたはパーティションの名前(例:sda,sda1)。
ここには sda デバイス(ディスク全体)と sda1 パーティションが表示されており、fdisk -l で見た情報と一致しています。sda1 の #blocks の値は、パーティションのサイズを 1KB ブロック単位で表したものです。
fdisk -l と cat /proc/partitions の出力を比較することは、システムがディスクレイアウトをどのように認識しているかを理解するのに役立ちます。/proc/partitions はより生のカーネルレベルの情報を提供します。
Continue をクリックして次に進みましょう。
parted -l でテーブルを調査する
このステップでは、parted コマンドを使用してディスクパーティション情報を表示します。parted はディスクパーティションを管理するためのもう 1 つの強力なコマンドラインツールで、特に 2TB を超えるディスクや GUID パーティションテーブル (GPT) を扱う場合に、fdisk よりもより最新かつ柔軟なツールと考えられています。
fdisk と同様に、parted を -l オプションとともに使用すると、すべてのブロックデバイスのパーティションレイアウトを一覧表示できます。
ターミナルが開いていない場合は、開きましょう。
以下のコマンドを入力して Enter キーを押します。
sudo parted -l
再び、このコマンドでディスク情報にアクセスするには管理者権限が必要なので、sudo を使用する必要があります。
以下のような出力が表示されます。
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 21.5GB 21.5GB primary ext4 boot
parted -l が提供する主要な情報を見てみましょう。
Model: ディスクのモデル。Disk /dev/sda: デバイス名とその総容量。Sector size: 論理セクタサイズと物理セクタサイズ。Partition Table: パーティションテーブルの種類(例:MBR の場合はmsdos、GPT の場合はgpt)。Number: パーティション番号。Start,End,Size: パーティションの開始点、終了点、およびサイズ。partedはしばしば MB や GB などの人間が読みやすい単位を使用します。Type: パーティションの種類(例:primary,logical)。File system: パーティション上のファイルシステム(例:ext4)。Flags: パーティションに関連付けられたさまざまなフラグ(例:boot)。
parted -l は fdisk -l と同様の情報を提供しますが、形式が少し異なり、特にファイルシステムやフラグに関する詳細情報が多いことがわかります。
これで、Linux でディスクパーティション情報を表示する 3 つの異なる方法を学びました。fdisk -l を使用する方法、/proc/partitions を調べる方法、そして parted -l を使用する方法です。各方法は少し異なる視点を提供し、異なる状況で役立つことがあります。
Continue をクリックしてこの実験を完了しましょう。
まとめ
この実験では、Linux で使用されているパーティションテーブルを確認する方法を学びました。最初に sudo fdisk -l コマンドを使用して、すべてのデバイスのパーティションテーブルを一覧表示し、デバイス名、サイズ、パーティションタイプなどの出力詳細を理解しました。この最初のステップにより、システム上のディスクレイアウトと既存のパーティションについて包括的な概要を把握することができました。



