我正在寻找一种无需启动 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
这是最简单的方法。