GPT ディスク (/dev/sdaX) のパーティション番号を修正する方法

GPT ディスク (/dev/sdaX) のパーティション番号を修正する方法

Gparted を使用して、セカンダリ ドライブの EFI (/dev/sda1) および Ubuntu (/dev/sda2) パーティションを削除しました。3 番目のパーティション (/dev/sda3) はデータ用なので、最初の 2 つのパーティションを削除して、割り当てられていない領域をすべて使用できるようにサイズを変更しました。ディスク上には一意のパーティションしかないので、/dev/sda1 を取得するために、その番号を修正したいと思います。GPT パーティション テーブルを持つディスクで機能する最も簡単な方法は何ですか? ありがとうございます!

答え1

gdiskパーティションテーブルを書き換えるには、次を使用できます。

sudo gdisk /dev/sda
p (pコマンドは最新のパーティションテーブルを画面に表示します)
s (sコマンドはパーティションテーブルエントリをソートします)
p (結果を画面に表示するには、もう一度 p コマンドを使用します)
w (変更されたパーティションテーブルをディスクに書き込む)
q (gdisk を終了)

gdisk最も役立つ情報は以下で見つかりますhttp://www.rodsbooks.com/gdisk/

答え2

最後のリンクを見つけて興味をそそられ、何か新しいことを学びたいと思い、32GB の USB ドライブを使用して自分のシステムで Generoso のパーティション状況を再現しました。以下は私の調査結果ですが、まずは私の:

結論: 私の例は 1 つの (最後の) パーティションを対象としているため、最後のほうで名前を変更しただけです。実際のセクターには手を付けていません。上記のコメントのリンクには、セクター番号が移動されている例が示されています。私はそれに従って、USB ディスクを壊してしまいました。パーティションをいじるのは本当に危険だということが証明されました。
私のシナリオは複数のパーティションでも機能するかもしれません。ぜひ自分で試してみてください。プライマリ パーティションを使ってみてください。笑。
では、私の例を以下に示します。

結果: Gparted を使用して、それぞれ 1 GB のパーティションを 3 つ作成しました。

# fdisk -l /dev/sdc
Disk /dev/sdc: 30 GiB, 32176472064 bytes, 62844672 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
Disklabel type: dos
Disk identifier: 0xf33657fc

Device     Boot   Start     End Sectors Size Id Type
/dev/sdc1          2048 2099199 2097152   1G 83 Linux
/dev/sdc2       2099200 4196351 2097152   1G 83 Linux
/dev/sdc3       4196352 6293503 2097152   1G 83 Linux

ディスクを使用してパーティション 3 をマウントします。
手動でファイルを配置します。

# ls -l /media/willem/cd4746ac-6d9f-4057-9396-a593ce2f301d/
total 21436
drwx------ 2 root root    16384 May 27 00:12 lost+found
-rw-r--r-- 1 root root 21930117 May 27 00:14 SomeFile.txt

ディスクを使用してパーティション 3 をアンマウントします。Gparted
を使用してパーティション 1 と 2 を削除し、パーティション 3 を拡張してディスク全体を使用できるようにします。

# fdisk -l /dev/sdc
Disk /dev/sdc: 30 GiB, 32176472064 bytes, 62844672 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
Disklabel type: dos
Disk identifier: 0xf33657fc

Device     Boot Start      End  Sectors Size Id Type
/dev/sdc3        8192 62844671 62836480  30G 83 Linux

ディスクを使用してパーティション 3 をマウントします。
パーティション 3 上のファイルを確認します。

# ls -l /media/willem/cd4746ac-6d9f-4057-9396-a593ce2f301d/
total 21436
drwx------ 2 root root    16384 May 27 00:12 lost+found
-rw-r--r-- 1 root root 21930117 May 27 00:14 SomeFile.txt

ディスクを使用してパーティション 3 をアンマウントします。
ドライブからパーティション テーブルをコピーします。
パーティション テーブルを表示します。

# sfdisk -d /dev/sdc > sdc.tab
# cat sdc.tab
label: dos
label-id: 0xf33657fc
device: /dev/sdc
unit: sectors

/dev/sdc3 : start=        8192, size=    62836480, type=83

vi sdc.tabsdc3 を sdc1 に変更するために使用します。
変更されたパーティション テーブルを適用します。

# sfdisk --no-reread -f /dev/sdc < sdc.tab
Disk /dev/sdc: 30 GiB, 32176472064 bytes, 62844672 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
Disklabel type: dos
Disk identifier: 0xf33657fc

Old situation:

Device     Boot Start      End  Sectors Size Id Type
/dev/sdc3        8192 62844671 62836480  30G 83 Linux

>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Created a new DOS disklabel with disk identifier 0xf33657fc.
Created a new partition 1 of type 'Linux' and of size 30 GiB.
/dev/sdc2: 
New situation:

Device     Boot Start      End  Sectors Size Id Type
/dev/sdc1        8192 62844671 62836480  30G 83 Linux

The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

コマンドが終了するとすぐに、パーティション 1 が自動的にマウントされます。
ファイルを確認してください。

# ls -l /media/willem/cd4746ac-6d9f-4057-9396-a593ce2f301d/
total 21436
drwx------ 2 root root    16384 May 27 00:12 lost+found
-rw-r--r-- 1 root root 21930117 May 27 00:14 SomeFile.txt

ディスクを使用してパーティション 1 をアンマウントします。
完了。

PS.cat SomeFile.txt毎回そうしましたが、その出力を含める必要はないと感じました。

答え3

/dev/sda1 のサイズを /dev/sda3 より大きくする必要があります。次に、sda3 を sda1 にコピーします。sda1 のファイルをチェックし、問題がなければ sda3 を削除し、それに応じて sda1 のサイズを変更します。

関連情報