【fdisk】パーティションが「範囲外の値です。」と作成できない時の対処方法

ソフトウェアRAIDの再構築を行いたいときに、壊れたHDDと入れ替えたHDDのパーティションを既存同様に作成する必要があります。

その際に既存のパーティション情報を参考に fdisk コマンドでパーティションの作成を行おうとしたのですが、「範囲外の値です。」と表示され作成できませんでした。

状況と原因

今回の場合、既存のディスク(壊れていない方)の構成はこのような感じになっています。

$ fdisk /dev/sdb
デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1               1        1020     8192000   82  Linux スワップ / Solaris
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sdb2   *        1020        1046      204800   fd  Linux raid 自動検出
/dev/sdb3            1046      243202  1945116672   fd  Linux raid 自動検出

そこで fdisk /dev/sda として入れ替えたHDDに sdb と同様の構成でパーティションを割り当てようとしたのですが、「終点」と「始点」のシリンダ番号が被っているせいで作成できませんでした

sda1 は 1~1020 で構成。
sdb2 を 1020~1046 で作成しようとしたが sda1 の終点と被っていた為エラー。

解決策

fdisk コマンドではなく、 parted コマンドを利用してパーティションを作成することで問題なく作成できます。

parted コマンドが入っていない場合は yum でインストールを行ってください。

$ yum install parted

parted コマンドで mkpart することで重複したシリンダ番号でのパーティション作成が行えました。

$ parted /dev/sda
(parted) mkpart
・・・・
・・・
・・

mkpart の方法は省略しますのでまたの機会に。。。

コメントを残す

メールアドレスが公開されることはありません。