前回パーティションを縮小したときは、同じ開始セクターからパーティションを削除して再作成するのと同じくらい簡単でした。ただし、今回は、fdiskはセクター63からパーティションを再作成することを許可せず、最小で2048を強制します。
私はヘッドレスサーバーで作業しており、GUIであるため、gpartedはオプションではないことに注意してください。
root@ubuntulive:~# fdisk -u=sectors /dev/sda
Command (m for help): p
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 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 identifier: 0x0ab2afe6
Device Boot Start End Blocks Id System
/dev/sda1 * 63 104872319 52436128+ 83 Linux
/dev/sda2 104872320 113274314 4200997+ 83 Linux
/dev/sda3 113274315 312576704 99651195 83 Linux
Command (m for help): d
Partition number (1-4): 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-312581807, default 2048): 63
Value out of range.
First sector (2048-312581807, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-104872319, default 104872319): 52436159
Command (m for help): p
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 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 identifier: 0x0ab2afe6
Device Boot Start End Blocks Id System
/dev/sda1 2048 52436159 26217056 83 Linux
/dev/sda2 104872320 113274314 4200997+ 83 Linux
/dev/sda3 113274315 312576704 99651195 83 Linux
ルートパーティションの場合は とにかく起動できないはずです 。
Fdiskの代わりにpartedを使用してください。 fdiskとは異なり、parted write change on the fly!
(parted) p
Model: ATA Hitachi HTS72501 (scsi)
Disk /dev/sda: 160041885696B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32256B 53694627839B 53694595584B primary ext4 boot
2 53694627840B 57996449279B 4301821440B primary linux-swap(v1)
3 57996449280B 160039272959B 102042823680B primary xfs
(parted) rm 1
(parted) mkpart primary 32256B 28998224639B
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore
(parted) p
Model: ATA Hitachi HTS72501 (scsi)
Disk /dev/sda: 160041885696B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32256B 28998224895B 28998192640B primary ext4
2 53694627840B 57996449279B 4301821440B primary linux-swap(v1)
3 57996449280B 160039272959B 102042823680B primary xfs
Ext4はそれほど断片化しないと思ったので(実際、非連続ブロックは0.1%しかありませんでした)、resize2fsは実行しませんでした。
最初はそれを実行しましたが、/ dev/sda1を再度マウントできませんでした。 (大笑いした後)パーティションを初期サイズで再作成し、e2fsckを実行して、resize2fsを実行することにしました。その後、別れを試みましたが、機能しました。
物理データを変更するのではなく、parted/fdiskを使用してパーティションテーブルを編集しているだけであることを忘れないでください。
これはヘッドレスサーバーです。再起動後、pingは実行されません。起動時のfsckが中断される可能性があるため、レスキューモードで再起動しないことにしました。そのため、スリープ状態になりました。翌朝、サーバーがバックアップされているのを見つけました。
パーティションを縮小するための[…]ソリューションはありますか?
デフォルトの開始セクター(2048
)と適切な終了セクターを使用してパーティションを再作成します。この変更は、パーティションテーブルを作成するまで保留されているため、まだ63
でなくてもかまいません。次に、コマンドx
を与えます。
x extra functionality (experts only)
今m
は(とりわけ)印刷します:
b move beginning of data in a partition
b
を使用すると、63
を入力できます。 r
でメインメニューに戻ります。この時点で、p
は開始セクターとして63
を表示するはずです。すべてが正常に見える場合は、w
を使用して変更をディスクに書き込みます。
GPartedを使用して、ファイルシステムとパーティションのサイズを同時に変更できます。 IMHO、ヒューマンエラーが忍び寄る余地が少ないため、一般的にはこれが最善の解決策です。ただし、GPartedでMiBアライメントを使用する場合(使用しない場合でも)、シフトしようとする可能性が高いことに注意してください。セクター2048へのパーティションの開始。これにより、多くの余分なデータ移動が発生し、時間とリスクが伴います。 OTOH、これはブートディスクであり、新しいバージョンのGRUB)をインストールする場合に望ましい場合があります。一部のバージョンでは、MBRの後に、現在の62セクターよりも多くのスペースが必要になります。 。(ただし、現在のディスクでは、古いGRUBまたはLILOを引き続き使用できます。)
fdisk
を使用して実行する必要がある場合は、古いディストリビューション(または少なくとも古いバージョンのfdisk
)を使用してみてください。新しいバージョンのfdisk
は、使用したいほど小さい開始セクターを指定する方法を提供していないようですが、それは完全に合法であり、最近まで(Linuxの場合は2〜3年前)標準でした。 WindowsまでXP Windowsの場合)。ただし、古いバージョンのfdisk
はデフォルトで架空の「シリンダー」値を使用していました。これらの値は不正確であり、 fdisk
の断片的な変更は、特定の中間バージョンで期待する動作が得られない可能性があることを意味します。
また、元のスターティングブロックを保持できないという問題もありました。 cfdisk
を使用しました。 cfdisk
は、fdisk
よりも正しく、はるかに簡単に実行できます。 「サイズ変更」を選択して、ディスク容量を入力するだけです。そして、構成に満足したら「書き込み」を行います。それでおしまい!ご覧のとおり、その場で書くというデメリットはありません。