fdiskを使用して論理パーティションと拡張パーティションを拡張する方法

fdiskを使用して論理パーティションと拡張パーティションを拡張する方法

拡張パーティション/dev/sda2の下の論理パーティションである/dev/sda5パーティションを拡張しようとしています。

使いたいディスクドライブ

手順は、両方のパーティションを削除し、まったく同じ起動セクタ(1001470と1001472)で再作成することです。より大きい最小開始セクタ(1003518)必要以上に。

$ sudo fdisk /dev/sda
コマンド(ヘルプはm):p
ディスク /dev/sda: 9.8 GiB, 10485760000 バイト, 20480000 セクタ
単位:セクタ1 * 512 = 512バイト
セクタサイズ(論理/物理):512バイト/512バイト
I/Oサイズ(最小/最適): 512バイト/512バイト
ディスクラベルの種類:dos
ディスク識別子:0x0cd7105f

デバイスの起動開始および終了セクタサイズIDタイプ
/dev/sda1*2048 999 423 997 376 487M 83 Linux
/dev/sda2 1001470 16775167 15773698 7.5G 5 拡張
/dev/sda5 1001472 16775167 15773696 7.5G 83 Linux


パーティション5が削除されました。
パーティション2が削除されました。

コマンド(ヘルプはm):n
パーティションタイプ
   pメイン(メイン1個、拡張0個、無料3個)
   e拡張(論理的に分割されたコンテナ)

選択(デフォルトp):金利
パーティション数(2-4、デフォルト値2):
最初のセクタ(999424-20479999、デフォルト値999424):1001470
最後のセクタ、+セクタ、または+サイズ{K、M、G、T、P}(1001470-20479999、デフォルト20479999):
タイプが「拡張」でサイズが9.3GiBの新しいパーティション2が作成されます。

コマンド(ヘルプはm):n
基本パーティションのすべてのスペースが使用されます。
論理区画5の追加
最初のセクタ(1003518-20479999、基本1003520):1001472

値が範囲外です。

私がやった別れたただし、fdiskを使用できる必要があります。

$ fdisk -V
fdisk from util-linux 2.27.1

答え1

に基づいた措置ザイルズ答え:

$ sudo fdisk /dev/sda

fdisk(util-linux 2.27.1)へようこそ。
変更は書き込みとして決定するまでメモリに残ります。
writeコマンドを使用する前に注意してください。


コマンド(ヘルプはm):p
ディスク /dev/sda: 9.8 GiB, 10485760000 バイト, 20480000 セクタ
単位:セクタ1 * 512 = 512バイト
セクタサイズ(論理/物理):512バイト/512バイト
I/Oサイズ(最小/最適): 512バイト/512バイト
ディスクラベルの種類:dos
ディスク識別子:0x0cd7105f

デバイスの起動開始および終了セクタサイズIDタイプ
/dev/sda1*2048 999 423 997 376 487M 83 Linux
/dev/sda2       100147016775167 15773698 7.5G 5 拡張
/dev/sda5       100147216775167 15773696 7.5G 83 Linux

コマンド(ヘルプはm):d
パーティション数(1,2,5、デフォルト値5):2

パーティション2が削除されました。

コマンド(ヘルプはm):n
パーティションタイプ
   pメイン(メイン1個、拡張0個、無料3個)
   e拡張(論理的に分割されたコンテナ)
選択(基本p):e
パーティション数(2-4、デフォルト値2):
最初のセクタ(999424-20479999、デフォルト値999424):1001470
最後のセクタ、+セクタ、または+size{K、M、G、T、P}(1001470-20479999、デフォルト値20479999):

タイプが「拡張」でサイズが9.3GiBの新しいパーティション2が作成されます。

コマンド(ヘルプはm):n
基本パーティションのすべてのスペースが使用されます。
論理区画5の追加
最初のセクタ(1003518-20479999、デフォルト値1003520):
最後のセクタ、+セクタ、または+size{K、M、G、T、P}(1003520-20479999、デフォルト値20479999):

タイプが「Linux」でサイズ9.3GiBの新しいパーティション5が作成されます。

コマンド(ヘルプはm):X


専門家の命令(ヘルプはm):第二
パーティション番号(1,2,5、デフォルト値5):
新しいデータ開始(1001471-20479999、デフォルト値1003520):1001472

専門家の命令(ヘルプはm):p

ディスク /dev/sda: 9.8 GiB, 10485760000 バイト, 20480000 セクタ
単位:セクタ1 * 512 = 512バイト
セクタサイズ(論理/物理):512バイト/512バイト
I/Oサイズ(最小/最適): 512バイト/512バイト
ディスクラベルの種類:dos
ディスク識別子:0x0cd7105f

デバイス起動開始終了セクタIDタイプ開始-C/H/S終了-C/H/S属性
/dev/sda1*2048 999 423 997 376 83 Linux 0/33/32 62/55/53 80
/dev/sda2       100147020479999 19478530 5 拡張 62/23/86 250/23/209
/dev/sda5       100147220479999 19478528 83 Linux 62/57/118 250/23/209

その後、r(メインメニューに戻る)とw(ディスクにテーブルを書き込む)。

答え2

一般的なインタフェースでは、Linuxのfdiskはパーティションにソート制約を適用します。制限はfdiskのバージョンによって異なります。以前のバージョンは、互換性のない古いオペレーティングシステムとの互換性のために、デフォルトでシリンダアライメントを使用します。LBA。 LBAが20年前にリリースされたとき、fdiskはもはやデフォルトでこの古代システムをサポートせず、最新のストレージメディアでより良いパフォーマンスを提供する1MBのソートに切り替えました。

現在のバージョンのfdiskでランダムセクタ(512B)ソートパーティションを作成するには、まず目的のエンドポイントにパーティションを作成し、次にエキスパートメニュー(x)に移動してコマンドb(これは終了位置ではなくパーティションサイズを変更します。むしろ厄介です。

答え3

FdiskはMBRパーティションのみを認識する古いプログラムです。あなたの問題は、ディスク構造(ヘッド、トラックあたりのセクタ、トラック)を変更することにあると思います。 ddコマンド(セクター間のコピー)を介して古いディスクから新しいディスクにデータをコピーした後、パーティションはトラックの開始セクターと整列しません。これが、fdisk が前のディスクのトラックセクタの開始と最初にソートされる前に起動パーティションセクタを生成することを許可しない理由です。

拡張メニューのコマンドを使用すると、fdiskプログラムは新しいディスクの構造を変更しようとしますが、これは間違ったアプローチです。以前のfdiskの代わりにpartedとgpartedプログラムを使用してください。

今、読み書き速度は各パーティションの開始トラックセクタの位置合わせに依存しません。

関連情報