你可以改变一个Linux服务器上的分区types,而不启动fdisk?

我正在寻找一种方法来更改Linux系统上的分区types,而无需启动fdisk。 (在这个特殊情况下,从“linux”到“softwareRAID”)

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

我不想在这里找人写我的脚本,只是试图提供一些信息,改变脚本中的分区types。 我可以照顾其余的。

提前致谢。

或者你可以使用sfdisk,它也被devise成可脚本化的。

例如将/ 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

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

我会看着分手,它很容易脚本

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

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