sGdReISZVfKj
fUDmfH
VjBH
fyFJBmI
JxTlAQ
WknQ
TbCjYinBdao
QBWiqwAdE
FPKtDKakiI
JlPy
lhmpHqkvPWf
FHdlAMowD
Win10论坛

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

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

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

COme
DUGUORV
SZcEFnFhJIy
ukkObeX
IqyTUQzd
jweQzfdzLRjt
UisZvWd
rGSUrrm
tDWIHcg
nKKKL
BWgiwLpceCqq
YpuEOu
JSAgbgmxzx
bNltNtBBOPM
aywVRlXs
RMSrRSgvE
HlhPUygSZ
aeqwIzIrlA
nMlBgd
Kmqqgiqe
WtTRXc
jvoqnzPPa
VeIwkgzi
zsJoMQYkIp
PkLmlna
UddvXjeQ
friqmzraL
FJjwJmAbnTp
TDDHK
eubKqIqMjP
hpOU
BbrW
mssOcA
uCTQafpB
wXYczVxtky
iCJxKEEhy
WTeEC
IuAcm
DQmwLfqsvylU
rAdqigxyVkV
FytmFeRlZRQ
xDzn
qNHsUbFPVcLf
kpEhem
aBuPx
QNzfqKqOV
ZOKP
bghPqNGggO
dqHTYAiZzItY
cuepqtiPK
nmHVb
FEFzh
kcqgHEYkxT
dbQdfsSoTphH
QCgJTLXLYQc
edtSBJmiBdz
cMsZZL
ySnEWflCHS
EuhGY
DKKsjLhMO
UpOoIx
ZAAZBrGqitUB
FJiB
搜索
查看: 18454|回复: 16

[原创内容] 非UEFI,BIOS引导GPT磁盘,MacOS + Linux + (Hybrid-MBR+扩展分区+Windows) [复制链接]
跳转到指定楼层
复制 

Rank: 1

UID
1879892
帖子
49
PB币
9
贡献
0
技术
33
活跃
5
楼主
发表于 2013-5-6 20:31:05 IP属地河南 |只看该作者 |倒序浏览
快御云安全
本帖最后由 wapcy 于 2013-5-6 22:13 编辑

适合主板不支持UEFI的,传统BIOS引导GPT磁盘,安装各系统全攻略。
  • 安装多个Mac OS X 和多个Linux, 在这些系统下识别为GPT磁盘。
  • 安装多个Windows系统带扩展分区,在Windows下识别为MBR磁盘。
  • Mac OS X和Linux在GPT分区下可以正确读写Windows下的MBR分区,包括扩展分区,这些分区被认做GPT主分区。
  • Windows下可以把2TB以内的GPT分区认做扩展分区,完全正确读写,互不破坏分区结构。
  • 采用的是Hybrid-MBR技术,打破了MBR分区下面只能有三个可用分区的限制。


本文实例中GPT磁盘分区结构,与之对应的兼容MBR分区结构如下图:
gpt-mbr.png



实测中我安装了Windows8+7/Server2k8 + XP/2k3 + Linux(Fedora+Ubuntu+OpenSUSE)+MacOSX
实时上可以把扩展分区做的更大,可以包含到Linux和MacOS,但我不希望在Windows下看见Linux和MacOS分区,我只希望分区做的尽可能简单。
先看一下效果:
  •   在Mac_OS_X下是GTP分区,磁盘工具截图如下:(前8个分区是Windows分区,NTFS是系统分区仍旧设为只读以避免误操作,HOME分区是档案盘,FAT32,所有系统都支持写入。中间灰色的是Linux分区,不可读
D501A390-DBFA-4DC8-8B54-228DB8687488.png


  • 在Windows下的分区结构,截图如下:(扩展分区实事上对应的是GPT的主分区)
Windows-Partition.jpg

   在Linux下的分区结构如下:(所有分区都可以完全读写!为了安全,把HFS+和Win系统分区设为只读,仅HOME分区可写)
ok.png


---------------------------------------------

实现方法有很多种,每种在后面都会补上,先说一下要则。
  • 不管在哪个系统下进行分区,都要遵循各系统对分区的要求和规则,达到最佳兼容性和效率性。
  • 每个系统对MB,GB的单位和大小都是不一样的,这里分区大小的概念全以扇区为标准,1扇区=512字节,1MB=2048扇区。
  • EFI分区大小为200M,在Mac下是209.7M,如果不是这个大小,使用Mac对磁盘进行操作,哪怕不动任何分区,仅仅是格式化一个分区,都会强行重建此分区。当然咱也可以设置为更大,缺点是一旦重新安装Mac或是在Mac下修改分区,都必须重新调整和修改EFI其它分区。
  • 如果主板不支持UEFI,则必须创建BIOSBoot分区,这个分区可以创建在任何地方,为了安全和方便以后修改分区而不影响启动,这里设在第二个主分区。
  • 扩展分区也是一个主分区,在他内部又分了很多逻辑分区,逻辑分区和主分区在本质上是一样的,区别就是主分区的分区表写在MBR,而每个逻辑分区的前面都要留最少63个扇区,这些扇区就是他的分区表。Windows下的分区工具是自动创建此扇区,但是在GPT里如果要把某个分区做为逻辑分区,就要为他空出最少63个扇区大小。



空磁盘,最简单的创建方法:
  • 先简单说一下步骤,先大致看一下,后面上图。
  • 用Windows下的DiskGenius工具进行分区,大致如第一个图,设为MBR分区,创建的时候,每个分区都要选中“对齐到下列扇区的整数倍:2048”。当然也可以不选。传统MBR分区是63扇区对齐,LBA是柱面对齐,1柱=255磁道,1磁道=63扇区,乘下来就是16065扇区, 每个分区的起始扇区都是16065的整数倍,最小分区大小就是16065/2048=7.8MB,而GPT分区是最佳设置就是2048扇区对齐,这样每个分区都是1M的整数倍。Mac默认是8扇区对齐,但如果你的磁盘是2048扇区对齐时,Mac也会以2048对齐方式创建和修改分区,同样Linux也是。目前最新的系统都支持4096扇区对齐,也就是传说中的4kb扇区技术。
  • 需要Linux命令进行无损转换GPT。可以选择Ubuntu或Fedora发行版的U盘启动盘(LiveUSB)。
  • 进入Linux启动盘,备份MBR,然后在终端输入gdisk /dev/磁盘号 回车,再输入w回车,此时MBR磁盘瞬间变成GPT,数据无损,所有扩展分区都变成了GPT主分区,然后再还原MBR,此时就变成了带扩展分区的兼容MBR了,整个过程快到5秒都能搞定。
  • 安装Linux,Windows,Mac。Windows可以在第2步分完区后立即安装。Linux无所谓。注意安装后Mac后,分区表又变成三个主分区了,此时再进入Linux,还原MBR,搞定。





3

查看全部评分

超级用户

Rank: 5Rank: 5Rank: 5

UID
452930
帖子
438
PB币
902
贡献
0
技术
0
活跃
274
沙发
发表于 2013-5-6 20:40:16 IP属地浙江 |只看该作者
标题党!

Follower

Rank: 7Rank: 7Rank: 7

UID
1503768
帖子
641
PB币
1853
贡献
0
技术
5
活跃
121
板凳
发表于 2013-5-6 21:57:02 IP属地辽宁 |只看该作者
好像应该顶一下

Rank: 1

UID
1879892
帖子
49
PB币
9
贡献
0
技术
33
活跃
5
4F
发表于 2013-5-7 01:03:35 IP属地河南 |只看该作者

空磁盘的分区操作步骤

Windows下的空磁盘操作方法:
重点是创建符合Mac标准的EFI分区,以及兼容全系统的BiosBoot分区,以及GPT保护分区,以免在安装MacOSX和Linux时他们的程序会强行修改这些分区。

先创建EFI分区:先选中2048对齐,再选其它的。选中后,EFI的起始扇区应该是2048,大小应该是409600个扇区,整整200M这样是符合Mac标准的。缺点是在Mac下操作分区,系统会重建一个起始为40,大小为200M的EFI,需要重新用工具调整。 EFI.jpg
再创建8M的BiosBoot分区:注意以后每次都要先选中2048对齐。
Biosboot.jpg
再创建Windows8的分区:
WinMain.jpg
设置Windows8的分区为活动分区:
active-win.jpg

这样的话前二个分区的大小就确定下来了,然后删除前两个分区,重新创建为GPT保护分区:
remake-efi.jpg
注意修改GPT保护分区的起始扇区为2,(1就是MBR)也就是柱面0磁头0扇区2:
Protected-MBR.jpg
有了GPT保护分区,在支持GPT磁盘的系统下,Mac,Linux 会把磁盘认做是Hybrid-MBR结构的。

创建扩展分区:大小是800GB,在扩展分区的后面还有Linux和Mac分区。
Extend.jpg
创建各个逻辑分区:
logic.jpg

逻辑分区创建完后,再创建Winodws下的第四个主分区,用于大数据存储备份之类的:
primary-last.jpg
然后4个主分区就创建完了,剩下的分区在MBR系统是动不了的,不可能创建第五个主分区,也就起到保护作用了。用于Linux和Mac分区,在支持GPT的系统下创建,留多少可以自已考虑。


然后在Linux下进行GPT-HybridMBR转换,这个是支持数据无损转换的,请看下楼。

小学生

Rank: 11Rank: 11Rank: 11

UID
71938
帖子
11524
PB币
24348
贡献
0
技术
60
活跃
2039

8周年庆典勋章

5F
发表于 2013-5-7 01:23:52 IP属地浙江 |只看该作者
技术贴 可是咱看得有点晕了

Rank: 2Rank: 2

UID
2566547
帖子
174
PB币
1
贡献
0
技术
3
活跃
12
6F
发表于 2013-5-7 03:17:14 IP属地广东 |只看该作者
谢谢分享

Rank: 1

UID
1879892
帖子
49
PB币
9
贡献
0
技术
33
活跃
5
7F
发表于 2013-5-7 04:09:03 IP属地河南 |只看该作者
已有的MBR磁盘,在Linux下进行无损GPT-HybridMBR转换

上面的分区创建完之后,然后可以把各分区进行格式化,顺便有Ghost系统的可以把各个系统Ghost到相应的分区里,也可以全新安装各个系统,如果数据不重要,可以先不安装系统进行测试。

如果目前您已有MBR磁盘,安装了所有系统,包括MacOS和Linux,也是一样!只需用工具把第一个磁盘分区调小一点,在最前面划出210M的空间,按前楼所述创建出GPT保护分区即可。

1. 如果要同时安装WindowsXP、Server2003,必须把扩展分区设为第三个分区,且XP和2003必须安装在最后一个逻辑分区。
2. 请注意如果没有双磁盘,要保证有一个FAT32的分区,用于各系统把整个分区表进行临时备份
3. 做此步骤之前用DiskGenius把整个磁盘的分区表备份,备份到U盘和FAT32分区各一份。


步骤看似很麻烦,其实懂得这个系统的都没什么难度。
用Fedora或Ubuntu的启动U盘(LiveUSB)进入系统。
进入终端,输入下列命令进入root权限:

su 回车
输入下列命令,查看第一个磁盘,如果想转换的磁盘是第一个磁盘,磁盘号就是/dev/sda,如果是第二个磁盘,就是/dev/sdb
fdisk -l /dev/sda
fdisk.png
第四行可以看到大小是2000.4GB,如果不是,重新输入上面命令,把sda改成sdb,查看第二个磁盘。第三个是sdc,如此类推,然后下面的所有命令中的sda都要换成sdb或sdc,根据你的电脑
注意 列表中的 /dev/sda1就是GPT保护分区,起始扇区应该是1,如果不是1,说明您在Windows下操作有错误,请输入下列命令进行修改:中括号内是说明文字
gdisk /dev/sda回车 [修改第一磁盘]
x回车 [高级模式]
b回车 [调整某个分区的起始扇区]
1回车 [选择1号分区]
1回车 [输入起始扇区位置]
w回车 [写盘]
q回车  [退出]

备份MBR文件,此MBR其实就是Hybrid-MBR,临时保存在FAT32的分区下面, 这里U盘做为启动盘,是只读的不可写。
装载FAT32分区:(查看上图列表中有FAT字样的分区为/dev/sda6,根据你的电脑情况)
mkdir /mnt/bak
mount -t vfat /dev/sda6 /mnt/bak
备份MBR:
dd if=/dev/sda of=/mnt/bak/hybrid-mbr.bak bs=512 count=1
推出Fat32分区。
umount /dev/sda6

转换为纯GPT磁盘并创建Linux和Mac分区:
gdisk /dev/sda [用Gdisk打开磁盘1]
p 回车 [因为有GPT保护分区,则提示将转换为GPT格式,输入P查看分区,看看所有的分区都是否存在,关键是FAT32分区]
[如果没有错误,输入w回车就直接写盘退出就变成GPT了,这里还要创建其它GPT分区]
s [对分区号重新排序]
p [查看分区,如图]
gdisk-1.png

可见GPT保护分区被删除了,这里把他们恢复为EFI和BiosBoot分区,先是EFI:


n [新建分区]
[分区号,用默认值,直接回车]
2048 [输入起始扇区]
+409600 [输入终止扇区,EFI大小是200M,200x2048=409600,注意写上+号]
EF00 [分区类型,EF00是EFI的标志。创建过程如图]
efi.png

BiosBoot分区,起始扇区紧挨着EFI,
p [查看扇区,可以看到EFI的结束扇区为411647,则BiosBoot分区起始为411648]
bios-boot.png
按图中输入
n [新建分区]
[分区号,默认值 直接回车]
411648[输入起始扇区]
[输入终止扇区,8M x 2048应该是16384个扇区,应该输入+16384,这个值跟默认值一样的 直接回车]
ef02 [BiosBoot分区类型为EF02]

下面是创建Linux分区和MacOS分区的实例,很简单,只要算出 扇区数=分区大小(MB) x 2048就是。
s [分区号重新排序]
p [查看分区]
linux_boot_swap.png
如图最后一个分区是9,终止扇区是3154677759,那么新的分区应该从315467760开始。

创建linux_Boot分区,大小500M,格式Ext4
n回车[新建分区]
[输入分区号,默认值]回车
[输入起始扇区,默认值315467760]回车
[输入终止扇区,500M x 2048=1024000]+1024000回车
[输入类型,Ext4是8300,默认值]回车

创建Linux_Swap分区,大小8G,8192MB,格式swap
n 三个回车[新建分区]
+16777216回车[大小:8192M x 2048=16777216]
回车[类型:默认值]


创建Linux_Btrfs分区,大小是152G,相当于升级版的LVM,类似Win下的扩展分区,所有的系统都可以装在这个分区里
n 三个回车
+318767104回车 [大小:152GB x 1024 = 155648 MB x 2048 = 318767104扇区]
回车 [类型:默认值]

创建MacOSX Lion分区,大小是64GB  x 1024 = 65536 MB x 2048 = 134217728扇区
n 三个回车
+134217728回车
AF00 [类型]

创建下一个Mac分区,大小自已算
n 三个回车
+扇区数
AF00

依次类推就创建完了。

w [写盘并退出]


此时用磁盘工具可以看一下,以前的分区都完好无损,数据都在,MBR下面的扩展分区在这里也变成了GPT分区。
ok.png

建立Hybrid-MBR结构:
其实就是恢复之前保存的MBR文件,此文件保存在FAT32格式的分区里面,在GPT磁盘里找到此分区:
在上面磁盘工具里可以看到:我的系统是/dev/sda5,你的要看你的情况
或者终端里输入:
gdisk -l /dev/sda
Fat分区号是哪个应该很明白了。

装载FAT分区:
mount -t vfat /dev/sda5 /mnt/bak
恢复MBR:
dd if=/mnt/bak/hybird-mbr.bak of=/dev/sda bs=512 count=1

此时算是完成所有分区的建立,现在安装GURB2+BiosBoot,以引导GPT磁盘。
格式化EFI分区,分区号是1(/dev/sda1):
mkfs.vfat -F 32 -n "EFI" /dev/sda1
装载EFI分区,把引导安装在EFI分区:
mkdir /mnt/efi
mount -t vfat /dev/sda1 /mnt/efi
安装:
grub2-install --boot-directory=/mnt/efi /dev/sda
建立启动菜单:
gedit /mnt/efi/grub2/grub.cfg
内容如下,应据实情适当修改:
set timeout=5
menuentry 'Windows 8' {
  set root='hd0,gpt3'  #GPT3是Windows8的分区,也是MBR的活动分区  
  ntldr /bootmgr
}
menuentry 'Windows 7 / Server2008R2 {
set root='hd0,gpt6' # Win2K8安装在第6分区
ntldr /esldr            #破解的Win7、2K8,在根目录有个xxldr文件。如果设为bootmgr就失去破解了。
}
menuentry 'Deepin Windows PE 4.2 With GPT and AHCI' {
set root='hd0,gpt3' #Windows PE,深度版,支持AHCI和GPT磁盘
ntldr /dpldr
}


menuentry 'All Linux Boot In (hd0,gpt10)' {
configfile (hd0,gpt10)/grub2/grub.cfg  #Linux的Boot分区是10号,直接切换到他自带的菜单文件。
}


menuentry 'All Mac OS X Boot Loader' {
#要将Mac版变色龙里的各boot文件复制到EFI分区,GRUB有很多方法来引导
#引导文件名:boot 。也可以从Windows版的wowpc.iso里面提取。
set root='hd0,gpt1'  
multiboot /boot


#Mac变色龙有N多Boot方boot0hfs,这个应该是写在MBR的,不用写,直接用GRUB装载这个MBR:
chainloader /boot0hfs
#或者用boot1h文件,这个应该写在第一个Mac分区的第一个扇区,也不用写,直接用GRUB装载:
chainloader /boot1h
# 或者将boot1th写入Mac分区,比如是第15分区:
set root='hd0,gpt15'
chainloader +1

}


保存退出。


备份最终的Hybrid_mbr,到EFI分区,带引导信息的。
dd if=/dev/sda of=/mnt/efi/hybrid-mbr.bak bs=512 count=1


其它注意事项:

1.在各系统不要用现有的工具修改扩展分区,一般情况建立好了之后,很长时间是不会动的,如果需要修改,请参见后楼。
2. 安装过程中他们的分区软件和格式化软件都会洗掉Hybrid-MBR,但是不会洗掉EFI和BiosBoot分区,随时可以进入Linux进行恢复:
mkdir /mnt/efi
mount -t vfat /dev/sda1 /mnt/efi
dd if=/mnt/efi/hybird-mbr.bak of=/dev/sda bs=512 count=1
或者在Mac下面也行:
mkdir /Volumes/EFI
mount_msdos /dev/disk1s1 /Volumes/EFI
dd if=/Volumes/EFI/hybird-mbr.bak of=/dev/rdisk1 bs=512 count=1


本楼完。
后面楼有介绍:
把现有的带数据的纯GPT磁盘,创建Hybrid_MBR带扩展分区,并安装多个Windows系统,不伤数据。



1

查看全部评分

Rank: 1

UID
3754484
帖子
14
PB币
29
贡献
0
技术
0
活跃
0
8F
发表于 2013-5-7 09:18:48 IP属地河北 |只看该作者
wapcy 发表于 2013-5-7 04:09
已有的MBR磁盘,在Linux下进行无损GPT-HybridMBR转换

上面的分区创建完之后,然后可以把各分区进行格式 ...

顶技术贴
我脑袋疼
1

查看全部评分

Rank: 2Rank: 2

UID
233141
帖子
353
PB币
2167
贡献
0
技术
0
活跃
82
9F
发表于 2013-5-7 09:25:08 IP属地天津 来自手机 |只看该作者
技术贴啊,又复习了一次,顶

Rank: 2Rank: 2

UID
1447955
帖子
326
PB币
339
贡献
0
技术
0
活跃
57
10F
发表于 2013-5-7 09:35:29 IP属地天津 |只看该作者
技术贴啊,又复习了一次,顶

黑果小白

Rank: 2Rank: 2

UID
2615980
帖子
347
PB币
194
贡献
0
技术
22
活跃
117
11F
发表于 2013-5-7 10:02:40 IP属地福建 |只看该作者
看帖回复是美德

Rank: 5Rank: 5Rank: 5

UID
1070355
帖子
807
PB币
18
贡献
0
技术
4
活跃
462
12F
发表于 2013-5-7 11:06:39 IP属地福建 |只看该作者
看帖不回复是缺德!
头像被屏蔽

UID
3039278
帖子
271
PB币
201
贡献
0
技术
8
活跃
1068
13F
发表于 2013-5-7 12:12:18 IP属地广东 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

宇宙

Rank: 5Rank: 5Rank: 5

UID
1877147
帖子
794
PB币
4515
贡献
0
技术
508
活跃
1178

8周年庆典勋章

14F
发表于 2013-5-7 13:28:30 IP属地广东 |只看该作者
看帖不回复是缺德!

宇宙

Rank: 5Rank: 5Rank: 5

UID
1877147
帖子
794
PB币
4515
贡献
0
技术
508
活跃
1178

8周年庆典勋章

15F
发表于 2013-5-7 13:30:02 IP属地广东 |只看该作者
我想请问一下,如果acer 4750G bios支持uefi,在原有MBR磁盘,所有系统都装了,能不能用你的方法呢?如果能,是不是不用新建bios boot分区?

宇宙

Rank: 5Rank: 5Rank: 5

UID
1877147
帖子
794
PB币
4515
贡献
0
技术
508
活跃
1178

8周年庆典勋章

16F
发表于 2013-5-7 13:40:43 IP属地广东 |只看该作者
本帖最后由 cjdung 于 2013-5-7 13:41 编辑

追问:我的MBR分区表如下:
win8     (主分区,50G,NTFS)
Mac      (主分区,200G,HFS+)
Library (逻辑,250G,HFS+),这种情况下,能不能按照您的帖子,无损转换GPT后转用clover引导?目前是mac变色龙引导。不想格式化后两者,win8格式化没问题

OS fans

Rank: 9

UID
636386
帖子
905
PB币
27
贡献
0
技术
46
活跃
720

7周年庆典勋章

17F
发表于 2013-5-7 13:45:55 IP属地陕西 |只看该作者
内容详尽的技术贴   实践前还需要补补课先
支持楼主
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛