一个磁盘,要想能正常使用,需要经过3个步骤:
创建分区表
创建文件系统
挂载文件系统
有两种主要的分区表MBR和GPT。
Master Boot Record (MBR) disks use the standard BIOS partition table. GUID Partition Table (GPT) disks use Unified Extensible Firmware Interface (UEFI). One advantage of GPT disks is that you can have more than four partitions on each disk. GPT is also required for disks larger than two terabytes (TB).
使用fdisk工具管理分区表:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | $ sudo fdisk /dev/sdc Welcome to fdisk (util-linux 2.27.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): m Help: Generic d delete a partition F list free unpartitioned space l list known partition types n add a new partition p print the partition table t change a partition type v verify the partition table i print information about a partition Misc m print this menu x extra functionality (experts only) Script I load disk layout from sfdisk script file O dump disk layout to sfdisk script file Save & Exit w write table to disk and exit q quit without saving changes Create a new label g create a new empty GPT partition table G create a new empty SGI (IRIX) partition table o create a new empty DOS partition table s create a new empty Sun partition table |
使用g创建GPT分区表,使用o创建DOS分区表,使用n创建新的分区。
partition type是分区的类型,在fdisk中使用l命令,列出所有的分区类型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | Command (m for help): l 1 EFI System C12A7328-F81F-11D2-BA4B-00A0C93EC93B 2 MBR partition scheme 024DEE41-33E7-11D3-9D69-0008C781F39F 3 Intel Fast Flash D3BFE2DE-3DAF-11DF-BA40-E3A556D89593 4 BIOS boot 21686148-6449-6E6F-744E-656564454649 5 Sony boot partition F4019732-066E-4E12-8273-346C5641494F 6 Lenovo boot partition BFBFAFE7-A34F-448A-9A5B-6213EB736C22 7 PowerPC PReP boot 9E1A2D38-C612-4316-AA26-8B49521E5A8B 8 ONIE boot 7412F7D5-A156-4B13-81DC-867174929325 9 ONIE config D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149 10 Microsoft reserved E3C9E316-0B5C-4DB8-817D-F92DF00215AE 11 Microsoft basic data EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 12 Microsoft LDM metadata 5808C8AA-7E8F-42E0-85D2-E1E90434CFB3 13 Microsoft LDM data AF9B60A0-1431-4F62-BC68-3311714A69AD 14 Windows recovery environment DE94BBA4-06D1-4D40-A16A-BFD50179D6AC 15 IBM General Parallel Fs 37AFFC90-EF7D-4E96-91C3-2D7AE055B174 16 Microsoft Storage Spaces E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D 17 HP-UX data 75894C1E-3AEB-11D3-B7C1-7B03A0000000 18 HP-UX service E2A1E728-32E3-11D6-A682-7B03A0000000 19 Linux swap 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F 20 Linux filesystem 0FC63DAF-8483-4772-8E79-3D69D8477DE4 21 Linux server data 3B8F8425-20E0-4F3B-907F-1A25A76F98E8 22 Linux root (x86) 44479540-F297-41B2-9AF7-D131D5F0458A 23 Linux root (ARM) 69DAD710-2CE4-4E3C-B16C-21A1D49ABED3 24 Linux root (x86-64) 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709 25 Linux root (ARM-64) B921B045-1DF0-41C3-AF44-4C6F280D3FAE 26 Linux reserved 8DA63339-0007-60C0-C436-083AC8230908 27 Linux home 933AC7E1-2EB4-4F13-B844-0E14E2AEF915 28 Linux RAID A19D880F-05FC-4D3B-A006-743F0F84911E 29 Linux extended boot BC13C2FF-59E6-4262-A352-B275FD6F7172 30 Linux LVM E6D6D379-F507-44C2-A23C-238F2A3DF928 31 FreeBSD data 516E7CB4-6ECF-11D6-8FF8-00022D09712B 32 FreeBSD boot 83BD6B9D-7F41-11DC-BE0B-001560B84F0F 33 FreeBSD swap 516E7CB5-6ECF-11D6-8FF8-00022D09712B 34 FreeBSD UFS 516E7CB6-6ECF-11D6-8FF8-00022D09712B 35 FreeBSD ZFS 516E7CBA-6ECF-11D6-8FF8-00022D09712B 36 FreeBSD Vinum 516E7CB8-6ECF-11D6-8FF8-00022D09712B 37 Apple HFS/HFS+ 48465300-0000-11AA-AA11-00306543ECAC 38 Apple UFS 55465300-0000-11AA-AA11-00306543ECAC 39 Apple RAID 52414944-0000-11AA-AA11-00306543ECAC 40 Apple RAID offline 52414944-5F4F-11AA-AA11-00306543ECAC 41 Apple boot 426F6F74-0000-11AA-AA11-00306543ECAC 42 Apple label 4C616265-6C00-11AA-AA11-00306543ECAC 43 Apple TV recovery 5265636F-7665-11AA-AA11-00306543ECAC 44 Apple Core storage 53746F72-6167-11AA-AA11-00306543ECAC 45 Solaris boot 6A82CB45-1DD2-11B2-99A6-080020736631 46 Solaris root 6A85CF4D-1DD2-11B2-99A6-080020736631 47 Solaris /usr & Apple ZFS 6A898CC3-1DD2-11B2-99A6-080020736631 48 Solaris swap 6A87C46F-1DD2-11B2-99A6-080020736631 49 Solaris backup 6A8B642B-1DD2-11B2-99A6-080020736631 50 Solaris /var 6A8EF2E9-1DD2-11B2-99A6-080020736631 51 Solaris /home 6A90BA39-1DD2-11B2-99A6-080020736631 52 Solaris alternate sector 6A9283A5-1DD2-11B2-99A6-080020736631 53 Solaris reserved 1 6A945A3B-1DD2-11B2-99A6-080020736631 54 Solaris reserved 2 6A9630D1-1DD2-11B2-99A6-080020736631 55 Solaris reserved 3 6A980767-1DD2-11B2-99A6-080020736631 56 Solaris reserved 4 6A96237F-1DD2-11B2-99A6-080020736631 57 Solaris reserved 5 6A8D2AC7-1DD2-11B2-99A6-080020736631 58 NetBSD swap 49F48D32-B10E-11DC-B99B-0019D1879648 59 NetBSD FFS 49F48D5A-B10E-11DC-B99B-0019D1879648 60 NetBSD LFS 49F48D82-B10E-11DC-B99B-0019D1879648 61 NetBSD concatenated 2DB519C4-B10E-11DC-B99B-0019D1879648 62 NetBSD encrypted 2DB519EC-B10E-11DC-B99B-0019D1879648 63 NetBSD RAID 49F48DAA-B10E-11DC-B99B-0019D1879648 64 ChromeOS kernel FE3A2A5D-4F32-41A7-B725-ACCC3285A309 65 ChromeOS root fs 3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC 66 ChromeOS reserved 2E0A753D-9E48-43B0-8337-B15192CB1B5E 67 MidnightBSD data 85D5E45A-237C-11E1-B4B3-E89A8F7FC3A7 68 MidnightBSD boot 85D5E45E-237C-11E1-B4B3-E89A8F7FC3A7 69 MidnightBSD swap 85D5E45B-237C-11E1-B4B3-E89A8F7FC3A7 70 MidnightBSD UFS 0394EF8B-237E-11E1-B4B3-E89A8F7FC3A7 71 MidnightBSD ZFS 85D5E45D-237C-11E1-B4B3-E89A8F7FC3A7 72 MidnightBSD Vinum 85D5E45C-237C-11E1-B4B3-E89A8F7FC3A7 73 Ceph Journal 45B0969E-9B03-4F30-B4C6-B4B80CEFF106 74 Ceph Encrypted Journal 45B0969E-9B03-4F30-B4C6-5EC00CEFF106 75 Ceph OSD 4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D 76 Ceph crypt OSD 4FBD7E29-9D25-41B8-AFD0-5EC00CEFF05D 77 Ceph disk in creation 89C57F98-2FE5-4DC0-89C1-F3AD0CEFF2BE 78 Ceph crypt disk in creation 89C57F98-2FE5-4DC0-89C1-5EC00CEFF2BE 79 OpenBSD data 824CC7A0-36A8-11E3-890A-952519AD3F61 80 QNX6 file system CEF5A9AD-73BC-4601-89F3-CDEEEEE321A1 81 Plan 9 partition C91818F9-8025-47AF-89D2-F030D7000C2C |
在linux中,我们使用20 Linux Filesystem分区类型。
使用fdisk创建分区后,/dev下将显示分区的设备:
1 2 | $ ls /dev/sdc* /dev/sdc /dev/sdc1 |
如上/dev/sdc是磁盘的设备文件,sdc1是分区1的设备文件。
分区上建立文件系统,来管理文件,使用mkfs.ext4来创建文件系统:
1 | $ sudo mkfs.ext4 /dev/sdc1 |
注意 partion type 和 filesystem type的区别。
创建文件系统后,可以挂载到一个挂载点。
1 | sudo mount -t ext4 /dev/sdc1 /work2 |
要想在开机的时候,自动挂载,给/etc/fstab添加一行:
1 | UUID=03a6666b-b88e-402a-88db-2975aa855e05 /work2 ext4 defaults 0 2 |
其中UUID而不使用/dev/sdc1,是避免添加删除磁盘导致编号变动。
使用blkid来查看磁盘的UUID
1 2 3 4 5 6 7 8 9 10 | $ sudo blkid -p /dev/sdc1 /dev/sdc1: UUID="03a6666b-b88e-402a-88db-2975aa855e05" VERSION="1.0" TYPE="ext4" USAGE="filesystem" PART_ENTRY_SCHEME="gpt" PART_ENTRY_UUID="117bd91e-b3b2-4fa4-8e07-ab848e9d7269" PART_ENTRY_TYPE="0fc63daf-8483-4772-8e79-3d69d8477de4" PART_ENTRY_NUMBER="1" PART_ENTRY_OFFSET="2048" PART_ENTRY_SIZE="976771087" PART_ENTRY_DISK="8:32" |