主分区和逻辑分区的区别?
Tofloor
poster avatar
pupupu
deepin
2019-06-18 04:54
Author
本帖最后由 pupupu 于 2019-6-17 21:00 编辑

重装deepin时,分区步骤默认的分区类型是逻辑分区,我记得以前安装时默认分区类型是主分区啊?主分区和逻辑分区有什么区别?
Reply Favorite View the author
All Replies
avatar
Feng Yu
deepin
2019-06-18 05:13
#1
本帖最后由 abcfy2 于 2019-6-17 21:23 编辑

主分区可以标记为启动分区(至多一个),引导系统启动。也就是你的内核(/boot)必须放在主分区上。主分区最多有4个,扩展分区最多有1个。主分区+扩展分区的数量不能超过4。也就是分区方案最多4个主分区,或1/2/3个主分区+1个扩展分区。主分区在Linux下的分区编号会使用1-4,比如/dev/sda1, /dev/sda2,...
扩展分区不能直接使用,必须在扩展分区上划分逻辑分区才能使用。逻辑分区理论支持无限多个,实际会受到操作系统的限制。除了不能引导系统外,逻辑分区的使用体验上和主分区是没有任何区别的。逻辑分区在Linux下分区编号直接从5开始,也就是说从5开始之后的分区编号一定是逻辑分区。比如/dev/sda5, /dev/sda6,...,

当然主分区逻辑分区的概念只存在于BIOS+MBR模式,对于UEFI+GPT模式无此概念。如果是UEFI+GPT模式,只要把efi文件(/boot/efi/)分区放在ESP即可


Reply View the author
avatar
lbygljq
deepin
2019-06-18 05:20
#2
你如果对硬盘重建分区表(MSDOS)后,再创建分区,会默认主分区的,但如果你在扩展分区上创建分区,就只能是逻辑分区了。MSDOS模式的下最多只能创建4个主分区,或者3个主分区加一个扩展分区,在扩展分区上又可以创建若干逻辑分区。
Reply View the author
avatar
funtoo
deepin
2019-06-18 06:46
#3
https://bbs.deepin.org/post/179424
主分区可以标记为启动分区(至多一个),引导系统启动。也就是你的内核(/boot)必须放在主分区上。主分区最多 ...

/boot早就不需要放在主分区也能引导了,Windows从vista开始,也支持从逻辑分区引导。
Reply View the author
avatar
Feng Yu
deepin
2019-06-18 06:48
#4
https://bbs.deepin.org/post/179424
/boot早就不需要放在主分区也能引导了,Windows从vista开始,也支持从逻辑分区引导。 ...

不行啊,前两天重装win10的时候才试过,不但bootloader必须放在主分区,还必须标记为引导标记。

用安装器安装的Linux会自动把/boot所在的分区标记可引导。

如果你是UEFI+GPT,那么没有主分区和扩展分区的概念,那个可引导标记也没什卵用。
Reply View the author
avatar
funtoo
deepin
2019-06-18 07:07
#5
https://bbs.deepin.org/post/179424
不行啊,前两天重装win10的时候才试过,不但bootloader必须放在主分区,还必须标记为引导标记。

用安装 ...


我好像说得不太精确,严格来说,Windows Vista开始只是支持将系统安装在逻辑分区上,要能顺利引导,引导所需的文件需要在主分区。所以从Windows Vista开始如果在未分区的新MBR硬盘建立分区的话,会自动分一个100M-300M的系统保留分区,用于存放引导所需的文件。现在还是不是这样就不清楚了,很多年没再用过Windows。
Linux我记得就确实没这方面限制了,安装到MBR的grub可以引导安装于逻辑分区中的Linux /boot文件系统。毕竟我刚玩Linux时候还没普及GPT,Linux是整个安装在逻辑分区里面的,印象里当时也没用过什么trick就顺利启动起来了。
Reply View the author
avatar
Feng Yu
deepin
2019-06-18 07:35
#6
https://bbs.deepin.org/post/179424
我好像说得不太精确,严格来说,Windows Vista开始只是支持将系统安装在逻辑分区上,要能顺利引导,引导 ...

我专门开了个虚拟机,用Ubuntu的ISO镜像测试了一下,如果/boot不在主分区上,那个安装系统的按钮根本就不会亮。必须/boot在主分区上,那个按钮才会亮,才会继续进行下一步。

没装系统,还没测试去掉引导标记之后系统能不能启动。我的猜测是不行的。我记得当年学MBR的时候专门提到了这个boot flag
Reply View the author
avatar
funtoo
deepin
2019-06-18 07:37
#7
https://bbs.deepin.org/post/179424
我专门开了个虚拟机,用Ubuntu的ISO镜像测试了一下,如果/boot不在主分区上,那个安装系统的按钮根本就不 ...

同虚拟机测试,无主分区,只分了一个/和一个swap,都位于逻辑分区,顺利安装及引导。

Reply View the author
avatar
Feng Yu
deepin
2019-06-18 08:02
#8
https://bbs.deepin.org/post/179424
同虚拟机测试,无主分区,只分了一个/和一个swap,都位于逻辑分区,顺利安装及引导。

...

https://www.quora.com/What-is-th ... d-logical-partition

看了下quora的问答部分(需那啥你懂的),的确说的是只有主分区才能设置bootable(windows叫活动分区ACTIVE),才可以引导OS,放在逻辑分区上的OS不能启动。我也确实没记错,不知道Linux内核是怎么弄的,暂时没找到Linux kernel的说明,对于MBR分区是怎么说法的。
Reply View the author
avatar
funtoo
deepin
2019-06-18 08:25
#9
https://bbs.deepin.org/post/179424
https://www.quora.com/What-is-the-difference-between-Primary-and-logical-partition

看了下quora的 ...

跟内核无关,跟bootloader有关。
grub和bootmgr不同,grub是“分阶段”或者说“分区段”安装在硬盘的不同位置的。写入MBR部分的grub引导代码已经标记了可引导的分区位置,写入保留扇区部分的grub模块确保了/boot文件系统可被grub识别读取。
grub的引导也并不依赖活动分区或boot flag,只要能识别读取/boot文件系统就可以了。我试着开关扩展分区的boot flag,并不影响系统正常启动。
Reply View the author
avatar
pupupu
deepin
2019-06-19 01:48
#10
本帖最后由 pupupu 于 2019-6-18 18:00 编辑
https://bbs.deepin.org/post/179424
主分区可以标记为启动分区(至多一个),引导系统启动。也就是你的内核(/boot)必须放在主分区上。主分区最多 ...

efi分区是必要的吗,有一次重装deepin系统要求创建efi分区,之后几次重装都没有要求创建efi分区
Reply View the author
avatar
pupupu
deepin
2019-06-19 02:00
#11
https://bbs.deepin.org/post/179424
你如果对硬盘重建分区表(MSDOS)后,再创建分区,会默认主分区的,但如果你在扩展分区上创建分区,就只能 ...

重装几次,默认分区类型都是主分区,几天前我重装系统想试试全盘安装,昨天重装系统分区时,默认分区类型是逻辑分区
Reply View the author
avatar
Feng Yu
deepin
2019-06-19 02:08
#12
https://bbs.deepin.org/post/179424
efi分区是必要的吗,有一次重装deepin系统要求创建efi分区,之后几次重装都没有要求创建efi分区 ...

只有UEFI+GPT才需要efi分区,BIOS+MBR模式没有这个分区
Reply View the author
avatar
Feng Yu
deepin
2019-06-19 03:02
#13
https://bbs.deepin.org/post/179424
我的电脑同时支持UEFI引导和BIOS引导?

如果你的主板两种模式都支持,deepin或者其他Linux的安装器都会自动检测UEFI。你用UEFI方式引导U盘安装,在安装器选择自动分区并格式化安装,那么安装器会自动给你分一个EFI分区的。

否则如果你用的是MBR模式引导的U盘安装,安装器是不会检测到UEFI,也不会给你分一个EFI分区的。

如果你期望你的系统能同时支持UEFI和BIOS双引导,那么你应该选择UEFI模式引导U盘。因为UEFI+GPT模式是兼容BIOS+MBR了,但是反过来却不行。所以你在UEFI模式下装系统,安装器会自动帮你实现UEFI和BIOS双引导。否则你如果是在BIOS+MBR模式运行安装器,你必须手工做这些操作:
1. 手工创建GPT分区
2. 手工分EFI分区
3. 安装grub-efi这个包,手工安装grub的efi文件
Reply View the author
avatar
Feng Yu
deepin
2019-06-19 03:09
#14
https://bbs.deepin.org/post/179424
同时支持UEFI引导和BIOS引导

就是说无论你的主板设置的是UEFI模式还是BIOS模式都可以正常引导系统。也就是既有EFI文件引导,也有MBR引导。这个在理论上是可行的。实际你会发现deepin自带的U盘制作工具做出来的那个U盘就是既能在UEFI模式下引导,也能在MBR模式下引导。

我以前写过一篇blog,手工实现在技术上是完全可行的: https://my.oschina.net/abcfy2/blog/491140
Reply View the author
avatar
pupupu
deepin
2019-06-19 03:09
#15
https://bbs.deepin.org/post/179424
如果你的主板两种模式都支持,deepin或者其他Linux的安装器都会自动检测UEFI。你用UEFI方式引导U盘安装, ...

谢谢
Reply View the author