首先需要基础知识:FROM 磁盘分区基础和LINUX上硬盘分区设备号解释

 

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

现在就开始讲讲分区,先明确一下概念:

主分区:一块物理硬盘上可以被独立使用的一部分,一个硬盘最多可以有4个主分区。
扩展分区:为了突破一个物理硬盘只能有4个分区的限制,引入了扩展分区。扩展分区和主分区的地位相当,但是扩展分区本身不能被直接使用,然而可以被继续划分成多个逻辑分区。
逻辑分区:逻辑分区可以有任意多个,但是不能独立存在,多个连续的逻辑分区可做为一个扩展分区。一个硬盘只能有一个扩展分区。
总结:也就是说,在一个物理硬盘上主分区和扩展分区加在一起最多仍然只有4个。但是扩展分区可以继续被划分成逻辑分区,而对多数用户而言,其实主分区和逻辑分区在使用上是没什么区别的。这样就达到了一快硬盘几乎可以有无限个分区的目的。

LINUX下分区实例分析:
现在电脑上有一个SCSI硬盘,这时查看设备
ls /dev
会发现有一个sda,如果是IDE硬盘,就是hda。

分区方案一:4个主分区
这时候能看到:sda,sda1,sda2,sda3,dsa4

分区方案二:一个主分区然后一个逻辑分区
这时候能看到:sda,sda1,sda2,sda5
这里sda是物理硬盘,sda1是主分区,sda2是扩展分区,sda5是逻辑分区(正是因为必须保留4个数字给主分区和扩展分区使用,所以逻辑分区的数字必须从5开始)。

分区方案三:一个逻辑分区
这里能看到:sda,sda1,sda5
见到这些数字不要害怕,这样一解释就很容易理解了。如果有多块物理硬盘就会出现sdb,sdc。

分区号1234按创建时间顺序分配,逻辑分区按从硬盘上分区位置分配

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

 

 

 

作者:Easiny

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

在我用的Ubuntu系统下,共有如下sda*

 

ubuntu@ubuntu-desktop:/media$ ll /dev |grep sda
brw-rw----  1 root   disk      8,   0 2009-12-19 01:32 sda               //硬盘
brw-rw----  1 root   disk      8,   1 2009-12-19 01:32 sda1            //主分区1      相当于Win下的C:
brw-rw----  1 root   disk      8,   2 2009-12-19 01:32 sda2            //扩展分区
brw-rw----  1 root   disk      8,   5 2009-12-19 03:29 sda5            //逻辑分区1  相当于Win下的D:
brw-rw----  1 root   disk      8,   6 2009-12-19 03:39 sda6           //逻辑分区2   相当于Win下的E:
brw-rw----  1 root   disk      8,   7 2009-12-19 01:33 sda7          //逻辑分区3  挂载点为 / 目录
brw-rw----  1 root   disk      8,   8 2009-12-19 01:32 sda8          //逻辑分区4  无挂载点 为 swap
ubuntu@ubuntu-desktop:/media$

 

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

ubuntu@ubuntu-desktop:/media$ fdisk -l
Cannot open /dev/sda
ubuntu@ubuntu-desktop:/media$ sudo fdisk -l   //查看sda的相关信息
sudo: unable to resolve host yuanming

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xbf8db35e

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        5099    40957686    c  W95 FAT32 (LBA)
/dev/sda2            5100       19457   115330635    f  W95 Ext'd (LBA)
/dev/sda5            5100       10198    40957686    7  HPFS/NTFS
/dev/sda6           10199       15297    40957686    7  HPFS/NTFS
/dev/sda7   *       15298       19157    31005418+  83  Linux
/dev/sda8           19158       19457     2409718+  82  Linux swap / Solaris

ubuntu@ubuntu-desktop:/media$

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

sda5 AND sda6

我是双系统,在Ubuntu下,有的时候会打不开 D盘和E盘 。所以只能手动挂载

 

ubuntu@ubuntu-desktop:/media/sda6$ sudo mount -t ntfs-3g  /dev/sda6 /media/sda6 -o force   //手动挂在E盘
sudo: unable to resolve host sin
$LogFile indicates unclean shutdown (0, 0)
WARNING: Forced mount, reset $LogFile.
ubuntu@ubuntu-desktop:/media/sda6$ ls
ubuntu@ubuntu-desktop:/media/sda6$ cd ..

ubuntu@ubuntu-desktop:/media$ ls
cdrom  cdrom0  disk  sda6  sin
ubuntu@ubuntu-desktop:/media$ df
文件系统           1K-块        已用     可用 已用% 挂载点
/dev/sda7             30518012   3923408  25044336  14% /
tmpfs                   516488         0    516488   0% /lib/init/rw
varrun                  516488       100    516388   1% /var/run
varlock                 516488         0    516488   0% /var/lock
udev                    516488      2740    513748   1% /dev
tmpfs                   516488       352    516136   1% /dev/shm
lrm                     516488      2204    514284   1% /lib/modules/2.6.27-14-generic/volatile
/dev/sda1             40947648  31237152   9710496  77% /media/disk
/dev/sda5             40957684  26918328  14039356  66% /media/sin  //事先已经手动挂载的 D盘
/dev/sda6             40957684  39082404   1875280  96% /media/sda6
ubuntu@ubuntu-desktop:/media$

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

ubuntu@ubuntu-desktop:/media$ cd sda6
ubuntu@ubuntu-desktop:/media/sda6$ ls   //显示E盘下的内容,说明挂载成功
ubuntu@ubuntu-desktop:/media/sda6$ cd ../sin

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

sda7 AND sda8

 

查看 /etc/fstab 相关信息

ubuntu@ubuntu-desktop:$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# /dev/sda7
UUID=e2fe617a-7404-4090-9449-a4360ac0c8ea    /                   ext3    relatime,errors=remount-ro 0       1
# /dev/sda8
UUID=051def70-70c8-46a5-ab50-ce2cf5b243f9    none             swap    sw              0       0

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

补充一个知识点:FROM fstab参数详解

 

fstab中存放了与分区有关的重要信息,其中每一行为一个分区记录,每一行又可分为六个部份,下面以/dev/hda7 / ext2 defaults 1 1为例逐个说明:

1. 第一项是您想要mount的储存装置的实际位置,如hdb或如上例的/dev/hda7。

2. 第二项就是您想要将其加入至哪个目录位置,如/home或如上例的/,这其实就是在安装时提示的挂入点。

3. 第三项就是所谓的local filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,或如上例的ext2,可以参见/prco/filesystems说明。

4. 第四项就是您mount时,所要设定的状态,如ro(只读)或如上例的defaults(包括了其它参数如rw、suid、exec、auto、nouser、async),可以参见「mount nfs」。

5. 第五项是提供DUMP功能,在系统DUMP时是否需要BACKUP的标志位,其内定值是0。

6. 第六项是设定此filesystem是否要在开机时做check的动作,除了root的filesystem其必要的check为1之外,其它皆可视需要设定,内定值是0。

LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hda11 swap swap defaults 0 0
/dev/hda5 /mnt/d vfat suid,exec,dev,rw,iocharset=gb2312,umask=0 0 0
/dev/hda6 /mnt/e vfat suid,exec,dev,rw,iocharset=gb2312,umask=0 0 0
/dev/hda7 /mnt/f vfat suid,exec,dev,rw,iocharset=gb2312,umask=0 0 0
/dev/hda8 /mnt/g vfat suid,exec,dev,rw,iocharset=gb2312,umask=0 0 0


其中iocharset可以设置成utf8
umask=0,任何用户都可以读windows的分区

Linux下的fstab文件
1. fstab文件的作用
文件/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过"mount /directoryname"命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。同时fsck、 mount、umount的等命令都利用该程序。

2. fstab文件格式
下面是/etc/fatab文件的一个示例行:
fs_spec fs_file fs_type fs_options fs_dump fs_pass
/dev/hda1 / ext2 defaults 1 1

fs_spec - 该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:IDE设备一般描述为/dev/hdaXN,X是IDE设备通道 (a, b, or c),N代表分区号;SCSI设备一描述为/dev/sdaXN。对于NFS情况,格式一般为:

,例如:`knuth.aeb.nl:/'。对于procfs,使用`proc'来定义。

fs_file - 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。

fs_type - 定义了该设备上的文件系统,一般常见的文件类型为ext2 (Linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、iso9600等。

codepage 国家语言代码页

iocharset 字符集

fs_options - 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用"defaults"就可以满足需要。其他常见的选项包括:
选项 含义
ro 以只读模式加载该文件系统
sync 不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是 却降低了计算机速度
user 允许普通用户加载该文件系统
quota 强制在该文件系统上进行磁盘定额限制
noauto 不再使用mount -a命令(例如系统启动时)加载该文件系统

fs_dump - 该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0

fs_pass - 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0


3. 示例文件
# /etc/fstab
/dev/hda8 swap swap defaults 0 0
/dev/hda9 / ext2 defaults 1 1
/dev/hda6 /wine vfat defaults,codepage=936,iocharset=cp936 0 0
/dev/hda7 /winf vfat defaults,codepage=936,iocharset=cp936 0 0
/dev/hdb /cdrom iso9660 noauto,user 0 0
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0

格式化常用mkfs命令:如 mkfs.ext3、mkfs.msdos、mkfs.vfat,例如:mkfs.ext3 /dev/hdb1,详细说明使用man mkfs。

 

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

 开头和结尾引用了网络的资料,中间为自己的理解,有错误的地方请指正。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐