助け合いフォーラム

Essentials

Linux Essentials(Ver1.6)
問題ID : 2864
問題を開く
ハードディスクへパーティションを作成するコマンドとして正しいものはどれか。二つ選べ。
なお、GPT方式にもMBR方式にも対応しているものとする。

正解

parted

gdisk

解説

パーティションを作成するためのコマンドには「fdisk」「gdisk」「parted」があります。fdiskコマンドはMBR方式のみを、gdiskコマンドおよびpartedコマンドはMBRとGPT方式をサポートしています。

以上より正解は
・parted
・gdisk
です。

以下はコマンドの実行例です。
・partedコマンド


・gdiskコマンド


その他の選択肢については以下の通りです。

・fdisk
上述の説明を参照してください。

・mount
partedやgdiskコマンドなどで作成したパーティションを、ディレクトリとしてOSに認識させるコマンドです。

・mkfs
ファイルシステムを作成しフォーマット(初期化)するコマンドです。

参考

【外部記憶装置】
●HDDとSSD
HDD(ハードディスクドライブ、ハードディスク)は、低価格で容量が大きいことからコンピュータの外部記憶装置として長く用いられてきました。しかし2000年を過ぎたころから、SSD(ソリッドステートドライブ)の利用が広がってきています。
SSDはフラッシュメモリという不揮発性(データの保持に電源の供給を必要としないこと)の半導体メモリを用いた記録装置で、ハードディスクよりも高速なデータアクセスが可能です。また、HDDとは違ってモーターなどの可動パーツがないことから非常に静かであることが特徴です。

●デバイスファイル
Linuxではハードディスクやマウスなどのデバイス(機器)をファイルとして扱うことができます。これらのデバイスを扱うためのファイル(デバイスファイル)は「/dev」ディレクトリ配下に作成され、個々のデバイスに割り当てられます。
デバイスファイルは、ソフトウェア(プログラム)がデバイスドライバを扱う際に利用します。例えば「/dev/sda1」のファイルを操作することによってsda1というデバイス(通常はSATA接続されたハードディスク。後述)を扱うことができます。

Linuxでは通例的に割り当てられるデバイスファイルとデバイスが決められています。以下はデバイスファイルの一例です。
・/dev/hd* ... IDE接続されたハードディスク(※)
・/dev/sd* ... SATAで接続されたハードディスク。1つめはsda、二つめはsdb... と割り振られる
・/dev/sr0(/dev/cdrom) ... CDまたはDVDドライブ
(※)旧インタフェースです。現在はIDE接続されたHDDであっても、SATA接続と同様に扱われるため「/dev/sda」などと表示されます。
なお、SATAはデバイスを接続するインタフェース規格の一つです。主にハードディスクに利用されています。

●ディスクとパーティション
ハードディスクは「パーティション」と呼ばれる単位で分割して利用します。
ハードディスク全体のパーティションの情報をパーティションテーブルと呼びます。パーティションテーブルの管理方式は従来のMBR(Master Boot Record)と新しいGPT(GUID Partition Table)の2種類がありますが、本項では従来のMBR方式について説明します。

・MBR
作成できるパーティションは二種類あります。
- 基本(Primary)パーティション(最大4個)
- 拡張(Extended)パーティション(最大1つ)
MBRでは、基本パーティションを4つか、基本パーティション3つ+拡張パーティション1つの合わせて4つを作ることができます。
5つ以上のパーティションを作成する場合は、拡張パーティションをさらに論理(Logical)パーティションに分割します。
パーティション番号は先頭から1,2...とカウントされ、「/dev/sda1」等のデバイスファイルが作成されます。

以下はパーティション分割したハードディスクと、各パーティションに割り当てられるデバイスファイルのイメージです。


パーティションを作成するためのコマンドには「fdisk」「gdisk」「parted」があります。fdiskコマンドはMBR方式のみを、gdiskコマンドおよびpartedコマンドはMBRとGPT方式をサポートしています。
以下は実際のコマンド実行イメージです。


●パーティションを利用するための手順
各パーティションはただの領域であり、それだけではデータの読み書きに利用することができません。
パーティションをフォーマット(初期化)し、さらに「/(ルートディレクトリ)」と同じファイルシステム(ルートファイルシステム)上にマウント(※)することによって利用することができるようになります。
(※マウント ... パーティションをディレクトリとしてOSに認識させること)
具体的な手順は試験の範囲外ですので本項では言及しませんが、新たにハードディスク(またはパーティション)を利用できるようにするには、これだけの手順を踏む必要があるということを理解しておきましょう。

以下は、mkfsコマンドによるフォーマットと、mountコマンドによるマウント、更に実際に利用している例です。


なお、フォーマットは利用開始時に一度だけ行います。
マウントは利用時に毎回行う必要がありますが、専用のファイル「/etc/fstab」へ設定を入力しておけば、OS起動時に自動的にマウントさせることもできます。
上に戻る

gdiskのMBR対応について

公開日 2024/05/16

素人の質問で申し訳ありません。本問の解説では
「fdiskコマンドはMBR方式のみを、gdiskコマンドおよびpartedコマンドはMBRとGPT方式をサポートしています。」
とありますが、gdiskはMBRのハードディスクでもパーティションを作成できるのでしょうか?
gdiskにはMBRをGPTに変換する機能はあるようですが、MBRのHDDでのパーティション作成に対応しているという根拠が見つけられませんでした。
一方、fdiskはutil-linux 2.23以降でGPTをサポートしているものの、実験的なフェーズであるという情報があります。
MBR・GPT両方に正式対応しているパーティション作成コマンドは「parted」だけ、という事はないでしょうか?

2024/05/19 00:11

LinuC公式関連のレベル1学習者向けのpdfに「gdiskコマンドでも、GPTまたはMBRパーティションを作成、設定変更、削除できます。」と記載されているものがありました。
https://linuc.org/docs/seminar/20201212_linuc1.pdf#page=29

もしかすると「gdiskはMBRをGPTに変換した上でパーティション作成を行える」ことを「gdiskはMBRにパーティション作成を行える」と表現しているのかもしれません。材料(MBR)と目的(パーティション作成)だけを見れば、たしかに実現可能といえそうです。


コメント

k kirara397

2024/05/20 09:41

コメントありがとうございます。 おっしゃる通りですね。一応gdiskもMBRに対応していると言えるようです。 ふと思いついて、WindowsにWSL2環境(ubuntu)を用意してMBRの仮想HDDをマウントしてみたところ、fdiskはparted同様にMBR・GPT両方でパーティション作成可能になっていた一方、gdiskは解説通りの機能でした。 util-linuxのどこかのバージョンで、fdiskはGPTを正式サポートするようになったようです。gdiskがMBR対応というのが間違いではないとしても、fdiskがMBR専用だとする前提は見直す時期に来ているのかも知れません。

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?