AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 48879
In Process
Richard
Richard
Asked: 2009-08-02 10:19:35 +0800 CST2009-08-02 10:19:35 +0800 CST 2009-08-02 10:19:35 +0800 CST

如何将逻辑分区转换为主分区?

  • 772

我的主分区已满,但我删除了一些,现在我想将我的一个逻辑分区设为主分区。我可以使用 gparted 或其他免费工具执行此操作吗?

谢谢

hard-drive partition
  • 6 6 个回答
  • 29103 Views

6 个回答

  • Voted
  1. Adam Brand
    2009-08-02T11:02:30+08:002009-08-02T11:02:30+08:00

    在你做任何事情之前,做一个完整的金属备份,因为这些类型的过程确实出错了。

    “简单按钮”是Acronis Disk Director,售价 24 美元。

    另一种方法是编辑分区表。

    注意:此过程在使用 EFI 的系统(如 Mac)上不起作用(我不认为)。

    为此,请从 linux live CD 启动并运行:

    sudo sfdisk -d /dev/sda > partitions.txt
    

    ...在您可以写入的文件夹中。这将为您提供一个名为的文件partitions.txt,其中包含您的分区表。然后使用您喜欢的文本编辑器编辑该文件,并通过更改数字和顺序将您的逻辑分区放在扩展分区之上。

    例如,如果您的 sda5 是您要设为主要的分区,请将“sda5”更改为“sda1”(或 2/3/4)并将其余数字向下推。要点是您要确保开始、大小和 id 相同。

    然后运行:

    sudo sfdisk --force /dev/sda < partitions.txt
    
    • 6
  2. hlovdal
    2009-08-03T05:52:23+08:002009-08-03T05:52:23+08:00

    一般的

    在一些有限的限制下,可以将逻辑分区转换为主分区。然而,这是一个相当少见的操作,所以我不知道有任何工具可以在一个操作中开箱即用地支持它,尽管您应该能够在 parted、fdisk 或类似程序的帮助下自己完成,尽管可能通过手动重新计算分区的开始/结束。

    几年前我写了一个程序来打印分区表的内容。假设您的磁盘按以下方式分区:

                          Disk /dev/hda (CHS=30401/255/63)
                          WDC WD3200JS-00PDB0
    
                         +------------------------------+
                0 - 1043 |             hda1             |   8189 Mb
                         +------------------------------+
             1044 - 2087 |             hda2             |   8189 Mb
                         +------------------------------+
             2088 - 4699 |             hda3             |  20489 Mb
       + - - - - - - - - +------------------------------+
       .     4700 - 5483 |             hda5             |   6150 Mb
       .                 +------------------------------+
       .     5484 - 5999 |             hda6             |   4048 Mb
       .                 +------------------------------+
       .     6000 - 7044 |             hda7             |   8197 Mb
       .                 +------------------------------+
       .     7045 - 8089 |             hda8             |   8197 Mb
    h d a 4              +------------------------------+
       .            8090 |             hda9             |  40986 Mb
       .           13314 |                              |
       .                 +------------------------------+
       .           13315 |                              |
       .                 |                              |
       .                 |            hda10             | 134027 Mb
       .                 |                              |
       .           30400 |                              |
       + - - - - - - - - +------------------------------+
    

    这里 hda4 是包含逻辑分区的扩展分区。通过缩小 hda4(以覆盖柱面 4700 到 13314 或柱面 5484 到 30400),可以将 hda5 或 hda10 变成主分区。

    现在从严格的理论角度来看,也许可以将主分区放在扩展分区内(而不是缩小扩展分区并且只能在末端更改分区),但是谁知道您会遇到哪些兼容性问题会由此触发。这将被极少数的程序/人(如果有的话/任何人)认为是合理的分区布局。

    在上面的具体例子中,分区表中除了扩展分区之外已经包含了3个主分区,所以没有留下创建主分区的条目;您必须删除 hda1、hda2 或 hda3 之一才能将 hda5 或 hda10 更改为主分区。

    你的问题

    你说你有空闲条目来创建一个新的主分区,所以应该没问题。但是,您没有为要转换的逻辑分区指定任何详细信息,因此如果您不提供更多详细信息,我不能说这是否可能。

    步骤

    1. 在开始弄乱分区表之前保存/打印分区表的副本​​。这可以使用我的printpar程序来完成,或者在使用单位扇区时使用parted(也可以使用“Fdisk -l”,但这只有在分区从精确的圆柱边界开始时才可靠(传统上一直是这种情况,但是越来越少见))。

    2. 确保第 1 点的副本在纸上或您正在修改的磁盘以外的其他存储上可用。

    3. 对于以下所有步骤,请确保分区编辑程序在执行上述操作时不会以任何方式接触文件系统(即,对于 parted,您应该使用“mkpart”而不是“mkpartfs”)。

    4. 删除所有逻辑分区(例如hda5到hda10),然后删除扩展分区(例如hda4)。

    5. 重新创建扩展分区,现在移动开始或结束,以便要更改的分区最终位于扩展分区之外(例如 hda4 覆盖柱面 4700 到 13314 或柱面 5484 到 30400,只是柱面编号不是 100% 可靠的,您应该使用准确的扇区号)。

    6. 重新创建除要更改的逻辑分区之外的所有逻辑分区(例如,从 hda6 到 hda10 或从 hda5 到 hda9),确保它们像以前一样在非常精确的位置开始和结束(这就是为什么要对绝对扇区号进行操作)。

    7. 重新创建应该更改为主分区的分区,也可以在与以前相同的位置开始/结束。在这一步中,能够给出绝对扇区中的位置非常重要,因为与原始逻辑分区相比,新的主分区通常会创建 63 个扇区。

    8. 打印出分区表的新副本并进行比较。唯一的区别应该是新的主分区、扩展分区的开始/结束,以及可能重新编号的逻辑分区。


    对于上面的示例,如果原始 hda3 分区被删除(以提供创建主分区的空闲条目)并将 hda5 转换为主分区(然后变为 hda3),则布局如下:

                         +------------------------------+
                0 - 1043 |             hda1             |   8189 Mb
                         +------------------------------+
             1044 - 2087 |             hda2             |   8189 Mb
                         +------------------------------+
             2088 - 4699 |            unused            |  20489 Mb
                         +------------------------------+
             4700 - 5483 |             hda3             |   6150 Mb
       + - - - - - - - - +------------------------------+
       .     5484 - 5999 |             hda5             |   4048 Mb
       .                 +------------------------------+
       .     6000 - 7044 |             hda6             |   8197 Mb
       .                 +------------------------------+
       .     7045 - 8089 |             hda7             |   8197 Mb
    h d a 4              +------------------------------+
       .            8090 |             hda8             |  40986 Mb
       .           13314 |                              |
       .                 +------------------------------+
       .           13315 |                              |
       .                 |                              |
       .                 |             hda9             | 134027 Mb
       .                 |                              |
       .           30400 |                              |
       + - - - - - - - - +------------------------------+
    

    请注意,与原始情况相比,所有剩余的逻辑分区都重新编号。

    • 5
  3. Rod Smith
    2012-12-05T15:06:58+08:002012-12-05T15:06:58+08:00

    我的FixParts程序是一个可以完成这项工作的开源工具,尽管会根据 MBR 的限制和当前布局施加的限制限制可以转换的内容。(FixParts 是一个单独的分区表编辑器;它不能缩小或移动分区,所以如果您的主分区彼此挤在一起,彼此之间没有空间,那么您唯一可以转换为逻辑分区的分区就是第一个分区.)

    • 5
  4. Richard
    2009-08-02T11:22:58+08:002009-08-02T11:22:58+08:00

    我使用了系统救援 cd TestDisk 并在快速扫描后列出了我的所有分区,我将 L 翻转为 P 然后重写了分区表

    它很脏,但它有效

    • 3
  5. greg
    2009-09-23T09:51:44+08:002009-09-23T09:51:44+08:00

    Paragon Partition Pro 可启动磁盘轻松地将逻辑转换为主磁盘。刚做了。

    • 2
  6. Hendy Irawan
    2011-03-22T00:51:12+08:002011-03-22T00:51:12+08:00

    您可以使用分区向导(有免费版本)并按照本文中的说明进行操作。

    • 0

相关问题

  • 总大小(磁盘)与总大小(媒体)

  • Linux:“发现重复的 PV XXXXYYYYY:用户 /dev/sdb1 而不是 /dev/sda1”

  • Windows C:驱动器大小

  • 了解磁盘队列长度

  • md5sum 重复为同一台机器上的同一文件提供不同的校验和

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve