文件系统
磁盘设备的使用有三个步骤,
第一创建新分区,第二指定文件系统,第三进行挂载。
没有文件系统的设备被称为裸设备
创建文件系统的过程叫做格式化
常见的文件系统fat32,ntfs,是windows所使用的。ext2,ext3,ext4是linux推荐的文件系统。
不同文件系统支持的分区大小,单个文件大小,日志功能有区别,尤其是性能方面。
llinux不同版本支持的文件系统不同。
即使不支持,通过安装驱动也可以读取。
mke2fs可以用来创建文件系统。
fsck可以用来检查文件系统是否损坏,也可以用来恢复文件。
注意,检查前必须讲该磁盘进行卸载。默认情况下,fsck可以默认自动检测文件系统,如果损坏严重,最好手动指定文件系统。每一个格式化的磁盘都会有一个lost found文件夹,用于存储恢复但是找不到位置的文件。
创建新分区和创建文件系统后,不能直接使用,必须进行挂载操作。
例子:
mount /dev/sda4 /mnt
两个参数分别是要挂载的磁盘分区(设备),和要挂载的地方
直接输入mount命令,显示已经挂载文件系统
我的显示如下
/dev/sda6 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=gdl)
/dev/sda1 on /media/gdl/CE3C2D083C2CED61 type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sda2 on /media/gdl/新加卷 type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sda3 on /media/gdl/新加卷1 type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sdb2 on /media/gdl/OS X Install ESD type hfsplus (rw,nosuid,nodev,uhelper=udisks2)
上面可以看到,sda6被直接挂载到根目录,这和我们在系统如何启动中学到的指示相同。mount可以指定挂载的文件系统,也可以指定挂载的方式。
df -h可以查看当前挂载的文件系统。
其中第一排是文件系统的名称。
磁盘管理
fdisk命令是linux应用最广泛的分区工具,即使在u盘版的救援模式的linux的都包含该工具。但是只能在MBR的分区机制上使用。
所有fdisk命令必须在root权限下执行,由于新安装的ubuntu没有设置root账户,应该先sudo passwd root进行设置。
fdisk -l 显示磁盘分区的信息
下面是我计算机的分区信息
root@gdl-System-Product-Name:/dev# fdisk -l
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = 扇区 of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x2f7feb50
设备 启动 起点 终点 块数 Id 系统
/dev/sda1 * 63 538511192 269255565 7 HPFS/NTFS/exFAT
分区 1 未起始于物理扇区边界。
/dev/sda2 538511360 1075382271 268435456 7 HPFS/NTFS/exFAT
/dev/sda3 1075382272 1513654271 219136000 7 HPFS/NTFS/exFAT
/dev/sda4 1513656318 1953523711 219933697 f W95 扩展 (LBA)
分区 4 未起始于物理扇区边界。
/dev/sda5 1513656320 1748721663 117532672 7 HPFS/NTFS/exFAT
/dev/sda6 1748723712 1936859135 94067712 83 Linux
我们逐行对上述信息进行解释:
块设备名称为/dev/sda,此设备的大小为1000.2GB,10737418240 bytes这是转换成字节后的大小,即:1000204886016/1024/1024/1024=931.51GB (注:bytes=B,表示“字节”,bit=b,表示“位”)
255个磁头,每个轨道上有63个扇区,一共有121601个柱面,我们可以计算得出,一共有25563121601=1953520065个扇区。
当然不可能有实际的255个磁头,这里的磁头是逻辑磁头。,也就是可以看做有255个盘面。扇区数=磁头数柱面数(扇区/轨道)。而磁盘的实际大小为扇区数*每扇区字节数,为512字节。
在显示中,系统是ID的解释内容,标识分区内容。起点和终点常见的是柱面号码。
可以用fdisk来修改分区表。