拡張パーティションを左に拡張

拡張パーティションを左に拡張

私は次のハードドライブを持っています

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Disk identifier: 0xfa6bd800
Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      821247      409600    7  HPFS/NTFS/exFAT
/dev/sda2          821248   210991103   105084928    7  HPFS/NTFS/exFAT
/dev/sda3       210991104   317941759    53475328   83  Linux
/dev/sda4       420343806   625141759   102398977    5  Extended
/dev/sda5       435689472   507955096    36132812+  83  Linux
/dev/sda6       507955200   566546431    29295616   83  Linux
/dev/sda7       566548480   625141759    29296640   83  Linux
/dev/sda8       420345856   435687423     7670784   82  Linux swap / Solaris

最近Windowsからパーティションを復元しました。未割り当て領域を使用するために、「拡張パーティション」/dev/sda4を左に拡張したいと思います。 /dev/sda4 が 420343806 から 317941760 (/dev/sda3 の終わり) まで拡張できることがわかります。 gpartedでこれを試しましたが失敗しました。

GParted 0.12.1 --enable-libparted-dmraid

Libparted 2.3
Move /dev/sda4 to the left and grow it from 97.66 GiB to 126.95 GiB  00:00:00    ( ERROR )

calibrate /dev/sda4  00:00:00    ( SUCCESS )

path: /dev/sda4
start: 420,343,806
end: 625,141,759
size: 204,797,954 (97.66 GiB)
move partition to the left and grow it from 97.66 GiB to 126.95 GiB  00:00:00    ( ERROR )

old start: 420,343,806
old end: 625,141,759
old size: 204,797,954 (97.66 GiB)
requested start: 358,901,760
requested end: 625,139,711
requested size: 266,237,952 (126.95 GiB)
libparted messages    ( INFO )

Unable to satisfy all constraints on the partition.
Can't have overlapping partitions.

だから私はパーティション拡張のためにfdiskを使ってみました。

私はこれが次のステップだと思います。 1. /dev/sda4 を削除します。 2. 317941760から625141759までの新しい拡張パーティションを作成します。 3. /dev/sda4のresize2fs

しかし、これを行うと、論理区画またはデータが失われますか?それとも別の道に行くべきですか?

ベストアンサー1

gpartedがこれを行うことができるかどうかわかりません。ほとんどのパーティショナーは、拡張パーティションを削除/再生するときにsda5-xを削除します。

sfdiskを試してみてください。

#sfdisk -d /dev/sda > sda.original

これにより、以下のようにパーティションレイアウトダンプが生成されます。

# /dev/sdaのパーティションテーブル
単位: 部門

/dev/sda1: 開始=2048, サイズ=4194304, ID=c
/dev/sda2: 開始=4198400, サイズ=2097152, ID=83, 起動可能
/dev/sda3: 開始=6297600, サイズ=20971520, ID=83
/dev/sda4: 開始=27271168, サイズ=3844096, ID=f
/dev/sda5: 開始=27273216, サイズ=1918976, ID=83
/dev/sda6: 開始=29194240, サイズ=1918976, ID=83

このダンプのコピーを作成し、必要に応じて修正してください。

#cp sda.original sda.modified
#nanosda.modification

したがって、あなたの場合、/dev/sda4を420343806から317941760に拡張するには、sda.modifiedファイルの/dev/sda4エントリのstart =番号を置き換えます。

修正が完了したらロードできます。

#sfdisk /dev/sda < sda.modified

問題が発生した場合は、編集内容を調整するか、元の状態に戻すことができます。

#sfdisk /dev/sda < sda.original

sfdiskの使い方です。

切り離されていてサイズ変更が機能しない場合は、以下を使用してパーティションのオフセットとサイズを非常に慎重に記録する必要があります。

#parted /dev/sda デバイス b 無料印刷 > sda.parted

これにより、次のファイルが生成されます。

モデル:ユニバーサルストレージデバイス(scsi)
ディスク/開発者/sda: 15931539456B
セクタサイズ(論理/物理):512B/512B
パーティションテーブル:msdos
ディスクフラグ:

番号開始終了サイズタイプファイルシステムフラグ
        32256B 1048575B 1016320B 使用可能スペース
 1 1048576B 2148532223B 2147483648B 1次脂肪32 lba
        2148532224B 2149580799B 1048576B 使用可能スペース
 2 2149580800B 3223322623B 1073741824B 基本 ext2 ブート
        3223322624B 3224371199B 1048576B 使用可能スペース
 3 3224371200B 13961789439B 10737418240B メイン ext2
        13961789440B 13962838015B 1048576B 使用可能スペース
 4 13962838016B 15931015167B 1968177152B 拡張 lba
 5 13963886592B 14946402303B 982515712B論理ext2
 6 14947450880B 15929966591B 982515712B論理ext2
        15929966592B 15931015167B 1048576B 使用可能スペース
        15931015168B 15931539455B 524288B 使用可能スペース

セクターなどの他の単位を選択できます。この場合、解釈する余地がまったくないので、バイトを好みます。メディアによっては、パーティショニングソフトウェアは時々セクターサイズなどについて異なる見解を持っています。

正確なパーティションオフセット、サイズ、およびタイプがわかっている場合は、partedで単にmklabel(パーティションテーブルのリセット)を実行し、最初から新しいパーティションを再作成し、保持したいパーティションを再作成し、変更したいパーティションを変更できます。

これらのオプションのいずれも、パーティションのファイルシステムの変更やサイズ変更には影響しません。したがって、この回避策はこの問題を直接処理できる場合、または空き領域に新しい空のパーティションを作成したい場合にのみ機能します。

おすすめ記事