「設定 - ストレージのフォーマットとパーティション」の版間の差分

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

ページの作成:「== 概要 == Linuxにおいて、新しいストレージを準備することは簡単である。<br> ここでは、次の事柄について説明する。<br> <br> #…」
 
 
(同じ利用者による、間の23版が非表示)
1行目: 1行目:
== 概要 ==
== 概要 ==
Linuxにおいて、新しいストレージを準備することは簡単である。<br>
Linuxにおいて、新しいストレージを準備することは簡単である。<br>
ここでは、次の事柄について説明する。<br>
<br>
<br>
# システム上の新しいディスクを識別する。
ここでは、以下の4つのセクションにおいて、ストレージのフォーマット手順を記載する。<br>
<br>
# システム上のストレージを識別する。
# ストレージ全体にまたがる単一のパーティションを作成する。
# ストレージ全体にまたがる単一のパーティションを作成する。
# Ext4ファイルシステムでパーティションをフォーマットする。
# Ext4等のファイルシステムでパーティションをフォーマットする。
# マウント時のファイルシステムの自動マウントとマウント。
# ストレージを自動マウントおよび手動マウントする。
<br><br>
<br><br>


== パーティションツールのインストール ==
== パーティションソフトウェアのインストール ==
ここでは、ストレージをパーティション分割するには、partedを使用する。<br>
==== Partedのインストール ====
ストレージのパーティションを分割する場合、partedを使用する。<br>
このソフトウェアは、多くのLinuxディストリビューションにおいて、標準でインストールされている。<br>
このソフトウェアは、多くのLinuxディストリビューションにおいて、標準でインストールされている。<br>
<br>
<br>
もし、インストールされていない場合は、以下のコマンドを入力してインストールする。<br>
もし、インストールされていない場合は、パッケージ管理システム、または、ソースコードからインストールする。<br>
  # CentOS
* パッケージ管理システムからインストールする場合
  sudo yum install parted
*: <code># RHEL</code>
*: <code>sudo dnf install parted</code>
*: <br>
*: <code># SUSE</code>
*: <code>sudo zypper install parted</code>
*: <br>
* ソースコードからインストールする場合
*: Partedのビルドに必要なライブラリをインストールする。
*: <code>sudo zypper install make gcc gcc-c++ gettext-runtime gettext-tools device-mapper-devel </code>
*: <br>
*: [https://www.gnu.org/software/parted/ GNUの公式Webサイト]にアクセスして、Partedのソースコードをダウンロードする。
*: ダウンロードしたファイルを解凍する。
*: <code>tar xf parted-<バージョン>.tar.xz</code>
*: <code>cd parted-<バージョン></code>
*: <br>
*: Partedをビルドおよびインストールする。
*: <code>mkdir build && cd build</code>
*: <br>
*: <code>../configure --prefix=<Partedのインストールディレクトリ></code>
*: <code>make -j $(nproc)</code>
*: <code>make install</code>
<br>
 
==== GPartedのインストール ====
GUIからパーティションの分割を行う場合、GPartedをインストールする。
* パッケージ管理システムからインストールする場合
*: RHEL : <code>sudo dnf install gparted</code>
*: SUSE : <code>sudo zypper install gparted</code>
*: <br>
* ソースコードからインストールする場合
*: GPartedのビルドに必要なライブラリをインストールする。
*: <code>sudo zypper install make gcc-c++ libuuid-devel parted-devel polkit-devel gnome-common gtkmm3-devel dmraid-devel</code>
*: <br>
*: [https://gparted.org/download.php GPartedの公式Webサイト]にアクセスして、ソースコードをダウンロードする。
*: ダウンロードしたファイルを解凍する。
*: <code>tar xf gparted-<バージョン>.tar.gz</code>
*: <code>cd gparted-<バージョン></code>
*: <br>
*: GPartedをビルドおよびインストールする。
*: <code>../configure --prefix=<GPartedのインストールディレクトリ> \</code>
*: <code>--enable-libparted-dmraid \ # libparted /dev/mapper dmraidをサポートする場合</code>
*: <code>--enable-xhost-root # Waylandで表示する場合</code>
*: <br>
*: <code>make -j $(nproc)</code>
*: <code>make install</code>
<br>
GPartedのデスクトップエントリファイルを作成する。<br>
vi ~/.local/share/applications/GParted.desktop
<br>
# ~/.local/share/applications/GParted.desktopファイル
<syntaxhighlight lang="ini">
[Desktop Entry]
Type=Application
Name=GParted
GenericName=Partition Editor
X-GNOME-FullName=GParted Partition Editor
Comment=Create, reorganize, and delete partitions
Exec=/<GPartedのインストールディレクトリ>/bin/gparted %f
Icon=gparted
Categories=GNOME;System;Filesystem;
Keywords=Partition;
Terminal=false
StartupNotify=true
</syntaxhighlight>
<br>
GPartedのPolKitポリシーファイルを作成する。<br>
  sudo vi /usr/share/polkit-1/actions/org.gnome.gparted.policy
<br>
<syntaxhighlight lang="xml">
# /usr/share/polkit-1/actions/org.gnome.gparted.policy
   
   
  # SUSE
  <?xml version="1.0" encoding="UTF-8"?>
  sudo zypper install partd
  <!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
  "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
  <vendor>The GParted Project</vendor>
  <vendor_url>https://gparted.org</vendor_url>
  <icon_name>gparted</icon_name>
  <action id="org.gnome.gparted">
    <description>Run GParted as root</description>
    <message>Authentication is required to run the GParted Partition Editor as root</message>
    <defaults>
      <allow_any>no</allow_any>
      <allow_inactive>no</allow_inactive>
      <allow_active>auth_admin</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/<GPartedのインストールディレクトリ>/bin/gparted</annotate>
    <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
  </action>
</policyconfig>
</syntaxhighlight>
<br><br>
<br><br>


== 新しいストレージの識別 ==
== ストレージの識別 ==
ストレージを設定する前に、Linux上でストレージを適切に識別できる必要がある。<br>
ストレージをフォーマットする前に、Linux上でストレージを識別する必要がある。<br>
簡単に識別する方法は、パーティション分割スキームがないことを確認することである。<br>
識別する方法は、パーティション分割スキームが無いことを確認することである。<br>
<br>
<br>
partedコマンドを使用して、ストレージのパーティションレイアウトを一覧表示すると、有効なパーティション構成を持たないストレージに対してエラーが発生する。<br>
<code>parted</code>コマンドを使用して、ストレージのパーティションレイアウトを一覧表示すると、<br>
有効なパーティション構成を持たないストレージに対してエラーが発生する。<br>
これを使用して、新しいストレージを識別できる。<br>
これを使用して、新しいストレージを識別できる。<br>
  sudo parted -l | grep error
  sudo parted -l | grep error
41行目: 133行目:
  sdb      8:0    0    50G  0 disk
  sdb      8:0    0    50G  0 disk
<br>
<br>
ストレージに割り当てられた名前が判明したら、ストレージをパーティション分割することができる。<br>
ストレージに割り当てられた名前(sda、sdb、sdc等)が識別できると、ストレージの削除およびパーティションの分割を行うことができる。<br>
<br><br>
 
== パーティションの削除 ==
パーティションを消去するには、<code>dd</code>コマンドを実行する。<br>
<code>dd</code>コマンドでは、<code>if</code>パラメータはデータの送信元を決定して、<code>of</code>はコピー先を示す。<br>
以下のコマンドは、ストレージのデータを全てすべて消去(ゼロに置き換える)する。<br>
sudo dd if=/dev/zero of=/dev/sd<span style="color:#C00000">X</span> status=progress  # <span style="color:#C00000">X</span> : デバイス番号
<br><br>
<br><br>


== ストレージのパーティションの分割 ==
== パーティションの作成 ==
このセクションでは、ストレージ全体にまたがる単一のパーティションを作成する。<br>
このセクションでは、ストレージ全体にまたがる単一のパーティションを作成する。<br>
<br>
<br>
===== パーティション形式(GPT/MBR)の選択 =====
===== パーティション形式(GPT / MBR)の選択 =====
最初に、使用するパーティション形式を指定する必要がある。<br>
最初に、使用するパーティション形式を指定する必要がある。<br>
特別な事情がない場合は、GPTを使用することを推奨する。<br>
<u>特別な事情がない場合は、GPTを使用することを推奨する。</u><br>
<br>
<br>
GPT形式を選択する場合は、以下のコマンドを実行する。<br>
GPT形式を選択する場合は、以下のコマンドを実行する。<br>
  sudo parted /dev/sdb mklabel gpt
  sudo parted /dev/sd<span style="color:#C00000">X</span> mklabel gpt # <span style="color:#C00000">X</span> : デバイス番号
<br>
<br>
MBR形式を選択する場合は、以下のコマンドを実行する。<br>
MBR形式を選択する場合は、以下のコマンドを実行する。<br>
  sudo parted /dev/sda mklabel msdos
  sudo parted /dev/sd<span style="color:#C00000">X</span> mklabel msdos # <span style="color:#C00000">X</span> : デバイス番号
<br>
<br>
===== パーティションの作成 =====
===== パーティションの作成 =====
次に、ストレージ全体にまたがるパーティションを作成する。<br>
次に、ストレージ全体にまたがるパーティションを作成する。<br>
  sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%
  sudo parted -a opt /dev/sdX mkpart primary ext4 0% 100%
<br>
<br>
<code>lsblk</code>コマンドを確認すると、利用可能な新しいパーティションが表示される。<br>
<code>lsblk</code>コマンドを確認すると、利用可能な新しいパーティションが表示される。<br>
  lsblk
  lsblk
   
   
  # 出力
  # 出力例
  NAME    MAJ:MIN  RM  SIZE RO TYPE MOUNTPOINT
  NAME    MAJ:MIN  RM  SIZE RO TYPE MOUNTPOINT
  sda        8:0    0  100G  0 disk  
  sda        8:0    0  100G  0 disk  
73行目: 173行目:


== ファイルシステムの作成 ==
== ファイルシステムの作成 ==
ここでは、Ext4ファイルシステムとしてフォーマットする。<br>
==== Ext4 ====
これを行うには、mkfs.ext4コマンドを実行する。また、-Lオプションを使用することで、パーティションラベルを追加できる。これは、ストレージを識別するのに役立つ。<br>
Ext4ファイルシステムとしてフォーマットするには、<code>mkfs.ext4</code>コマンドを実行する。<br>
  sudo mkfs.ext4 -L datapartition /dev/sda1
また、<code>-L</code>オプションを付加することで、パーティションラベルを追加できる。これは、ストレージを識別するのに役立つ。<br>
  sudo mkfs.ext4 -L datapartition /dev/sd<span style="color:#C00000">X</span><span style="color:#00C000">Y</span>  # X : ストレージ番号,  Y : パーティンション番号
<br>
<br>
<u>'''※注意'''</u><br>
<u>※注意</u><br>
ストレージ全体ではなく、パーティションを渡すようにすること。<br>
<u>ストレージ全体ではなく、パーティションを渡すようにすること。(sdbではなくsdb1と入力する)</u><br>
Linuxでは、ストレージ名は、sda、sdb、hda等である。これらのパーティションには末尾に番号が追加されており、sda1等を使用する。<br>
<u>Linuxにおいて、ストレージ名はsda、sdb、hda等である。これらのパーティションの末尾には番号が付加されており、sda1等を使用する。</u><br>
<u>もし、NVMe SSDを使用している場合は、ストレージ名がnvme0n1等と表示される。</u><br>
<br>
<br>
また、後でパーティションラベルを変更する場合は、e2labelコマンドを使用する。<br>
また、後でパーティションラベルを変更する場合は、<code>e2label</code>コマンドを使用する。<br>
  sudo e2label /dev/sdb1 <新しいラベル名>
  sudo e2label /dev/sd<span style="color:#C00000">X</span><span style="color:#00C000">Y</span> <新しいラベル名> # X : ストレージ番号,  Y : パーティンション番号
<br>
<br>
lsblkを使用して、パーティションの識別を確認できる。パーティションの名前、ラベル、およびUUIDを検索する。<br>
<code>lsblk --fs</code>コマンドを実行して、パーティションの識別を確認する。<br>
  sudo lsblk --fs
このコマンドにより、パーティションの名前、ラベル、およびUUIDが確認できる。<br>
  lsblk --fs
<br>
<br>
バージョンに適切なフィールドがすべて表示されない場合は、手動で要求できます。<br>
バージョンに適切なフィールドが全て表示されない場合は、以下のコマンドを実行する。<br>
強調表示された出力は、新しいファイルシステムを参照するために使用できるさまざまな方法を示しています。<br>
  lsblk -o NAME,FSTYPE,LABEL,UUID,PARTUUID,FSAVAIL,FSUSE%,MOUNTPOINT
  sudo lsblk -o NAME,FSTYPE,LABEL,UUID,PARTUUID,FSAVAIL,FSUSE%,MOUNTPOINT
   
   
  # 出力
  # 出力
97行目: 199行目:
  sdb                                                               
  sdb                                                               
  └─sdb1  ext4  DOROOT        1000CC2F00CC1E1A    050e1e34-39e6-4072-a03e-ae0bf90ba13a  16.6G    33% /
  └─sdb1  ext4  DOROOT        1000CC2F00CC1E1A    050e1e34-39e6-4072-a03e-ae0bf90ba13a  16.6G    33% /
<br>
==== F2FS ====
F2FSファイルシステムとしてフォーマットするには、<code>mkfs.f2fs</code>コマンドを実行する。<br>
<code>-f</code>オプションは、強制的にフォーマットを行うためのオプションである。<br>
また、<code>-l</code>オプションを付加することで、パーティションラベルを追加できる。これは、ストレージを識別するのに役立つ。<br>
sudo mkfs.f2fs -fl <ラベル名> -O extra_attr,inode_checksum,sb_checksum /dev/sd<span style="color:#C00000">X</span><span style="color:#00C000">Y</span>  # X : ストレージ番号,  Y : パーティンション番号
<br>
* ファイルベースの暗号化対応
*: Linux 4.2以降、F2FSはファイルの暗号化をネイティブでサポートしている。
*: 暗号化はディレクトリレベルで行われ、ディレクトリごとに異なる暗号化キーを使用することができる。
*: これは、ブロックデバイスレベルの暗号化であるdm-cryptや、スタック型暗号ファイルシステムであるeCryptfsとは異なるものである。
*: F2FSのネイティブ暗号化を使用して、F2FSファイルシステムを作成する。
sudo mkfs.f2fs -fl <ラベル名> -O extra_attr,inode_checksum,sb_checksum,encrypt /dev/sd<span style="color:#C00000">X</span><span style="color:#00C000">Y</span>  # X : ストレージ番号,  Y : パーティンション番号
<br>
F2FSファイルシステムのチェックと修復を行う場合は、f2fs-toolsが提供する<code>fsck.f2fs</code>コマンドを実行する。<br>
# ファイルシステムをチェックする
sudo fsck.f2fs /dev/sd<span style="color:#C00000">X</span><span style="color:#00C000">Y</span>  # X : ストレージ番号,  Y : パーティンション番号
# 結果に応じて、不整合を修復する
sudo fsck.f2fs -f /dev/sdx<span style="color:#C00000">X</span><span style="color:#00C000">Y</span>  # X : ストレージ番号,  Y : パーティンション番号
<br>
==== exFAT ====
exFATファイルシステムとしてフォーマットするには、<code>mkfs.exfat</code>コマンドを実行する。<br>
また、<code>-n</code>オプションを付加することで、パーティションラベルを追加できる。<br>
sudo mkfs.exfat -n <ストレージのラベル> /dev/sdXY
例. sudo mkfs.exfat -n SAMPLE_LABEL /dev/sdb1
<br>
<u>※注意</u><br>
<u>ストレージ全体ではなく、パーティションを渡すようにすること。(例. sdbではなくsdb1と入力する)</u><br>
<u>Linuxにおいて、ストレージ名はsda、sdb、hda等である。これらのパーティションの末尾には番号が付加されており、sda1等を使用する。</u><br>
<u>もし、NVMe SSDを使用している場合は、ストレージ名がnvme0n1等と表示される。</u><br>
<br>
また、後でパーティションラベルを変更する場合は、<code>exfatlabel</code>コマンドを使用する。<br>
sudo exfatlabel <デバイス名> <ラベル名>
例. sudo exfatlabel /dev/sdb1 SAMPLE_LABEL
<br>
また、フォーマットが正常に行われたかどうかを確認することもできる。<br>
sudo fsck.exfat <デバイス名>
例. sudo fsck.exfat /dev/sdb1
<br>
GNOME Disksを使用してフォーマットする手順を以下に示す。<br>
# メイン画面左から、フォーマットするストレージを選択する。
# メイン画面右にある[ボリューム]項目の歯車アイコンを選択する。
# [その他]のファイルシステムを選択して、[次へ]ボタンを押下する。
# [exFAT]を選択して、[作成]ボタンを押下する。<br>exFATのフォーマットが開始される。
<br>
==== NTFS ====
まず、NTFSのフォーマットに必要なパッケージをインストールする。<br>
# RHEL
sudo dnf install epel-release
sudo dnf install --enablerepo=epel ntfsprogs
# SUSE
sudo zypper install ntfsprogs
<br>
NTFSとしてフォーマットするには、<code>mkfs -t ntfs</code>コマンドを使用する。<br>
また、<code>-L</code>オプションを付加することで、パーティションラベルを追加できる。これは、ストレージを識別するのに役立つ。<br>
<code>mkfs -t ntfs</code>コマンドの代わりに、<code>mkfs.ntfs</code>コマンドを使用することもできる。<br>
sudo mkfs -t ntfs -L <ストレージのラベル名> /dev/sdX
<br>
クイックフォーマットを実行する場合は、<code>-Q</code>オプションを付加する。<br>
sudo mkfs -t ntfs -Q -L <ストレージのラベル名> /dev/sdX
<br>
フォーマットしたファイルシステムを確認する場合は、以下のコマンドを実行する。<br>
sudo parted -l
<br><br>
== 特殊なフォーマット : FAT32 ==
===== Windows 10 =====
フォーマットを行う前に、FAT32ファイルシステムでフォーマットするストレージを接続する。<br>
ストレージに割り当てられている文字を確認する。<br>
<br>
Powershellを起動して、以下のコマンドを実行する。<br>
ここでは、FAT32でフォーマットするストレージをFドライブとする。<br>
format /FS:FAT32 F:
<br>
次に、[Enter]キーを押下する。<br>
ストレージ上の全てのデータが消去されることを警告するメッセージが表示されるので、[Y]キーを押下する。<br>
[Y]キーを押下すると、フォーマット処理が開始する。<br>
<br>
===== RHEL / SUSE =====
まず、ストレージをFAT32ファイルシステムでフォーマットするため、以下のパッケージをインストールする。<br>
# RHEL
sudo yum install dosfstools
# SUSE
sudo zypper install dosfstools
<br>
次に、フォーマットを行うストレージ名を確認する。<br>
ここでは、/dev/sdcとする。<br>
sudo fdisk -l
<br>
最後に、以下のコマンドを実行して、フォーマットを行う。<br>
フォーマットを行う前に、ストレージ上にパーティションを作成しておく必要があるので注意すること。<br>
sudo mkdosfs -F 32 -I /dev/sdc1
<br><br>
== 特殊なフォーマット : Linuxのインストールに使用したストレージ ==
<u>もし、Linuxディストリビューションのインストールに使用したストレージを再利用する場合、以下に示すようなフォーマットを実行する。</u><br>
<br>
# GPartedや<code>parted</code>コマンド等を使用して、新しいMS-DOSパーティションを作成する。
#: 以下の例では、<code>parted</code>コマンドを使用したフォーマットおよびパーティションを作成している。
## フォーマットを行うストレージを選択する。
##: <code>sudo parted /dev/sd<span style="color:#C00000">X</span></code>
##: 例: <code>sudo parted /dev/sdb</code></code>
##: <br>
## ストレージをフォーマットする前に、<code>mklabel</code>コマンドを実行してラベルを作成する必要がある。
##: (parted) <code>mklabel gpt</code>
##: <br>
## 次に、パーティションを作成する。<br>以下の例では、パーティション名を"primary"、FAT32タイプ、パーティションサイズは0%から100%までとしている。
##: (parted) <code>mkpart</code>
##: パーティションの名前?  []? <code>primary</code>
##: ファイルシステムの種類?  [ext2]? <code>FAT32</code>
##: 開始? <code>0%</code>
##: 終了? <code>100%</code>
##: <br>
## パーティションの作成が完了した後、<code>print</code>コマンドを実行して、パーティションを確認する。
##: (parted) <code>print</code>
##: <br>
# 残存しているブートローダのデータを削除する。<br><u>この操作を行わない場合、残存しているブートローダから起動しようとすることに注意する。</u>
#: # MBRパーティションの場合
#: <code>sudo dd if=/dev/zero of=/dev/sd<span style="color:#C00000">X</span> bs=8k seek=1 count=4</code>
#: <br>
#: # GPTパーティションの場合 (GPTパーティションテーブルの場合は、8[KB]ではなく128[KB]のオフセットでインストールされる)
#: <code>sudo dd if=/dev/zero of=/dev/sd<span style="color:#C00000">X</span> bs=32k seek=4 count=1</code>
<br><br>
<br><br>


123行目: 353行目:
  sudo mount -a
  sudo mount -a
<br>
<br>
===== マウントのテスト =====
===== マウントしたストレージの確認 =====
ファイルシステムのマウント後、ファイルシステムにアクセスできることを確認する必要がある。<br>
ファイルシステムのマウント後、ストレージにアクセスできることを確認する必要がある。<br>
<code>df</code>コマンドを実行することで、使用可能かどうかを確認できる。<br>
<code>df</code>コマンドを実行して、ストレージが使用可能かどうかを確認する。<br>
  df -h -x tmpfs -x devtmpfs
  df -h -x tmpfs -x devtmpfs
   
   
151行目: 381行目:


__FORCETOC__
__FORCETOC__
[[カテゴリ:CentOS]][[カテゴリ:SUSE]][[カテゴリ:RaspberryPi_3]]
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]]