无需启动 fdisk 就可以更改 Linux 服务器上的分区类型吗?

无需启动 fdisk 就可以更改 Linux 服务器上的分区类型吗?

我正在寻找一种无需启动 fdisk 即可在 Linux 系统上更改分区类型的方法。(在此特定情况下,从“linux”更改为“softwareRAID”)

这里的最终目标是编写一个脚本,该脚本将使用 /dev/sda 并使用 /dev/sdb 自动创建软件 RAID1

我不是想让任何人帮我写一个脚本,只是想提供一些有关在脚本中更改分区类型的信息。我可以处理剩下的事情。

提前致谢。

答案1

或者您可以使用 sfdisk,它也设计为可编写脚本。

例如将 /dev/sda 的分区 1 更改为类型 0xfd (linux raid):

sfdisk --id /dev/sda 1 fd

您还可以将现有的分区表转储到文件中(以旨在重新导入 sfdisk 的格式),然后使用 vi/awk/sed/perl/ed/whatever 修改该文件,然后将其反馈给 sfdisk。

例如

sfdisk -d /dev/sda | sed -e 's/Id=83/Id=fd/' > /tmp/sda.txt
sfdisk /dev/sda </tmp/sda.txt

在构建相同磁盘的 RAID 阵列时我经常使用它。在一个驱动器上手动创建分区表,然后使用 sfdisk 将其复制到其他驱动器。

答案2

我会研究一下 parting,它很容易编写脚本

答案3

使用 parted。你可以编写脚本,而且它不会让你重新启动 :)

答案4

如果您想克隆分区表,dd bs=512 count=1 if=/dev/sda of=/dev/sdb; partprobe /dev/sdb这是最简单的方法。

相关内容