LINUX中的分区,格式化,挂载安全(上)
今天我给大家讲讲LINUX中的分区,格式化,挂载安全
在WINDOW里分区和格式化是分不开的,在LINUX中也是同样的。
LINUX中也是只能分为4个主分区。
现在我们来做个分区和格式化的例子
1,用fdisk -l 来看看我们的硬盘情况
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 208813+ 83 Linux
/dev/sda2 27 918 7164990 83 Linux
/dev/sda3 919 951 265072+ 82 Linux swap
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
Disk /dev/sdc: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdc doesn't contain a valid partition table
Disk /dev/sdd: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdd doesn't contain a valid partition table
可以看出来我们有4块硬盘。/dev/sda 已经分好区了
我们拿/dev/sdb 来做分区的实验。
2:fdisk /dev/sdb
出现
The number of cylinders for this disk is set to 1044.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help):
3:在Command (m for help): 输入m m(帮助)
出现
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
在这里我们说几个常用的参数:
d delete a partition(删除一个分区)
n add a new partition(添加一个分区)
p print the partition table(打印分区的情况)
t change a partition's system id(转换分区系统编号)
w write table to disk and exit(写入并且保存分区)
q quit without saving changes(退出但不保存)
l list known partition types(建立逻辑分区)
v verify the partition table(验证分区还剩多少磁盘没分)
3:输入 N 来建立一个主分区
出现
Command action
e extended
p primary partition (1-4)
选P的话是说明建立主分区,只能建立4个主分区; 选e 说明建立扩展分区。
4:输入 P
出现
Partition number (1-4):
这步让我们来添加分区的编号我们在这里输入1
5:Partition number (1-4):1 按回车
出现
First cylinder (1-1044, default 1):
这步是说名我的磁盘有1024个柱面,我们在这里面按回车默认。
出现Last cylinder or +size or +sizeM or +sizeK (1-1044, default 1044):
让我们在1-1024个柱面上来选择分区的大小,我们在这里面输入+1024m。
说明我分的区的大小为1个G
6:会出现
Command (m for help):
我们输入P 来看看分区的情况
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Blocks Id System
/dev/sdb1 1 125 1004031 83 Linux
我们看Start End
1 125
是说柱面从1 到 125 其大小为 1个G
我们接着输入N 用上面的方法来添加主分区,做好以后我们来做扩展分区
7 输入 N
出现
Command action
e extended
p primary partition (1-4)
我们选择e 出现Partition number (1-4):
在这里我们应该输入3 因为在上面我们已经输入了1和2
出现First cylinder (158-1044, default 158):
说明我们是从158柱面开始的按回车默认执行
出现Using default value 158
Last cylinder or +size or +sizeM or +sizeK (158-1044, default 1044):
我们在这里建立的是扩展分区。我们把剩下的硬盘空间给扩展分区。按回车
我们输入P 来察看一下分区的情况
出现Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 125 1004031 83 Linux
/dev/sdb2 126 157 257040 83 Linux
/dev/sdb3 158 1044 7124827+ 5 Extended
/dev/sdb3 158 1044 7124827+ 5 Extended 这就是我们
刚才建的扩展分区
因为扩展分区是不能用,我们还要建立逻辑分区
8 输入 N
出现
Command action
l logical (5 or over)
p primary partition (1-4)
刚才的e 现在变成l
9 输入l
出现First cylinder (158-1044, default 158):
按回车默认
出现Last cylinder or +size or +sizeM or +sizeK (158-1044, default 1044):
我们输入自己想要分的逻辑分区的大小在这里我们分+2048m
10 输入 p 来察看一下分区的情况
出现Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 125 1004031 83 Linux
/dev/sdb2 126 157 257040 83 Linux
/dev/sdb3 158 1044 7124827+ 5 Extended
/dev/sdb5 158 407 2008093+ 83 Linux
/dev/sdb5 158 407 2008093+ 83 Linux 这就是我们
刚才分的逻辑分区,为什么是/dev/sdb5 因为在分逻辑分区的时候是从5开始的
11输入 w
写入刚才对硬盘做分区的操作。
LINUX中的分区,格式化,挂载安全(中)
我们接着对文件系统做分区的编号
12 输入 t 来转化分区的编号
出现Partition number (1-5):
在这里我们做想要给那个分区做编号,在这里填写那个分区
我们在这里添写2
出现
Hex code (type L to list codes):
我们输入L 来看看什么编号对着什么样的文件系统类型
出现0 Empty 1c Hidden Win95 FA 70 DiskSecure Mult bb Boot Wizard hid
1 FAT12 1e Hidden Win95 FA 75 PC/IX be Solaris boot
2 XENIX root 24 NEC DOS 80 Old Minix c1 DRDOS/sec (FAT-
3 XENIX usr 39 Plan 9 81 Minix / old Lin c4 DRDOS/sec (FAT-
4 FAT16 <32M 3c PartitionMagic 82 Linux swap c6 DRDOS/sec (FAT-
5 Extended 40 Venix 80286 83 Linux c7 Syrinx
6 FAT16 41 PPC PReP Boot 84 OS/2 hidden C: da Non-FS data
7 HPFS/NTFS 42 SFS 85 Linux extended db CP/M / CTOS / .
8 AIX 4d QNX4.x 86 NTFS volume set de Dell Utility
9 AIX bootable 4e QNX4.x 2nd part 87 NTFS volume set df BootIt
a OS/2 Boot Manag 4f QNX4.x 3rd part 8e Linux LVM e1 DOS access
b Win95 FAT32 50 OnTrack DM 93 Amoeba e3 DOS R/O
c Win95 FAT32 (LB 51 OnTrack DM6 Aux 94 Amoeba BBT e4 SpeedStor
e Win95 FAT16 (LB 52 CP/M 9f BSD/OS eb BeOS fs
f Win95 Ext'd (LB 53 OnTrack DM6 Aux a0 IBM Thinkpad hi ee EFI GPT
10 OPUS 54 OnTrackDM6 a5 FreeBSD ef EFI (FAT-12/16/
11 Hidden FAT12 55 EZ-Drive a6 OpenBSD f0 Linux/PA-RISC b
12 Compaq diagnost 56 Golden Bow a7 NeXTSTEP f1 SpeedStor
14 Hidden FAT16 <3 5c Priam Edisk a8 Darwin UFS f4 SpeedStor
16 Hidden FAT16 61 SpeedStor a9 NetBSD f2 DOS secondary
17 Hidden HPFS/NTF 63 GNU HURD or Sys ab Darwin boot fd Linux raid auto
18 AST SmartSleep 64 Novell Netware b7 BSDI fs fe LANstep
1b Hidden Win95 FA 65 Novell Netware b8 BSDI swap ff BBT
13 我们要转化成LINUX SWAY 我们在Hex code (type L to list codes):
输入82 回车
输入 P 查看分区的情况
出现
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 125 1004031 83 Linux
/dev/sdb2 126 157 257040 82 Linux swap
/dev/sdb3 158 1044 7124827+ 5 Extended
/dev/sdb5 158 407 2008093+ 83 Linux
/dev/sdb2 126 157 257040 82 Linux swap 是我们
刚才转换的
14 我们输入t 来做一个WINDOWS的文件系统类型
输入 5 输入L 会看见c Win95 FAT32 (LB
我们接着输入c 输入p
出现
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 125 1004031 83 Linux
/dev/sdb2 126 157 257040 82 Linux swap
/dev/sdb3 158 1044 7124827+ 5 Extended
/dev/sdb5 158 407 2008093+ c Win95 FAT32 (LBA)
/dev/sdb5 158 407 2008093+ c Win95 FAT32 (LBA)
是我们刚才转换的。在这里可以识别WINDOWS的文件
15。输入d 是删除一个分区
出现Partition number (1-5):
在这里我们可以输入想要删除的分区的区号
16 输入w保存
17 我们来看看怎么格式化分区。建立好的分区不格式化是用不了的。
我们可以用以下的命令来格式化分区
mkfs.ext3 /dev/sdb1 (是说我把/dev/sdb1这个分区格式化成ext3的文件系统格式)
mkfs.ext2 /dev/sdb1 (是说我把/dev/sdb1这个分区格式化成ext2的文件系统格式)
mkfs.vfat /dev/sdb1 (是说我把/dev/sdb1这个分区格式化成vfat的文件系统格式)
18 LINUX SWAY 它不是真实的文件系统,所以它不能被读取,挂载。
然而它只能被内核认识,做内核的临时文件读取的。
在这里我们只能用
mkfs.swap /dev/sdb1 (初始化)
19 tune2fs -j /dev/sdb1 -j 是说我想把/dev/sdb1从ext2转换成ext3文件系统
注意:ext3不能转换成ext2文件系统。
我们可以用mount /dev/sdb1 /mnt 这个时间我们做的时候是ext2的系统类型
我们用df -T 来查看
然后我们用umount /mnt 来卸载它。
接着用tune2fs -j /dev/sdb1 把ext2转换成ext3文件系统
然后用mount /dev/sdb1 /mnt
我们再用df -T 来查看 会看见ext3啦~!
LINUX中的分区,格式化,挂载安全(下)
ount 的几种安全。我来给大家讲讲
1 mount /dev/sdb1 /mnt/d1 -o ro 说明挂载后往d1里是写不了数据的
例如:[root@yirehe /]# mount /dev/sdb1 /mnt/d1 -o ro
[root@yirehe /]# cd /mnt/d1
[root@yirehe d1]# ls
lost+found
[root@yirehe d1]# mkdir 1
mkdir: 无法创建目录‘1’: 只读文件系统
创建文件不让创建
2mount /dev/sdb1 /mnt/d1 -o noexec 说明 挂载后不能使用可执行文件
例如:[root@yirehe /]# mount /dev/sdb1 /mnt/d1 -o noexec
[root@yirehe /]# cd /mnt/d1
[root@yirehe d1]# ls
lost+found
[root@yirehe d1]# cp /bin/ls /mnt/d1
[root@yirehe d1]# ls
lost+found ls
[root@yirehe d1]# /mnt/d1/ls
-bash: /mnt/d1/ls: 权限不够
cp /bin/ls /mnt/d1 是把ls 可执行文件拷贝到/mnt/d1下
/mnt/d1/ls 是说我们来运行它
跟分区不能这样挂载。要不系统就启动不了啦。
3 mount /dev/sdb1 /mnt/d1 -o nodev
nodev是不许辨认设备文件。在移动设备和软盘里我们大家要是
禁用这个设备 ,如果软盘里放着dev 那么普通用户可以通过软盘里的
dev来访问实际的硬盘。
4 mount /dev/sdb1 /mnt/d1 -o nosuid,nosgid
33SUID SGID 默认是开启的 可执行文件和可执行程序。这样的程序是危险的。
执行者可以通过这获得程序的身份和权限。
通常明感的目录和公用的目录要使用nosuid,nosgid
5 mount /dev/sdb1 /mnt/d1 -o noatime
默认是更新节点的访问时间的。这样每访问一次就要更新一次。浪费资源
我们用noatime 来节省资源。
6 mount /dev/sdb1 /mnt/d1 -o nouser
不许普通用户挂载磁盘。但是上面这句话不能这么写。在这面只是方便给大家看
这nouser只能写进 /etc/fstab 里。
下面我给大家演示一下
vi /etc/fstab
出现
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/sda3 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 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/sda3 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
/dev/sdb1 /mnt/d1 ext3 noexec,nodev,nosuid,nosgi
d 0 0
这样就好了。要把defaults 去掉 添加上 noexec,nodev,nosuid,nosgid
当然这要看所挂载的要求是什么, 在这面的填写不是固定的。
在这里只是演示。
一定要添对,不然会挂载不上的。