软件 RAID 阵列中有一个磁盘发生故障,我正尝试更换它。我以前做过这件事,没有任何问题,但这次我在尝试复制分区表时遇到了错误。
我正在使用这个命令:
sfdisk -l /dev/sda | sfdisk /dev/sdb
并收到此错误:
sfdisk: unrecognized input: 121601 cylinders, 255 heads, 63 sectors/track
阅读sfdisk 手册页我真的不知道这个命令是如何起作用的,但它过去确实起作用过几次。
问题:如何将精确的分区表复制到第二个磁盘,以便我可以将其用作 RAID 成员?我并不执着于 sfdisk,它只是以前能很好地完成工作的工具。
以下是一些详细信息,希望对您有帮助
sfdisk -l /dev/sda
Disk /dev/sda: 121601 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sda1 * 0+ 3646 3647- 29294496 fd Linux raid autodetect
/dev/sda2 3647 121600 117954 947465505 5 Extended
/dev/sda3 0 - 0 0 0 Empty
/dev/sda4 0 - 0 0 0 Empty
/dev/sda5 3647+ 27961 24315- 195310206 fd Linux raid autodetect
/dev/sda6 27962+ 40119 12158- 97659103+ fd Linux raid autodetect
/dev/sda7 120628+ 121600 973- 7815591 fd Linux raid autodetect
/dev/sda8 119655+ 120627 973- 7815591 fd Linux raid autodetect
/dev/sda9 40120+ 119654 79535- 638864856 fd Linux raid autodetect
sfdisk -l /dev/sdb
Disk /dev/sdb: 121601 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sdb1 0+ 121600 121601- 976760001 83 Linux
/dev/sdb2 0 - 0 0 0 Empty
/dev/sdb3 0 - 0 0 0 Empty
/dev/sdb4 0 - 0 0 0 Empty
还尝试从-d
选项中进行管道传输,但这告诉我:
Device Boot Start End #sectors Id System
/dev/sdb1 * 63 58589054 58588992 fd Linux raid autodetect
/dev/sdb2 58589055 1953520064 1894931010 5 Extended
/dev/sdb3 0 - 0 0 Empty
/dev/sdb4 0 - 0 0 Empty
/dev/sdb5 58589118 449209529 390620412 fd Linux raid autodetect
/dev/sdb6 449209593 644527799 195318207 fd Linux raid autodetect
/dev/sdb7 1937888883 1953520064 15631182 fd Linux raid autodetect
/dev/sdb8 1922257638 1937888819 15631182 fd Linux raid autodetect
/dev/sdb9 644527863 1922257574 1277729712 fd Linux raid autodetect
Warning: partition 7 does not start at a cylinder boundary
sfdisk: I don't like these partitions - nothing changed.
(If you really want this, use the --force option.)
分区 7 有可能从 sda 上的圆柱边界开始,但不会从 sdb 上开始吗?我应该修复这个问题 (parted?) 还是强制修复?
答案1
由于您之前使用的命令不再起作用,我有点犹豫是否要告诉您有关使用dd
...克隆 MBR 的信息,如果您敢的话,请尝试一下,风险自负。
dd if=/dev/sda of=/dev/sdb bs=512 count=1
答案2
命令应该是
sfdisk -d /dev/sda | sfdisk /dev/sdb