如何在不删除分区的情况下重新组织分区表?

如何在不删除分区的情况下重新组织分区表?

我有一个这样的分区布局:

ext:
  linux root
  linux swap
pri:
  windows
pri:
  storage
pri:
  storage

我想将此布局更改为:

pri:
  linux root
pri:
  linux swap
pri:
  windows
ext:
  storage
  storage

看到了吧,分区并没有移动,只是分区表改变了。

有没有一种简单(且快速)的方法可以做到这一点,而无需移动文件和删除分区?我只能将存储转换为一个包含两个逻辑分区的扩展分区。

我只期望一个是/否的答案和一个我可以man使用的工具。:)

答案1

是的。你可以用 fdisk 来做这件事,尽管我绝对不会尝试。

答案2

sfdisk、GNU parted 或部分如果您非常小心,应该可以为您完成此操作。实际上任何 fdisk 实用程序都可以做到这一点,尽管这会有点困难。

这里的诀窍是分区表只是 MBR 中的一个数据结构。您可以随意更改它,而不会影响磁盘上的实际分区(切片等)。但!每当操作系统在分区表中读取的内容与读取磁盘时看到的内容不匹配时,您就可能无法启动或遇到其他问题。

我不确定这是否值得在实验室机器以外的任何东西上冒险...在尝试之前请务必小心并备份部分表或该磁盘的整个 MBR!

dd if=/dev/sda of=old_bootsector bs=512 count=1

答案3

实际上我是使用 fdisk 来完成的 - 清空并删除一个主分区后,我能够创建一个扩展分区,然后我只需要移动数据。

相关内容