2021-05-12 14:32:11
Linux基礎教學學習筆記24——磁碟、分割區和檔案系統管理
Linux基礎教學學習筆記24——磁碟、分割區和檔案系統管理
一、MBR主開機記錄
MBR有512個位元組,分為三個部分:第一部分446個位元組,儲存了引導分割區;第二部分64位元組為分割區表;第三部分2個位元組結束符;
每個分割區需16個位元組,所以MBR的模式下只能劃分4個主分割區或3個主分割區和擴充套件分割區;主分割區可以直接使用,擴充套件分割區不能直接使用,在擴充套件分割區上劃分邏輯分割區再使用;
[root@linuxidc ~]# cat /proc/partitions
major minor #blocks name
2 0 4 fd0
8 0 20971520 sda
8 1 512000 sda1
8 2 20458496 sda2
11 0 3655680 sr0
253 0 18358272 dm-0
253 1 2097152 dm-1
二、GPT
GPT可以記錄128個主分割區;
三、使用命令管理磁碟分割區
1、fdisk命令
使用fdisk劃分磁碟,預設會劃分為MBR格式的磁碟:
fdisk -l 檢視當前的磁碟和分割區情況:
[root@linuxidc ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xac4a9d92.
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 刪除分割區
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
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 退出並儲存,然後使用partprobe或partx /dev/sdX重新整理
x extra functionality (experts only)
新增分割區:
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-10485759, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759): +1G
Partition 1 of type Linux and of size 1 GiB is set
Command (m for help): p
Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xac4a9d92
Device Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
只能劃分四個主分割區,如果要劃分多餘四個分割區,則需要在第四個分割區建立擴充套件分割區,在擴充套件分割區上建立邏輯分割區:
Device Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4196351 1048576 83 Linux
/dev/sdb3 4196352 6293503 1048576 83 Linux
/dev/sdb4 6293504 10485759 2096128 5 Extended
/dev/sdb5 6295552 6500351 102400 83 Linux
有*標識代表的是啟動分割區:
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 41943039 20458496 8e Linux LVM
分割區型別,使用t命令可以修改分割區的型別:
Command (m for help): l
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx
5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data
6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility
8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt
9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access
a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b
11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary
16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT
1e Hidden W95 FAT1 80 Old Minix
2、gdisk命令
使用gdisk劃分磁碟,預設劃分為GPT格式的磁碟
[root@linuxidc ~]# gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.6
Partition table scan:
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-10485726, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-10485726, default = 10485726) or {+-}size{KMGTP}: +1G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8e00
Changed type of partition to 'Linux LVM'
Command (? for help): p
Disk /dev/sdb: 10485760 sectors, 5.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): DFDD30F8-C2A3-45BE-95B0-37A2CABBCF89
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 10485726
Partitions will be aligned on 2048-sector boundaries
Total free space is 8388541 sectors (4.0 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 2099199 1024.0 MiB 8E00 Linux LVM
3、parted命令:可以自行選擇劃分格式
parted命令可以將MBR結構修改為GPT結構,但是要慎重,因為分割區表會丟失:
[root@linuxidc ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help
align-check TYPE N check partition N for TYPE(min|opt) alignment
help [COMMAND] print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkpart PART-TYPE [FS-TYPE] START END make a partition
name NUMBER NAME name partition NUMBER as NAME
print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a
particular partition
quit exit program
rescue START END rescue a lost partition near START and END
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
disk_set FLAG STATE change the FLAG on selected device
disk_toggle [FLAG] toggle the state of FLAG on selected device
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version display the version number and copyright information of GNU Parted
使用mklabel轉換分割區型別:
(parted) mklabel
New disk label type?
aix amiga bsd dvh gpt loop mac msdos pc98 sun
New disk label type? gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
4、使用mkfs給分割區設定檔案系統:
[root@linuxidc ~]# mkfs -t xfs /dev/sdb1
meta-data=/dev/sdb1 isize=256 agcount=4, agsize=6400 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=25600, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=853, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
指定block size大小:
12345678910 [root@linuxidc ~]# mkfs.xfs -b size=1024 /dev/sdb2
meta-data=/dev/sdb2 isize=256 agcount=4, agsize=25600 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=1024 blocks=102400, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=1024 blocks=2564, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
掛載分割區到檔案系統:
[root@linuxidc ~]# mkdir /aa
[root@linuxidc ~]# mount /dev/sdb1 /aa
[root@linuxidc ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 12G 5.8G 68% /
devtmpfs 485M 0 485M 0% /dev
tmpfs 494M 84K 494M 1% /dev/shm
tmpfs 494M 7.1M 487M 2% /run
tmpfs 494M 0 494M 0% /sys/fs/cgroup
/dev/sda1 497M 120M 377M 25% /boot
/dev/sdb1 97M 5.2M 92M 6% /aa
可以使用xfs_info檢視檔案系統資訊:
[root@linuxidc ~]# xfs_info /aa
meta-data=/dev/sdb1 isize=256 agcount=4, agsize=6400 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=25600, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=853, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
使用xfs_admin檢視分割區的blkid:
[root@linuxidc ~]# xfs_admin -u /dev/sdb1
UUID = 927317a3-92b9-4b6f-8696-30fe0dc26ac0
也可以使用blkid檢視:
[root@linuxidc ~]# blkid
/dev/sda1: UUID="64d32c15-8708-44a2-893a-a437c0f43156" TYPE="xfs"
/dev/sda2: UUID="4Ice1U-52dB-jxhY-80pW-vWus-rv1n-MVBJQ5" TYPE="LVM2_member"
/dev/sdb1: UUID="927317a3-92b9-4b6f-8696-30fe0dc26ac0" TYPE="xfs" PARTLABEL="Linux filesystem" PARTUUID="2e1d4a03-14f5-4611-9267-c6b89e502dc9"
/dev/sdb2: UUID="102aa312-7b59-49fe-a924-520e20ef7a51" TYPE="xfs" PARTLABEL="Linux filesystem" PARTUUID="0c755c32-4c27-404d-9faa-fd86d4370b0e"
/dev/sr0: UUID="2014-05-07-03-58-46-00" LABEL="RHEL-7.0 Server.x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/rhel-root: UUID="6e18526c-e4fa-4854-adcd-d2e463a53bf9" TYPE="xfs"
/dev/mapper/rhel-swap: UUID="b4476c9f-7681-48d8-8cba-3904f4ebce61" TYPE="swap"
一個分割區如果不格式的話,沒有檔案系統那麼就不會有UUID:
可以使用xfs_admin -U修改分割區的UUID:
[root@linuxidc ~]# uuidgen
292e2919-11fa-4f1c-8006-4a506095d377
[root@linuxidc ~]# xfs_admin -U 292e2919-11fa-4f1c-8006-4a506095d377 /dev/sdb2
Clearing log and setting UUID
writing all SBs
new UUID = 292e2919-11fa-4f1c-8006-4a506095d377
xfs檔案系統大小可以增加,但是不能減少
Swap交換分割區,類似於Windows的虛擬記憶體:
就是利用磁碟裡面的一部分空間,來模擬記憶體:
1、使用分割區;
2、建立檔案;
檢視Swap分割區:
[root@linuxidc ~]# cat /proc/swaps
FilenameTypeSizeUsedPriority
/dev/dm-1 partition20971484620-1
使用mkswap命令修改分割區為swap檔案系統:
使用Swapon 和 Swapoff 啟用或關閉swap分割區:
建立檔案作為swap分割區:
[root@linuxidc ~]# #dd if=/dev/zero of=swapfile bs=1M count=200
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-03/115523.htm
相關文章