我正在尝试使用以下命令更改分区类型:
sudo sfdisk --change-id /dev/sdb 2 fd
但是,我收到以下错误:
sfdisk: /dev/sdb: partition 2: failed to set partition type
我的驱动器如下所示:
知道如何解决这个问题吗?
我有一张装有 ubuntu 服务器的磁盘。一切都安装和配置好了,这花了我很多时间。现在我想添加一张磁盘并创建一个 RAID1 阵列... 而不会丢失磁盘 1 上的系统。= 很多麻烦。有很多指南,但如果您绑定到 uefi 分区,则没有一个指南。因此,我正在使用 VM 进行一些测试以实现此目的。这是我的宏伟总体规划:(可能很愚蠢)
1 将 SDA 克隆到 SDB 作为精确副本,每个副本都有自己的 efi 分区 2 将 SDB2 转换为 raid linux 分区 = md0 ,降级 3 将 grub 配置指向 md0 而不是 sda2 (在两个驱动器的 efi 分区上) 4 转换并将 SDA2 添加到 raid 阵列
这是简短的版本。在步骤 2 中,我首先需要将分区类型更改为 raid。我部分遵循本指南;
https://www.considerednormal.com/2016/10/configuring-software-raid1-after-installation-of-ubuntu-16/
为了设置 raid,我必须将分区类型设置为 FD
答案1
如果您确实要更改此分区的分区类型,请参见以下内容:
-command已被弃用,您应改用该sfdisk
命令。--change-id
--part-type
从man sfdisk
:
--part-type 设备分区号 [类型] 更改分区类型。如果未指定类型,则打印 当前分区类型。类型参数为十六进制 对于 MBR,或对于 GPT,则为 GUID。为了向后兼容, 选项 -c 和 --id 与这个含义相同。
当您使用 GPT 时,sfdisk
期望的是GUID
而不是dos partition type
。
您可以在此处找到不同分区类型的 GUID:
https://en.wikipedia.org/wiki/GUID_Partition_Table
您必须将fd
(如果您使用 dos 分区表则有效)替换为 GPT 的对应命令,因此正确的命令是
sudo sfdisk --part-type /dev/sdb 2 A19D880F-05FC-4D3B-A006-743F0F84911E
这里还有另一个有趣的链接:
https://bugzilla.redhat.com/show_bug.cgi?id=1183234
此外,您还应该更改克隆文件系统的 UUID。系统启动时,它将尝试使用 UUID 挂载 Efi 系统分区和操作系统分区,将/etc/fstab
挂载找到的第一个具有所用 UUID 的分区,并且您无法确定具有相同 UUID 的两个分区中的哪一个是该分区。
要更改分区的 UUID,请使用类似
tune2fs -U UUID /dev/sdb2
其中UUID
是您选择的 UUID 或用于生成新随机 UUID 的关键字random
。请查看man tune2fs
。