将 sda2 更改为 sda1

将 sda2 更改为 sda1

我有两个分区,最近我删除了 sda1 并将 sda2(Ubuntu)移动到 sda1 所在的位置并让其使用整个磁盘,但 sda2 仍然是 sda2 而我想让它显示为 sda1。

我有一个 Ubuntu Live USB,我从那里安装了 Ubuntu。

答案1

分区号由分区表项决定,删除第一个分区,其实就是删除第一个分区表项,剩下的第二个分区仍由第二个分区表项定义,所以其编号仍为2

其实没有必要改变这一点,如果你的分区是由第一个或第二个分区表条目定义的,那没关系,在现实生活中你很少会看到你的分区号,这对性能没有影响。重新排序分区表条目会带来一些风险,你可能会不小心输入错误的命令。

grub 有可能会损坏(因为 grub 使用 UUID 来查找正确的分区,所以我不会想到会出现这种情况,但要做好最终必须重新安装 grub 的准备)。

如果您对 UUID 进行了任何更改/etc/fstab并使用了它/dev/sda2,那么您也必须更改它。

我建议不要做这种改变,因为你不会得到任何好处。


如果你真的坚持要进行这样的改变,那么我们可以这样做:

使用您的安装程序-USBTry without installing并从此会话执行操作,您的分区必须被卸载!

重新检查正确的驱动器,lsblk -f看看它是否/dev/sda仍然是正确的驱动器,从安装程序启动时它可能会改变,也可能不会改变。您必须根据从 -command 获得的输出调整以下命令中的设备名称lsblk

创建分区表的副本​​:

~$ sudo sfdisk -d /dev/sda > sdatable

结果如下:

~$ cat sdatable
label: gpt
label-id: CAEC9287-6E64-48BD-8223-B951EE4C7345
device: /dev/sda
unit: sectors
first-lba: 34
last-lba: 625142414
sector-size: 512

/dev/sda2 : start=        2048, size=   625131520, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=917D415A-7E8F-C74E-8D72-1259A7C02ED6, name="archiv"

/dev/sda2现在只编辑最后一行从到 的开头/dev/sda1,其他部分保持原样。我以前就是nano这么做的。最后一行现在应该如下所示:

/dev/sda1 : start=        2048, size=   625131520, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=917D415A-7E8F-C74E-8D72-1259A7C02ED6, name="archiv"

下一步,加载分区表的更改副本:

~$ sudo sfdisk --force /dev/sda < sdatable
Checking that no-one is using this disk right now ... OK

Disk /dev/sda: 298.09 GiB, 320072933376 bytes, 625142448 sectors
Disk model: Hitachi HTS54503
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: gpt
Disk identifier: CAEC9287-6E64-48BD-8223-B951EE4C7345

Old situation:

Device     Start       End   Sectors   Size Type
/dev/sda2   2048 625133567 625131520 298.1G Linux filesystem

>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Created a new GPT disklabel (GUID: CAEC9287-6E64-48BD-8223-B951EE4C7345).
/dev/sda1: Created a new partition 1 of type 'Linux filesystem' and of size 298.1 GiB.
Partition #1 contains a ext4 signature.
/dev/sda2: Done.

New situation:
Disklabel type: gpt
Disk identifier: CAEC9287-6E64-48BD-8223-B951EE4C7345

Device     Start       End   Sectors   Size Type
/dev/sda1   2048 625133567 625131520 298.1G Linux filesystem

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

重新检查并lsblk得出预期结果

~$ lsblk -f | grep sda
sda                                                                                        
└─sda1 ext4     1.0   archiv           57d76d02-deb6-47cf-bb2d-5da748f1cc38

完成。请自行承担风险!

答案2

您无法“更改”分区的编号,因为这些编号是在创建分区时分配的。如果您确实希望 sda2 成为 sda1,那么您可以删除 sda2 分区,然后创建一个名为 sda1 的新分区。但我绝对不建议这样做。从总体上看,分区的编号不会影响系统的性能或功能,所以您应该没问题。

相关内容