我有两个分区,最近我删除了 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 的新分区。但我绝对不建议这样做。从总体上看,分区的编号不会影响系统的性能或功能,所以您应该没问题。