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
    • 最新
    • 标签
主页 / computer / 问题 / 1677802
Accepted
mohamed_ashraf51
mohamed_ashraf51
Asked: 2021-09-24 06:39:34 +0800 CST2021-09-24 06:39:34 +0800 CST 2021-09-24 06:39:34 +0800 CST

从 MBR 转换为 GPT 而不会丢失数据且无需 WINDOWS

  • 772

所以我试图从可启动的 USB 安装 Windows 10,不幸的是没有阅读错误我删除了 C 分区,我得到了那个错误

Windows 无法安装在此磁盘上 所选磁盘具有 MBR 分区表,在 EFI 系统上,windows 只能安装在 GPT 磁盘上`

我已经搜索了两天,并尝试了以下解决方案:

  1. 将 USB 刻录为 GPT 或 MBR
  2. 在 USB 上使用 gparted Live(必须删除数据)
  3. 将传统模式更改为 UEFI 模式并禁用安全启动

任何其他解决方案要么需要第三方(我无法运行,因为我没有 Windows),要么使用该clean命令删除整个硬盘。

那么有什么方法可以做到这一点而不会丢失其他分区或访问它们并备份它们(不取出硬盘驱动器)?

这个答案也有效吗? 在 Windows 安装期间将 MBR 转换为 GPT 而无需擦除磁盘 ,因为在进入[w]转换后它说Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!!在我看来这会擦除所有内容

windows-10 hard-drive
  • 3 3 个回答
  • 2558 Views

3 个回答

  • Voted
  1. Best Answer
    user1686
    2021-09-24T07:24:54+08:002021-09-24T07:24:54+08:00

    在任何 Linux 系统(包括 Gparted Live)中,打开一个终端并gdisk在代表您的磁盘的设备上运行。例如,如果lsblk -S说它是 /dev/sda,则使用gdisk /dev/sda.

    gdisk 是一种常用的分区工具,类似于 parted/GParted 和 Linux fdisk。唯一的区别是它总是写出 GPT 分区表——当它在 MBR 分区磁盘上运行时,它会读取现有的 MBR 分区,但总是以 GPT 格式写入表。

    在 gdisk 中,不要做任何其他事情(不要尝试创建或删除分区),直接使用w命令保存更改即可。(您不需要创建 EF00 分区;无论如何,Windows 安装程序都会这样做。)

    虽然如果你愿意,你可以使用p查看实际的分区表并记下每个分区的开始+长度(以扇区为单位)——如果一个分区被删除但随后在完全相同的位置重新创建,它仍然会包含与以前相同的数据(除非分区工具故意将其清除,而 gdisk 通常不会这样做)。

    确认写入后,旧的 MBR 分区表将被移除,并创建包含相同分区的 GPT 分区表。

    (是的,我意识到这与链接的帖子中的大部分内容相同。)

    • 1
  2. phuclv
    2021-09-27T08:06:25+08:002021-09-27T08:06:25+08:00

    因为我没有 Windows

    但是您已经在运行 Windows。讯息

    “Windows 无法安装在此磁盘上 所选磁盘具有 MBR 分区表,在 EFI 系统上,Windows 只能安装在 GPT 磁盘上”

    是在Windows PE上运行的 Windows 安装程序的输出。它不是成熟的 Windows,但仍然是具有几乎相同功能的相同 Windows 内核

    Windows PE 可以运行正常的 Windows exe 文件,更重要的是包含用于无损转换的MBR2GPT.EXE 。因此,在启动安装盘后,只需按Shift+F10,命令提示符就会打开,让您做任何您想做的事情。现在只需运行mbr2gpt进行转换,例如下面将磁盘 0 转换为 GPT

    MBR2GPT.EXE /convert /disk:0 /allowfullos
    

    只要您的磁盘满足要求,它就会将磁盘从 MBR 转换为 GPT而不会丢失数据

    Windows 安装程序中的命令提示符

    另请参阅将 MBR 转换为 GPT - 没有任何操作系统

    如果转换失败,请参阅无法从 MBR 转换为 GPT以了解其他解决方案

    有关 Windows PE 的详细信息,请参阅为什么将 WinPE 称为操作系统?

    • 1
  3. r2d3
    2021-09-24T12:55:12+08:002021-09-24T12:55:12+08:00

    首先,我建议在问题上更精确。“来自可启动的 USB”是指什么?CD-Rom、DVD-Rom、U 盘还是硬盘?

    “将传统模式更改为 EUFI 模式并禁用安全启动”我不知道“EUFI”是什么意思。我只能猜测这是一个错误。你应该多注意一点。

    ==================================================== =======

    关于你的问题,我的回答是:

    检查 MBR 到 GPT 转换的风险:

    当转换不需要移动或缩小分区时,从 MBR 到 GPT 的转换可以被认为是低风险的。

    由于 GPT 结构位于明确定义的位置,因此需要移动或缩小分区。

    查看 https://en.wikipedia.org/wiki/GUID_Partition_Table中的图像

    GPT 结构需要磁盘的前 34 个扇区(从扇区 0 到 33)和后 33 个扇区(因为没有驻留在扇区 0 中的保护 MBR 的备份)。

    如果您的分区不触及该区域,则 GPT 结构可以写为它只是一个定义的指针列表,该指针位于磁盘的开头和结尾,指向磁盘内部分区的开头。

    如果您的分区从磁盘开头的所谓 GPT 区域开始,则必须将其向前移动到磁盘末尾的方向(朝向更高的 LBA 编号)。这种移动操作是有风险的。想象一下,如果您在这样做时松开电源会发生什么。

    如果移动使分区接触到磁盘的最后 33 个扇区,则必须通过向后移动一个或几个分区(在扇区号 0 的方向)来创建磁盘空闲空间,假设分区之间仍有空闲空间,或者至少要缩小一个分区。如果要收缩的分区不是磁盘上的最后一个分区,则也需要移动。这个过程也可以被认为是有风险的。

    如果里面的分区不接触前 34 个扇区,您仍然需要查看分区是否接触最后 33 个扇区。这将需要移动和/或收缩以释放最后 33 个扇区。

    即使在低风险环境中,也值得偏执并记录当前的分区结构。我会推荐Testdisk。在进行驱动器分析时,您可以将驱动器的分区结构备份到标有“backup.log”的文件中,您可以使用文本编辑器阅读该文件。

    检查磁盘开头的可用空间

    有了这些信息,您就可以确定该操作是否有风险。查看“backup.log”时,可以直接看到开始时可用空间的可用性。

    检查磁盘末尾的可用空间

    要检查磁盘末尾的必要空闲区域,您可以查看应该打印扇区数的磁盘外壳,或者使用像 hdparm 这样的 linux 工具。

    这是一个链接的示例,重要的是图片上的 LBA48 数字:

    https://www.geeksforgeeks.org/hdparm-command-in-linux-with-examples/

    计算最后一个分区使用的最后一个扇区,检查是否还有 33 个空闲扇区。

    结论

    如果磁盘开头或磁盘末尾的 GPT 区域被占用,则最好重新安装新磁盘,而不是尝试进行有风险的转换。

    以上都适用于硬盘接口外侧512字节的扇区大小。这可以是真正的 512 字节扇区或 512 字节模拟(通常是内部 4096 字节)。如果所讨论的硬盘的外部扇区大小为 4096 字节(4096 字节的内部扇区以 1:1 的比例通过),则扇区编号会发生变化。

    • 0

相关问题

  • VMware Workstation USB 仲裁服务无法自动启动

  • 如何在域和 Linux 活动目录中启用指纹传感器

  • 资源管理器侧面板中的桌面外壳快捷方式

  • 为什么我不能将文件从 Android 发送到 Windows 10?

  • 在多个文件上打开方式?

Sidebar

Stats

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

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve