macOS不允许从命令行更改分区序列!


1

这是我的iMac的磁盘列表。

enter image description here

我正在尝试使用diskutil mergePartitions合并分区macOS和macOS 2现在问题是运行此命令macOS将数据保存在第一个分区即macOS上,并将擦除第一个和最后一个分区之间的所有内容(包括最后一个分区),现在最后一个分区是macOS 2。

我想保留最后一个分区,即macOS 2,并删除所有其他分区,所以我想为什么不将最后一个分区包含为第一个分区(我想保留数据)并在最后一个参数中包含第一个分区 - 将被删除。

这是问题发生的地方macOS不允许我改变分区的顺序

所以我坚持从命令行合并分区

我不想使用磁盘实用程序来合并分区,因为上次当我用它来合并分区时,一些空闲空间被创建并且除非执行整个磁盘格式,否则它们不会消失!

另外一件事是macOS是磁盘上的第一个卷,所以不会发生使用分区选项从黄昏实用程序中删除它

Answers:


1

您无法使用板载工具将disk0s4扩展为更低的块数!要“扩展”disk0s4,你必须删除disk0s2,在disk0s1之后直接添加一个与disk0s4相同大小和类型的新分区 gptdd disk0s4到disk0s2,删除disk0s3和disk0s4 gpt 最后用.net扩展disk0s2 diskutil 进入disk0s2和disk0s5之间的未分配空间。

而不是最后两个步骤,你也可以使用 diskutil mergePartitions ... 命令。

所有在Internet恢复模式或安装了macOS的外部驱动器中启动的。


  • 启动到Internet恢复模式或外部启动驱动器(如果您不是超级用户,则必须预先添加 sudogpt ...dd ... 命令。
  • 获取概述并检查磁盘和卷(必要时进行修复):

    diskutil verifyDisk disk0
    diskutil verifyVolume disk0s2
    diskutil verifyVolume disk0s4
    diskutil list
    gpt -r show disk0
    
  • 删除disk0s2:

    diskutil umountDisk disk0
    gpt remove -i 2 disk0
    
  • 添加与disk0s3大小相同的分区

    diskutil umountDisk disk0
    gpt add -i 2 -b 409640 -s 485642672 -t 48465300-0000-11AA-AA11-00306543ECAC disk0
    
  • 将disk0s4复制到disk0s2:

    diskutil umountDisk disk0
    dd if=/dev/disk0s4 of=/dev/disk0s2 bs=4m
    
  • 合并disk0s2-disk0s4并重命名 macOS 2 苹果系统

    diskutil mergePartitions HFS+ "macOS" disk0s2 disk0s4 
    

我将粘贴gpt命令的输出,以便更好地理解这些步骤。我很困惑,我不想在混乱中删除任何东西!
Sayan

请粘贴它 文本 (不是截图)!
klanomath


在我启动进入操作系统的所有合并之后,我正在接受一个组图标和一个空白的用户名和密码对话框,我不知道输入什么!
Sayan

来自macOS 2的旧用户名和密码?!
klanomath

3

由于卷大小相同,因此可以使用“磁盘工具”应用程序“还原” macOS 来自的数量 macOS 2 体积。你基本上会有重复 macOS 2。然后你可以删除 disk0s4 并扩大 disk0s2 恢复自由空间。

可以使用“磁盘工具”应用程序执行所有这些操作。

如果您希望使用命令行,则此处是克隆标记为“macOS 2”的卷的命令。

sudo asr restore --source "/Volumes/macOS 2" --target /Volumes/macOS --erase

注意:上面的命令也克隆 /dev/disk0s5/dev/disk0s3

要删除的命令 /dev/disk0s4 并扩大 /dev/disk0s2 如下。

diskutil mergePartitions FREE "" disk0s2 disk0s4  

注意:上面的命令也会删除 /dev/disk0s5 和重新安置 /dev/disk0s3 低于扩展 /dev/disk0s2

克隆/恢复操作可以在启动时完成 /dev/disk0s5。合并操作可以在启动时完成 /dev/disk0s2


我非常想知道如何在“磁盘工具”本身中执行此操作。除了创建第二个卷的磁盘映像并将其恢复到第一个卷之外,我没有看到任何明显的方法。
Jonathan van Clute

没关系,一旦我在恢复模式下启动,我发现你可以直接从另一个分区恢复到一个分区。很酷!
Jonathan van Clute
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.