パーティションやファイルシステム管理系のコマンドについて扱います。
大前提として、パーティションに分割した領域にファイルシステムを作成していくということを押さえておくべきです。
パーティション管理コマンド
Linuxシステムを深く扱った経験があまりない場合、難所の一つになる部分になると思います。
利用者としてLinuxを使っているとこの辺のコマンドはあまり使う機会がないかと思います。
パーティションの基本については以下の記事でも先行して扱っています。
www.wantanblog.com
なおパーティション管理系コマンドについてはシステム自体に大きな影響を与えて、場合によっては復旧が不可能になることもあるそうなので、勉強用途で試してみる場合には壊れてもよい環境でやった方がよいでしょう。
※実際にパーティション、ファイルシステムのコマンドを弄ったら仮想マシン一つが起動できなくなりました。まぁそのつもりでやっていたので私的には問題なしですが
fdiskコマンド
fdiskコマンドはMBR方式のハードディスクにてパーティションの作成、削除、変更など対話的にを行うコマンドです。
MBR方式と強調しているのはGPT方式だと同様の操作を行うコマンドも変わってくるためです。ここは後述します。
「-l」オプション
fdiskコマンドに「-l」オプションを付与することによってパーティションテーブルの状態を表示することができます。試験的には主要オプションはこのくらいです。
[root@localhost work]# fdisk -l /dev/sda Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000952e2 Device Boot Start End Blocks Id System /dev/sda1 * 2048 616447 307200 83 Linux /dev/sda2 616448 4812799 2098176 82 Linux swap / Solaris /dev/sda3 4812800 62914559 29050880 83 Linux
サブコマンド
実際に実行するのが難しい場合でも試験的には実行に必要なサブコマンドはしっかりと覚えておく必要があります。サブコマンドはオプションなしでfdiskコマンドを実行した場合に対話的な処理の中で入力(Command (m for help):)を求められるものになります。
オプションとは違うので区別して覚えておきましょう。
[root@localhost work]# fdisk /dev/sda Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help):
サブコマンド | 内容 |
---|---|
l | パーティションタイプを一覧表示 |
n | パーティションを作成 |
d | パーティションを削除 |
p | パーティションテーブルを表示 |
t | パーティションタイプを変更 |
w | パーティションテーブルの変更を保存 |
p | パーティションテーブルを保存しないで終了 |
m | サブコマンドのメニュー(ヘルプ)表示 |
■パーティション操作の練習
以下を参考にさせていただきました。
fdiskコマンドでパーティション分割 - Qiita
・現在の状態を確認
3つのパーティションが存在している状態。
[root@localhost wantan]# fdisk -l Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000952e2 Device Boot Start End Blocks Id System /dev/sda1 * 2048 616447 307200 83 Linux /dev/sda2 616448 4812799 2098176 82 Linux swap / Solaris /dev/sda3 4812800 62914559 29050880 83 Linux
・fdiskコマンドを実行
対話モードを表示する。
[root@localhost work]# fdisk /dev/sda Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help):
・既存パーティションの削除
dコマンドで1番目を削除する。
Command (m for help): d Partition number (1-3, default 3): 1 Partition 1 is deleted Command (m for help):
・パーティションテーブルの確認
pコマンド。削除されていることを確認する。
Command (m for help): p Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000952e2 Device Boot Start End Blocks Id System /dev/sda2 616448 4812799 2098176 82 Linux swap / Solaris /dev/sda3 4812800 62914559 29050880 83 Linux
・パーティションの再作成
nコマンドで1番目のパーティションを作り直す。
Command (m for help): n Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): p Partition number (1,4, default 1): 1 First sector (2048-62914559, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-616447, default 616447): Using default value 616447 Partition 1 of type Linux and of size 300 MiB is set Command (m for help):
・パーティションテーブルの確認
pコマンド。再生成さてれていることを確認する。
Command (m for help): p Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000952e2 Device Boot Start End Blocks Id System /dev/sda1 2048 616447 307200 83 Linux /dev/sda2 616448 4812799 2098176 82 Linux swap / Solaris /dev/sda3 4812800 62914559 29050880 83 Linux
実際には保存して終了することで反映されるが、コマンドを試すだけなら実行しっぱなしで終了(q)してもよい。
gdiskコマンド
gdiskコマンドはfdiskコマンドと同じようにパーティションを管理するコマンドです。
違いはパーティション方式で、GPTの場合にはこちらのgdiskコマンドコマンドを使用します。
使い方も同じような感じ、現状ではfdiskコマンドの方が試験的には重要っぽい。
partedコマンド
partedコマンドはMBR形式、GPT形式をサポートするパーティション操作コマンドです。
主にパーティションテーブルの方式(MBR、GPT)を指定するなどの用途で使用されます。
partedコマンドはsdiskコマンドと同じように対話的にコマンドを実行する方法とワンラインで一気に実行する実行方法があります。
サブコマンド | 内容 |
---|---|
mklabel [gpt or msdos] | 新しいパーティションテーブルを作成する |
mkpart | 指定した種類のパーティションを作成 ※書式は後述 |
rm [番号] | 指定したパーティションを削除 |
print (p) | パーティションを表示 |
quit (q) | 終了する |
サブコマンドのmkpartコマンドの書式は以下の通りです。
mkpart [ パーティションタイプ ファイルシステム種別 パーティション名 ] 開始位置 終了位置
■partedコマンドを実行してみる
以下、とりあえずでコマンドを実行しているので、システム動作の保証ができません。
・対話モードを表示
[root@localhost work]# parted /dev/sda GNU Parted 3.1 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
・パーティションテーブルをGPTに
(parted) mklabel gpt Warning: Partition(s) on /dev/sda are being used. Ignore/Cancel? I Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? Yes Error: Partition(s) 1, 2, 3 on /dev/sda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes. Ignore/Cancel? I
・パーティションの作成
(parted) mkpart primary ext4 1 1000MB Error: Error informing the kernel about modifications to partition /dev/sda1 -- Device or resource busy. This means Linux won't know about any changes you made to /dev/sda1 until you reboot -- so you shouldn't mount it or use it in any way before rebooting. Ignore/Cancel? I Error: Partition(s) 2, 3 on /dev/sda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes. Ignore/Cancel? I (parted) p Model: VMware, VMware Virtual S (scsi) Disk /dev/sda: 32.2GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 1000MB 999MB xfs primary
「-s」オプションを付与することによりワンラインでも実行できます。
parted /dev/sdb -s mklabel gpt
適当に実行したら仮想マシンが起動できなくなりました。。試す場合はご注意を。
ーーーーーーーーーーーーーーーー
・前回(第十九回)
www.wantanblog.com
・次回(第二十一回)
www.wantanblog.com