パーティションのエクステントは /sys/block/sda/sda1/start
から読み取ることができます 、 /sys/block/sda/sda1/size
等々。値はセクター単位です。 特に再起動する前に、これらの値を書き留めておいてください。
値を取得したら、fdisk
でパーティションを再作成できます . u
を使用 コマンドを使用してユニットをセクターに切り替え、次に入力してパーティションを作成します
n
p
rimary/l
論理/e
拡張- パーティション番号 (論理パーティションを除く:順番に記入してください)
- 最初のセクター
+
セクターのサイズ
質問されてからほぼ2年が経過しました。昨日もまったく同じ状況でした。2 つのディスクを備えた Linux ソフトウェア RAID レベル 1 があります。ディスクの 1 つが故障し、交換する必要がありました。ディスクを交換した後、パーティション テーブルを残りの (動作中の) ディスクから新しいディスクにコピーしたいと考えました。残念ながら、空のパーティション テーブルを新しいディスクから古いディスクにコピーしました。幸いなことに、マシンを再起動する前にすぐにこれを発見したため、正しいパーティション テーブルがまだカーネルでアクティブでした。この問題を解決するために行ったことは次のとおりです:
/sys/block/
からパーティション データを抽出しました Gilles の回答に記載されているファイル システム- 私たちのシステムは GUID パーティション テーブルを使用しているため、
fdisk
を使用できませんでしたgdisk
を使用する必要がありました gdisk
fdisk
とほとんど同じように動作します ただし、u
を指定する必要はありません。- exact でパーティションを作成しました
/sys/block/
から抽出されたデータ .同様の質問に対して、パーティション サイズを 1 つ減らすという回答が他にもありますが、それは私たちにとって必要ではありませんでした。 - GUID パーティション テーブルでは、プライマリ パーティションと拡張パーティションの区別がなくなりました。
sys/block
ファイル システムにはファイル システムの種類に関する情報が含まれていないため、mount
で抽出しました。 .- GUID パーティション テーブルでは、起動可能フラグがなくなりました。復元するパーティション テーブルがブータブル ディスクからのものである場合、
BIOS boot partition
タイプのパーティションが必要です。 (通常は最初のパーティション)。
gdisk
でパーティションテーブルを書き込んだ後 、システムを再起動することができ、すべて正常に動作していました.