Linux分区问题汇总

CSDN的排版真是烂到家了,真心不好,所有的制表符都被自动删除了,非常影响阅读

博文如有错误请指正,不胜感激

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

目录

  •  Linux各目录作用(准备知识)
  •  Linux分区的误区
  •  挂载点、分区、文件目录的关系(以windows与Linux对比)
  •  桌面环境使用的系统如何分区?(新手的一般分区方案
  •  分区基本知识
  •  使用fdisk进行分区
  •  使用mnt命令进行挂载
  •  启动自动挂载

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

各目录作用(仅列出需要考虑分区的目录)

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

/boot    内核和在启动系统过程中所要用到的文件
/usr    主要程序、 图形接口所需要的档案、额外的函式库、自行安装的软件,以及共享的目录与文件等等
/home   用户家目录
/var/log系统日志
/tmp存放应用程序临时文件
/bin系统实用程序
/dev存放设备文件
/opt存放可安装的软件
/sbin系统管理程序文件
/swap分区够用就行
系统分区

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

系统分区的误区

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

/var/log(一般教程说越大越好)存放系统日志服务器才用的到,而且新手即使在系统崩溃后也无法看懂日志内容,所以不必单独分区,或说分区给予空间不必太大。

/boot分区100MB因为lilo问题

/swap分区没有必要是内存的两倍,这个真心没必要,那些教程都是老的,是在以前内存不太大的时候建议这样分区,但现在如果你内存有4G,难道你要为虚拟内存分8G吗?根据实际情况,够用就行。

SATA硬盘不存在主从盘问题,主从盘的跳线设置是在以IDE为接口使用两块硬盘出现的情况,所以你的硬盘是STAT接口的时候,不必担心主从盘问题。

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

挂载点、分区、文件目录的关系(以windowsLinux对比,请对比阅读)

---------------------------------------------------------------------------------------------
Linux通过挂载使系统能够访问分区内的资源,挂载点可以是任何目录,如:/,/usr,/home/user1,而且挂载点(即所挂载的目录)及其挂载点之后的子文件子文件夹都存在在所挂载的分区例:把/dev/sda2挂载到/home/user下,那么/home/user/*都存在在第一块硬盘的第二分区上(即分区/dev/sda2)。

windows也通过挂载是系统的能够访问分区内的资源,只不过windows是自动挂载(分区完成后重启系统就挂载上了)挂载点不是任意目录,只能是C,D,E等分区号,即只能挂载在C:\上,而不可挂载在C:\music\上。

总结:简单的说既是windows的目录和分区是关联的,可以理解为C:\就是分区,是挂载点,也是目录。Linux中分区与目录是相互独立的,Linux的分区可以挂载到任意的目录上,该目录就是挂载点。
------------------------------以下为从网上找的资料,帮助理解----------------------------------------------------------------
    Windows的文件结构是多个并列的树状结构,最顶部的是不同的磁盘(分区),如:C,D,E,F等。Linux的文件结构是单个的树状结构。最顶部的为根目录,即/。在根目录下,分为多个子目录


    对习惯于使用dos或windows的用户来说,有几个分区就有几个驱动器,并且每个分区都会获得一个字母标识符,然后就可以选用这个字母来指定在这个分区上的文件和目录,它们的文件结构都是独立的,非常好理解。但对这些初上手 red hat linux的用户,可就有点恼人了。因为对red hat linux用户来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。red hat linux中每个分区都是用来组成整个文件系统的一部分,因为它采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。


    Windows中,盘符既用于表示硬件(硬盘上的分区),又用于表示系统中的路径。而Linux中,硬件就是硬件,路径就是路径,不会混淆在一起,简单直接!

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

新手的一般分区方案(假设有100G的空间,2G的内存空间)

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

最简单方法

挂载点大小说明

/10G一般教程都建议5G,若文件没有属于自己的分区,则都在根分区下,所以不能太小

/swap1G~2G

/home剩余全部

麻烦点的

/10G

/swap1G~2G

/usr10G用于装各种软件

/home剩余全部也可以剩余一部分用于创建分区时的练习^_^

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

分区基本知识

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

  • 硬盘属性名词
sector扇区,cylinder柱面,head磁头
  • IDE接口识别为hd开头,SATA、SCSI、USB接口识别为sd开头
  • /dev/sda  /dev/sda1  /dev/sda2   a表示第几块硬盘,1和2表示第几分区
  • 分区有两种形式:MBR与GTP。

MBR传统分区机制:

  • 是应用大多数BIOS的PC设备
  • MBR支持32bit与64bit系统
  • 分区数量有限
  • MBR最大支持不超过2T硬盘
  • 占用硬盘开头512字节

446引导代码

16

16

16

16

55AA可启动标识

GTP较新分区机制:

  • 支持超过2T磁盘
  • 向后兼容MBR(必须支持UEFI)
  • UEFI:可以看做BIOS(基本输入输出)的升级
  • 必须使用64bit系统

分区是一种软件分区,以MBR为例,分区只是在MBR中(即硬盘头512字节)写入分区信息。

55AA是可启动标识,制作U盘启动盘最重要的就是在MBR写入55AA,表示可启动。

前446的引导代码引导硬盘读取操作系统的启动程序(即init)。

中间每16字节的空间用于记录分区,记录分区从哪个扇区到哪个扇区。如果是扩展分区则记录逻辑分区所在位置,引导系统读取逻辑分区内容。

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

使用fdisk进行磁盘分区

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

基于MBR的分区工具

root才能使用

fdisk

-l显示已有分区

'磁盘名'

n新分区

分区类型

p主分区——起始柱面————结束柱面

e扩展分区——起始柱面————结束柱面

l逻辑分区——起始柱面————结束柱面

p列出分区号

w保存分区号

t分区号

L列出分区类型

w写入并保存

有时系统不能读取新建的分区,使用partprobe命令可更新。

 

例:

[root@linux-brids /]# fdisk -l

 

Disk /dev/sda: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0002b1cf

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1         262     2097152   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2             262        1567    10485760   83   Linux

/dev/sda3            1567        2089     4194304   83   Linux

/dev/sda4            2089        2611     4193280    5   Extended

/dev/sda5            2090        2220     1048576   83   Linux

/dev/sda6            2220        2285      524288   82   Linux swap / Solaris

#分区号              起始柱面    结束柱       容量     分区类型  分区类型解释 

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

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

为分区创建文件系统(格式化)

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

基础知识

  • 直接分区好的分区是不能用的
  •  文件系统:操作系统通过文件系统进行文件和数据的管理
  • 创建文件系统又名格式化
  • 常见文件系统:

fat32NTFSext2/ext3/ext4xfsHFSiso9660

Windows下是fat32和NTFS,现在一般使用NTFS

Linux下一般使用ext系列,现在一般用ext4

文件系统间区别:日志,分区大小,单个文件大小,性能

进行分区

mke2fs

-t '系统类型' 磁盘分区

-b 'blocksize' 块大小,4k

-c 检查坏块

-L label 指定卷标

语法:mke2fs -L 'lable name' /dev/sdb*

-j 建立文件系统日志,ext3ext4默认拥有系统日志

例:

[root@linux-brids ~]# mke2fs -t ext4 /dev/sdb1

mke2fs 1.41.12 (17-May-2010)

文件系统标签=

操作系统:Linux

块大小=4096 (log=2)

分块大小=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

262944 inodes, 1050241 blocks

52512 blocks (5.00%) reserved for the super user

第一个数据块=0

Maximum filesystem blocks=1077936128

33 block groups

32768 blocks per group, 32768 fragments per group

7968 inodes per group

Superblock backups stored on blocks: 

32768, 98304, 163840, 229376, 294912, 819200, 884736

 

正在写入inode表: 完成                            

Creating journal (32768 blocks): 完成

Writing superblocks and filesystem accounting information: 完成

 

This filesystem will be automatically checked every 33 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

 

dumpe2fs '查看分区信息'

带日志的文件系统:两阶段提交

操作前把具体操作内容写入日志

文件系统进行操作

操作成功后,删除日志

通过查询日志进行恢复操作

但丧失性能

 

给系统打标签

e2label

'系统分区' 显示标签

'系统分区' 写入标签

fsck:检查并修复损坏的文件系统

fsck '磁盘分区'(必须先卸载)

-y 不提示直接修复

系统启动时默认会对磁盘进行fsck检查磁盘

 

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

文件系统进行挂载与卸载

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

  • 创建文件系统后还是不能用,还需要挂载文件系统
  • 所有系统都有挂载:Linux,Mac在创建后都会自动挂载
  • 挂载到任何地方都可以,建议挂载到/mnt/
  • 如果要挂载两个或两个以上的分区,可在/mnt/目录下建立新文件夹,供不同分区挂载

mount(挂载)

 显示已挂载的分区(不加参数)

'所要挂载的分区' '挂载点'

-t指定文件系统类型

-o指定挂载选项

ro,rw只读与读写形式挂载

sync,async不使用(使用)缓存

remount重新挂载分区

umount(卸载)

'文件系统or挂载点'

如果该系统正在使用时,无法挂载

fuser -m /mnt查看文件系统使用进程

lsof /mnt查看正在被使用的文件

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

自动挂载

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

使用mount挂载只是临时挂载,当系统重新启动后,需重新挂载

/etc/fstab:自动挂载配置文件

挂载方式:

设备名:sda1,sdb2

卷标:LABLE='lablename'

UUID

*****************************************************************

UUID=20d82899-3ce5-41ce-bd17-03203a8a34ee /                       ext4    defaults        1 1

UUID=88f14719-46b0-4c23-9395-6587c0cd37aa /boot                   ext4    defaults        1 2

UUID=875b9dd3-6219-4280-a0f8-4efb6bf2a9ce /home                   ext4    defaults        1 2

UUID=5ecfde00-d38f-467c-a8d5-e474098c32c5 /other                  ext4    defaults        1 2

UUID=0d6dffa4-b4df-490c-a30d-aafdfa4d44c4 swap                    swap    defaults        0 0

 

tmpfs                   /dev/shm               tmpfs    defaults         0 0

devpts                  /dev/pts                devpts   gid=5,mode=620  0 0

sysfs                    /sys                    sysfs    defaults        0 0

proc                    /proc                   proc     defaults        0 0

12 345 6

1设备名,卷标或UUID

2挂载点

3分区文件系统

4文件系统参数:async/sync(异步/同步);auto/noauto(自动/不自动);rw/ro(可写/只读);

5备份命令:1是备份2是不备份

6fsck检验分区:1是校验0是不要校验

实例:为文件系统为ext4的/dev/sdb2分区设置自动挂载,挂载到目录/home/user2下。

步骤:

1. 进入root用户

2. vim /etc/fstab

3. 在里面加入:

/dev/sdb2 /home/user2 ext4 sync,auto,rw 0 0

4. :wq保存退出,重启即可自动挂载


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值