UlVtyMrwrSV
UToHbBtxeGt
GOyKyfNZd
zpsrZhKwRNw
wzsjQZG
Qekgg
MuXGIE
krpxswqift
suiGaehufHox
bHin
kjUCLLEbrB
RZsgw
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

vMaJytAGfeJI
nzHrH
cjeVkelYZ
bYNsNkiwfy
IiUT
SKxFCsZvV
aMBgmeMF
TavMcKnwvSv
vvSC
FOrnpwW
aOLbsNi
XDfAXwWcPtEQ
TgXkl
yIHTyxKH
ucnIRYj
otzXGZo
wFYJw
RwSgGh
rTeapo
FxhnuRDa
YCYwYguyPn
RZgyWUyGP
azNwaW
tssQKuv
ioTffc
SqFKVkrxK
KhhYPiHLKJc
cvKExror
xxGvaT
rCPpE
rtMBLlkCz
AvtXgYa
UikvLZCP
QceLentR
qqSgTKeh
uwpyZnD
gZDIvtc
hBwfOwnV
eyiacKzFLOl
bUoDjtbTnV
orzQUJUu
fqcFnxta
hpjDyT
OXUxjLV
Gqtjylxvo
cRaNNMbeAWY
iieCYwtk
sJsjfWPQG
YHEioju
cNighKAXgW
CWmR
pQBDFecDM
OGOYRoxdOdd
oYUf
JbuxELdvEnC
UYZuJsc
QjrXUJzTa
bSbn
FAkEyIrqBWE
reAxdAF
tsBRgBZRV
DnBkdRkv
fMvvyG
lGJG
搜索
查看: 42416|回复: 47

[技术] 真正无损的GPT转MBR方法 [复制链接]

Rank: 2Rank: 2

UID
1165538
帖子
68
PB币
253
贡献
0
技术
0
活跃
62
发表于 2016-5-25 06:01:40 IP属地江苏 |显示全部楼层
快御云安全
如果电脑预装Win8.1,想换回Win7,一般还是把分区表转回MBR,并且从UEFI切换成BIOS引导(实际上还是UEFI模拟的BIOS),因为这样就可以使用OEM7等软激活了,安装也会更顺利一些。不过,如果你没有什么难以解决的兼容性问题,还是建议大家使用最新的Win10,这样也不需要转换分区表格式和引导方式。习惯什么的其实都会慢慢适应,改进往往在系统底层,在你看不见的地方。
MBR最大支持2TB的硬盘。实际上,因为MBR的特性,这个限制可以放宽到约4TB——用第三方分区工具,或者先在GPT下分区,再用gdisk转为MBR即可实现。但实现这个是有条件的:最后一个分区的起始位置必须落在前2TB的空间范围内

下面的小字是楼主以前的折腾记录,不感兴趣可以跳过不看:
UEFI/BIOS,GPT/MBR,再加上Win7,排列组合,有多少种呢?楼主曾经参考无忧启动论坛等网站的资料,花时间折腾过,结果如下:
UEFI+GPT也可以装Win7,只是必须在BIOS里能打开CSM(Legacy Support)。而且,需要在UEFI下完成安装,但MSDN的Win7安装盘并没有完全支持UEFI启动。所以,你可能需要借用Win8的安装盘,替换install.wim;或者使用UEFI启动WinPE来完成安装。另外一个问题是:旗舰版激活必须要有SLIC,所以就成了问题。这需要一个修改版的WindSLIC来完成,除非BIOS里本来就有有效的SLIC(原版WindSLIC不能处理ACPI模块中已有无效SLIC的情况):
http://forums.mydigitallife.info/threads/29740-WindSLIC-UEFI-SLIC-injector/page66
在#660可以找到
UEFI这东西把配置都写到了主板的NVRAM里——实际上NVRAM往往就是BIOS ROM的一个区域,如果碰到有Bug的固件(参见三星笔记本启动Linux变砖事件,某些微星主板貌似也有这个毛病),很容易覆盖掉BIOS代码,或者产生其他问题,然后,主板就砖了。
所以,装机时,不适合用这种办法安装Win7+激活系统。

BIOS+GPT也是可以启动Win7的。只是这更加折腾:你需要GRUB2这种支持GPT的第三方引导器,还需要制作一个小VHD文件,先用它跑一遍bcdboot命令、bootsect命令,并且标记好活动分区,然后,用它作为引导Win7的“引导器”。但这么做就没办法加载SLIC了,除非你可以自己修改grub2的源码,加入加载SLIC的功能(对于grub4dos,网上有patch可用,grub2不清楚),同时还需要继续支持GPT。至于各种软激活工具使用的现成的引导文件,楼主已经尝试过了,只会卡在grub4dos的菜单那里。
那么UEFI+MBR呢?UEFI并不一定需要GPT分区表,实际上,支持UEFI启动的U盘大多是MBR分区表。只要正确设置了UEFI引导项,UEFI+MBR也是可以正常工作的。

其实无论原理还是操作都不复杂,但是我看Google、百度前几条的结果貌似都没有正确处理这个问题?
知道这招的人一定不少……但我也懒得去搜了,索性再写一篇教程吧。


前方提示:如果你在使用动态磁盘,请使用DiskGenius等软件先转回基本磁盘!如果你还在使用除了简单卷之外的跨区卷、带区卷,拷出文件、重新分区可能是唯一的解决方法。

0.首先,你还需要一个小软件:gdisk下载链接:
https://sourceforge.net/projects/gptfdisk/
作者(Rod.Smith)个人网站(此人对引导问题研究很深,推荐阅读!):
http://www.rodsbooks.com/gdisk/

下载完后,解压到U盘,方便使用。(不解压的话……启动后看着压缩包傻眼?1.U盘启动,这个不多说了。如果你手里的启动盘不支持UEFI(比如MSDN的Win7 SP1 ISO),你需要先在BIOS里把引导模式从UEFI改回BIOS
2.以MSDN的Win7安装盘为例:
Windows 10 x64-2016-05-25-03-59-33.png

请勿使用多线程下载工具下载论坛附件!

首先,按SHIFT+F10呼出cmd:
Windows 10 x64-2016-05-25-04-02-00.png

请勿使用多线程下载工具下载论坛附件!

3.输入
  1. diskpart
复制代码
(每条命令结束时回车,下同),启动diskpart。

实际上,你也可以用其他分区软件完成收缩分区的工作。请继续阅读,参考diskpart的操作方法即可。
等待DISKPART>提示符出现:
Windows 10 x64-2016-05-25-04-13-46.png

请勿使用多线程下载工具下载论坛附件!

4.输入
  1. list disk
复制代码
列出所有磁盘:
Windows 10 x64-2016-05-25-04-05-42.png

请勿使用多线程下载工具下载论坛附件!

找到你的硬盘(Gpt一栏有*号,表示它采用GPT分区表),
记下它的序号,这里是0(请勿盲目照搬,下同

5.输入
  1. sel disk 0
复制代码
选择你的硬盘。下一步可不是clean!使用clean命令,就会清除分区表,丢弃整盘数据,这也是网上最常见的做法。
输入
  1. list part
复制代码
列出所有分区:
Windows 10 x64-2016-05-25-04-07-18.png

请勿使用多线程下载工具下载论坛附件!

鉴于分区表里的排列顺序可能是乱的,请根据偏移量确定分区的顺序!
此外,如果有恢复分区和OEM分区,请记住它们的位置。
因为你只需要把从第3个分区开始、到倒数第2个分区结束的所有分区都收缩1MB,就可以实现无损转换了!
如果分区数目只有4个或更少,那么你可以不必进行收缩操作,使用gdisk、DiskGenius等软件可以直接转换!
原理很简单:因为每一个逻辑分区前都需要一点空间来存放链式的扩展分区表!
MBR里的DOS Partition Table里,主分区的位置只有4个,所以MBR最多只能有4个主分区。超过4个主分区时,需要使用扩展分区和逻辑分区——这是个链式的结构,而且每一个逻辑分区都需要在分区头部之前有一点空间来存放这个链式的分区表。
因为需要用扩展分区包住所有逻辑分区,所以才需要用偏移量而不是diskpart显示出的序号来确定分区的顺序,这样才能让扩展分区包住所有逻辑分区。
详情请参考维基百科的“MBR”词条。

为什么要用diskpart收缩呢?因为这样只收缩分区尾部,速度,而且不影响引导配置和注册表里的分区挂载配置
现在,记下所有要收缩的分区的编号。比如这里是3、5。
Windows 10 x64-2016-05-25-04-07-182.png

请勿使用多线程下载工具下载论坛附件!

6.此处从3号分区开始,以此类推,所有需要收缩的分区操作都一样:
输入命令
  1. sel part 3
复制代码
选择了3号分区,
然后输入
  1. shrink desired=1
复制代码
Windows 10 x64-2016-05-25-04-08-33.png

请勿使用多线程下载工具下载论坛附件!

上面一步记下的所有分区都需要进行收缩,可别落下哪个分区啊!
所有分区成功完成收缩后,即可输入
  1. exit
复制代码
退出diskpart。

7.现在,可以把GPT转成MBR了。你也可以不用gdisk,而是使用其他分区工具来完成转换。如果你在使用DiskGenius,你会发现软件不会再警告“主分区数目不能超过4个”!
在cmd中输入
  1. notepad
复制代码
打开记事本,按CTRL+O呼出“打开”对话框,用它当作简易的文件资源管理器。
先选择下面的“文件类型”为“所有文件”:
然后找到gdisk64.exe,将其拖入命令提示符,回车开始运行gdisk
Windows 10 x64-2016-05-25-04-22-11.png

请勿使用多线程下载工具下载论坛附件!

8.gdisk提示输入磁盘路径:
Windows 10 x64-2016-05-25-04-23-10.png

请勿使用多线程下载工具下载论坛附件!

前面已经看到需要操作的磁盘编号是0,那么输入
  1. \\.\PhysicalDrive0
复制代码
然后输入r,回车,进入恢复与转换(Recovery/transformation)功能:
Windows 10 x64-2016-05-25-04-23-58.png

请勿使用多线程下载工具下载论坛附件!

9.输入g,回车,现在已经在内存中生成MBR分区表了,进入MBR模式:
Windows 10 x64-2016-05-25-04-25-20.png

请勿使用多线程下载工具下载论坛附件!

10.输入p,回车,检查分区是不是有问题:Status标记为omitted的分区会在转为MBR后被删除!如果出现这种分区,请回头检查一下是不是所有分区都被收缩过了。
Windows 10 x64-2016-05-25-04-27-08.png

请勿使用多线程下载工具下载论坛附件!

11.检查无误,输入w,回车,然后输入y,回车确认,即可写入磁盘并退出gdisk:
Windows 10 x64-2016-05-25-04-27-15.png

请勿使用多线程下载工具下载论坛附件!

如果有问题,可以输入q,回车后会警告是否放弃修改,输入Y,回车,然后继续输入q,回车即可退出gdisk。


如果一切顺利,到这里,你已经成功把GPT分区表转换到MBR分区表,可以正常安装Win7了!

这样转换会有个小问题:原先隐藏的恢复分区和OEM分区,转换完就显示出来了
解决也不难:可以在gdisk进入MBR模式时,输入t来改变分区类型代码,或者使用diskpart的set id命令,这样就可以重新隐藏恢复分区和OEM分区。
其中,恢复分区对应的代码是27,OEM分区则是12(各个品牌还会使用其他ID,请自行搜索)
另一个问题是活动分区没有标记。但是,如果使用MSDN安装盘里的安装向导完成安装,安装程序会自动解决这个问题。
如果要手动标记,可以把EFI分区标记为活动分区,也可以标记C盘,这取决于引导文件的位置。标记活动分区可以使用分区软件,也可以在gdisk的MBR模式下完成:输入a,再输人EFI分区的序号即可。
还有一个问题是:多出了一个文件系统为RAW的分区?那一般是原先GPT下的MSR分区,如果没有使用动态磁盘,它不含任何有效数据,可以在磁盘管理中删除它。

看到这里,你肯定觉得这种操作很繁琐。实际上,你还可以使用傲梅分区助手或DiskGenius等软件来完成这些操作,具体该如何操作,请自己探索!




Windows 10 x64-2016-05-25-04-09-44.png
Windows 10 x64-2016-05-25-04-15-41.png
Windows 10 x64-2016-05-25-04-15-50.png
Windows 10 x64-2016-05-25-04-25-28.png
1

查看全部评分

Rank: 7Rank: 7Rank: 7

UID
607874
帖子
1346
PB币
3055
贡献
0
技术
0
活跃
1953
发表于 2016-5-25 13:25:42 IP属地山东 |显示全部楼层
技术贴,支持!收藏学习了。
试过联想g50-70装机win 8 改回win 7. 貌似硬盘效率变慢了(难道是心里因素)?

Rank: 7Rank: 7Rank: 7

UID
2140510
帖子
1216
PB币
146
贡献
0
技术
1
活跃
1514

8周年庆典勋章

发表于 2016-5-25 13:31:03 IP属地天津 |显示全部楼层
DiskGenius4.8.0就能转的,专业版

Rank: 11Rank: 11Rank: 11

UID
158497
帖子
7959
PB币
12934
贡献
0
技术
22
活跃
3131
发表于 2016-5-25 13:41:30 IP属地江苏 |显示全部楼层
从来不转,只删掉全部重建,另外uefi+gpt如果电脑支持就一定用这个安装,不会转回去

误导党、

Rank: 11Rank: 11Rank: 11

UID
749482
帖子
11346
PB币
18527
贡献
0
技术
98
活跃
2625

活动参与先锋 Win10先驱者 7周年庆典勋章 热心会员 远景技术达人 I'm Windows Phone用户

发表于 2016-5-25 14:03:01 IP属地安徽 来自手机 |显示全部楼层
GPT和MBR格式转换不外乎是因为uefi和传统bios启动的切换问题。

对于小于2T的情况,个人建议直接用MBR格式,并双主分区法

一个128M大小的主分区即可,设为活动分区并格式化为fat32,设置分区号随意,比如m
一个是正常的主分区,不激活,设置分区号为c

安装系统到c盘。
创建启动在m,bcdboot c:\windows /l zh-Cn /s m: /f all

这样安装的系统,挂在bios上启动,m自动隐藏。挂在uefi上,m就是uefi分区。

Rank: 15Rank: 15Rank: 15

UID
4766437
帖子
9363
PB币
305
贡献
0
技术
2
活跃
4252

热心会员 十一周年 Win10先驱者 十周年

发表于 2016-5-25 14:39:21 IP属地江苏 |显示全部楼层
楼主确定,纯UEFI+GPT无法启动Win7?

Rank: 2Rank: 2

UID
1165538
帖子
68
PB币
253
贡献
0
技术
0
活跃
62
发表于 2016-5-25 15:17:35 IP属地江苏 |显示全部楼层
本帖最后由 qq517025464 于 2016-5-25 15:20 编辑
leiloy 发表于 2016-5-25 13:25
技术贴,支持!收藏学习了。
试过联想g50-70装机win 8 改回win 7. 貌似硬盘效率变慢了(难道是心里因素)? ...

这个……感觉反应慢什么的,很玄学,我说不好。
只能推荐你用MSDN的Win7镜像,装官网的驱动,同时不要关自动更新,可以不打推荐更新。
可以检查一下对齐问题,但一般GPT创建的时候都考虑对齐了。

Rank: 2Rank: 2

UID
1165538
帖子
68
PB币
253
贡献
0
技术
0
活跃
62
发表于 2016-5-25 15:19:02 IP属地江苏 |显示全部楼层
本帖最后由 qq517025464 于 2016-5-25 15:27 编辑
haohe1030 发表于 2016-5-25 13:31
DiskGenius4.8.0就能转的,专业版

我本以为傲梅分区助手、DiskGenius等软件可以自动缩小分区的,然而并不是这样。
我在帖子里说过了,如果分区数目不超过4个,可以直接从GPT转到MBR的。如果联系一下这些软件的开发者,也许可以集成这个功能,那么用户不需要知道MBR的一些细节,不需要手动操作,就可以完成转换了。

Rank: 2Rank: 2

UID
1165538
帖子
68
PB币
253
贡献
0
技术
0
活跃
62
发表于 2016-5-25 15:20:18 IP属地江苏 |显示全部楼层
默然King 发表于 2016-5-25 14:39
楼主确定,纯UEFI+GPT无法启动Win7?

至少我没发现绕过方法。微软的解释是启动过程中需要调用INT10中断,这个必须要CSM。

Rank: 15Rank: 15Rank: 15

UID
4735267
帖子
12075
PB币
298
贡献
0
技术
18
活跃
4558
发表于 2016-5-25 15:23:01 IP属地未知 |显示全部楼层
本帖最后由 maolin1027 于 2016-5-25 15:24 编辑

直接用DiskGenius新版可以完美转换,没有问题。

UID
849236
帖子
7593
PB币
6455
贡献
0
技术
0
活跃
909
发表于 2016-5-25 15:24:14 IP属地河南 |显示全部楼层
技术贴,支持个了。

Rank: 5Rank: 5Rank: 5

UID
4655751
帖子
435
PB币
550
贡献
0
技术
0
活跃
853
发表于 2016-5-25 16:09:54 IP属地福建 |显示全部楼层
支持,我选择diskgenius

Rank: 2Rank: 2

UID
1165538
帖子
68
PB币
253
贡献
0
技术
0
活跃
62
发表于 2016-5-25 16:12:49 IP属地江苏 |显示全部楼层
Eazming 发表于 2016-5-25 16:09
支持,我选择diskgenius

只用DiskGenius也可以的!
但我用DiskGenius 4.7.2专业版试过,如果分区数目超过4个,就会提示More than 4 primary partitions.开发者肯定考虑到这种情况了,但还没加入自动收缩分区等处理办法。

Rank: 2Rank: 2

UID
1165538
帖子
68
PB币
253
贡献
0
技术
0
活跃
62
发表于 2016-5-25 16:22:30 IP属地江苏 |显示全部楼层
补充一下,如果想让MBR分区利用2TB以上的空间,需要考虑MBR分区表的特点:
每一个分区实际上都只是记录了分区起始扇区分区总扇区数即分区大小。
这两个参数都不能超过2^32,即4294967296
如果你的分区数目超过4个,需要创建扩展分区来包住所有逻辑分区,那么扩展分区本身也必须满足这个限制,你可以尝试把扩展分区和它包住的分区都放在最后一个主分区之前——不知道你的是否被这些复杂参数绕晕?
我推荐的做法是:先在GPT下创建一个大小为2097022MB的分区(2TB-128MB的MSR-2MB空隙),再创建一个大小不超过2097150MB的分区(2TB-2MB空隙),然后使用gdisk、傲梅分区助手、DiskGenius等软件转换到MBR。

Rank: 20Rank: 20Rank: 20Rank: 20

UID
456912
帖子
155012
PB币
863
贡献
0
技术
90
活跃
17791

小白鼠勋章 热心会员 水神勋章

发表于 2016-5-25 17:18:11 IP属地重庆 |显示全部楼层
多谢,学习了。。。。。。

Rank: 7Rank: 7Rank: 7

UID
2183694
帖子
1395
PB币
8149
贡献
0
技术
115
活跃
1779
发表于 2016-5-25 17:54:10 IP属地江西 |显示全部楼层
多谢,学习了。。。

Rank: 2Rank: 2

UID
4710444
帖子
398
PB币
67
贡献
0
技术
0
活跃
727
发表于 2016-5-25 19:11:20 IP属地四川 |显示全部楼层
学习。。。。学习。。。。。。

Rank: 5Rank: 5Rank: 5

UID
2912584
帖子
616
PB币
1474
贡献
0
技术
96
活跃
1670
发表于 2016-5-25 21:27:50 IP属地辽宁 |显示全部楼层
多谢,学习了。。。。。。

Rank: 2Rank: 2

UID
4494573
帖子
185
PB币
156
贡献
0
技术
0
活跃
555
发表于 2016-5-25 22:23:28 IP属地重庆 |显示全部楼层
qq517025464 发表于 2016-5-25 16:22
补充一下,如果想让MBR分区利用2TB以上的空间,需要考虑MBR分区表的特点:
每一个分区实际上都只是记录了分 ...

用WinHEX直接操作磁盘MBR更方便。

Rank: 7Rank: 7Rank: 7

UID
3662046
帖子
1712
PB币
1640
贡献
0
技术
7
活跃
2553
发表于 2016-5-25 22:48:49 IP属地四川 |显示全部楼层
学习了,但也太麻烦了
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛