拡張パーティション/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プログラムを使用してください。
今、読み書き速度は各パーティションの開始トラックセクタの位置合わせに依存しません。