我电脑双硬碟,一个硬碟装win10 x64,一个硬碟装Cent OS。原计划装win10的硬碟分一个分区出来做两个系统的数据共享分区,这里称为D盘吧,格式为FAT32,这样Linux也能读写。Cent OS是MBR安装。win10默认GPT安装,多了恢复、ESP、MSR三个分区,再加上装系统的C盘,共享的D盘,共有5个主分区。在LINUX下,这5个分区分别是sda1~sda5,D盘成了sda5,不能挂载,我猜想是linux只能读取4个主分区的原因。请教各位大神有什么解决方法?


「我猜想是linux只能读取4个主分区的原因。」你这猜想也太搞笑了……

你与其在这胡思乱想,不如去看看挂载失败后输出什么错误信息。难道你碰到问题都是这样胡思乱想,而不是搜集线索客观分析吗?你是直接用mount命令挂载的还是在图形界面滑鼠点击要挂载的文件系统挂载的?失败时输出什么错误信息给你,dmesg有没有告诉你什么?提供有用的线索,别人好帮你分析原因,难道都靠猜么


1、GPT 分区表没有主分区这个说法,主分区只存在于 MSDOS 分区表上(也就是你的那个 MBR 引导模式)。

2、你都不说怎么不能挂载。自己这么确定错误原因了,那干嘛不直接给 CentOS 发 bug 报告?

3、这年头居然还有人用 FAT32 ,还认为这样可以让 Win/Lin 共享数据……

我就一个问题,这是哪个忽悠写的教程?


两个硬碟,一个mbr一个gpt

主分区是对于mbr分区表来说的,

既然那个盘都gpt的分区表格式了,对linux来说也不存在这个盘主分区的情况啊,直接挂载就可以了,

另外fdisk好像管理不了大于2t的磁碟

挂载报错还是怎么了?


信息太少,只能揣测一下:D盘不是fat32文件系统,而是exfat,或者ntfs。

建议看看错误提示信息,然后安装相应的软体以便正确识别你的D盘


既然都用gpt装win了,为什么还要用mbr装Linux呢,这样在BIOS里设置UEFI only那么Linux就挂了呀。

读一下报错信息,百度啊,Google啊,xx翻译都是很有用的。还有,你在Windows的机器上装的双系统,想必是桌面版,可能有自动挂载,如果自动挂载了,再手动挂载肯定报错。

关于fat32,没必要,Linux有补丁可以读写ntfs分区。


4个分区是因为你用的是mbr分区表,把分区表改gpt就好了


centOS 是一般是做伺服器 。绝对不可能只能挂载4个分区。

对Linux用户来说无论有几个分区,都得分给目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。Linux中每个分区都是用来组成整个文件系统的一部分,因为它采用了一种叫「挂载点」的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区就在linux的存储空间的某个目录下获得。

对于IDE硬碟,驱动器标识符为「hdx1」,其中「hd」表明分区所在设备的类型,这里是指IDE硬碟了。「x」为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),「1」代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬碟上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬碟上的第二个主分区或扩展分区。对于SCSI硬碟则标识为「sdx1」,SCSI硬碟是用「sd」来表示分区所在设备的类型的,其余则和IDE硬碟的表示方法一样。上面可以看到,Linux的分区是不同于其它操作系统分区的,它的分区格式常用的有Ext3和Swap两种,Ext3用于存放系统文件,Swap则作为Linux的交换分区(相当于windows中的虚拟内存文件)。那么现在我们就可以知道Linux至少需要两个专门的分区(Linux Native(本地)和Linux Swap(交换))。由于不能将Linux安装在Dos/Windows分区。一般来说我们将Linux安装一个或多个类型为「Linux Native」的硬碟分区,但是在Linux的每一个分区都必须要指定一个「Mount Point」(挂载点),告诉Linux在启动时,这个目录要给哪个分区使用。对「Swap」分区来说, 一般也定义一个,且它不必要定义载入点。下面我们先对「Linux Native」和「Linux Swap」有个初步的了解。SWAP分区是LINUX暂时存储数据的交换分区,它主要是把主内存上暂时不用得数据存起来,在需要的时候再调进内存内,且作为SWAP使用的分区不用指定「Mout Point」(载入点),既然它作为交换分区,我们理所当然应给它指定大小,它至少要等于系统上实际内存的量,一般来说它的大小是内存的一至两倍。另外你也可以创建和使用一个以上的交换分区,最多16个。

Linux Native是存放系统文件的地方,一般用EXT4的分区类型,对Linux来说,有了较大的选择余地,可以把系统文件分几个区来装(必须要说明挂载点),也可以就装在同一个分区中(挂载点是「/」)。

为什么要自定义多个分区a. 在不损失数据的情况下重装系统,比如独立设置/home挂载点,重装系统的时候直接标记回/home,数据不会有任何损失。b. 针对不同挂载点的特性分配合适的文件系统以合理发挥性能,比如对/var使用reiserfs,对/home使用xfs,对/使用ext4。c. 针对不同的挂载点开启不同的挂载选项,如是否需要即时同步,是否开启日志,是否启用压缩。d. 大硬碟搜索范围大,效率低e. 磁碟配额只能对分区做设定f. /home、/var、/usr/local 经常是单独分区,因为经常会操作,容易产生碎片常见的挂载点:

常见的挂载目录说明

/ 根目录,存放系统命令和用户数据等(如果下面挂载点没有单独的分区,它们都将在根目录的分区中)/boot boot loader 的静态链接文件,存放与Linux启动相关的程序/home 用户目录,存放普通用户的数据/tmp 临时文件/usr 是Linux系统存放软体的地方,如有可能应将最大空间分给它/usr/local 自已安装程序安装在此/var 不断变化的数据,伺服器的一些服务、日志放在下面/opt (Option可选的)附加的应用程序软体包/bin 基本命令执行文

/dev 设备文件

/etc 主机特定的系统配置/lib 基本共享库以及内核模块/media 用于移动介质的挂载点/mnt 用于临时挂载文件系统或者别的硬体设备(如光碟机、软碟机)/proc 系统信息的虚拟目录(2.4 和 2.6 内核),这些信息是在内存中,由系统自己产生的/root root 用户的目录/sbin 基本系统命令执行文件/sys 系统信息的虚拟目录(2.6 内核)/srv 系统提供的用于 service 的数据

/usr/X1186 X-Windows目录,存放一些X-Windows的配置文件

/usr/include 系统头文件,存储一些C语言的头文件/usr/src Linux内核源代码,Linux系统所安装的内核源代码都保存在此/usr/bin 对/bin目录的一些补充/usr/sbin 对/sbin目录的一些补充/lost+found 这个目录在大多数情况下都是空的。但是如果你正在工作突然停电,或是没有用正常方式关机,在你重新启动机器的时候,有些文件就会找不到应该存放的地方,对于这些文件,系统将他们放在这个目录下 为什么 linux 的分区需要有挂载这个动作呢因为linux 下一切皆文件!换句说法就是linux操作系统将系统中的一切都作为文件来管理。在windows中我们常见的硬体设备(印表机、网卡、音效卡...)、磁碟分区等,在linux中统统都被视作文件,对设备、分区的访问就是读写对应的文件。
  1. 永久挂载:开机自动挂载需要修改/etc/fstab

LABEL=/data /data ext3 defaults 1 2 修改为: /dev/sda3 /data ext3 defaults 1 2

PS:fstab 是文件系统分配表的配置文件,该文件有著严格的语法格式限制,类似 crontab 一样,保存时也会对你的输入格式进行校验,请慎重使用,否则会有意想不到的问题发生。其一共有 6 个栏位,空格分隔

a. 挂载点必须是一个目录b. 一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。对于其他操作系统建立的文件系统的挂载也是这样,卸载后,目录以前的文件都还在,不会有任何丢失c. 目录只占磁碟里的一个inode,存放文件属性等信息d. 任何一个分区都必须挂载到某个目录上e. 目录是逻辑上的区分。分区是物理上的区分f. 磁碟Linux分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作g. 根目录是所有Linux的文件和目录所在的地方,需要挂载上一个磁碟分区h. 一个分区可以挂在多个目录,但反过来一个目录只能是一个分区的挂载点


推荐阅读:
相关文章