Skip to content

Commit

Permalink
add 2 articles about disk management
Browse files Browse the repository at this point in the history
  • Loading branch information
snowme34 committed Jan 2, 2019
1 parent 3736bcc commit aeae2ca
Show file tree
Hide file tree
Showing 3 changed files with 145 additions and 0 deletions.
2 changes: 2 additions & 0 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ The organization of this site is as following:

reference/unix/unix-permissions
reference/unix/unix-user-and-group
reference/unix/disk-basic
reference/unix/disk-unix-disk-management
reference/unix/unix-file-system
reference/unix/mount-and-unmount
reference/unix/unix-network-config
Expand Down
55 changes: 55 additions & 0 deletions docs/source/reference/unix/disk-basics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Disk Basics

## Hard Disk Drive

* cylinder
* the tracks of disk platters that has same diameter
* a 3d structure looks like a cylinder without top and bottom
* sector
* the sectors of disk patters
* looks like a cut cake
* head
* basic read/write device

## Solid-State Drive

Flash

## Partition

Creating some logical regions on a drive to manage it.

The partition information is stored in a partition table.

### MBR (Master Boot Record)

[MBR - Wikipedia](https://en.wikipedia.org/wiki/Master_boot_record)

The traditional partition table that can be applied to most PCs that use BIOS.

* supports 32bit and 64bit systems
* supports limited number of (primary) partitions
* cannot (officially) support drives larger than 2T due to the way it addresses space

See the tables in wikipedia for the details about structures.

#### MBR Partitions

* Primary partitions
* at most 4
* Extended partitions
* uses "space" of a primary partition
* Logical partitions
* created in extended partitions
* does not count as a primary partition, can have more than 4

### GPT (GUID Partition Table)

[GPT - Wikipedia](https://en.wikipedia.org/wiki/GUID_Partition_Table)

A partition table for UEFI devices (instead of BIOS)

* supports drives larger than 2T
* limited backward compatibility (for MBR)

Read the table in wikipedia about "Operating-system support"
88 changes: 88 additions & 0 deletions docs/source/reference/unix/unix-disk-management.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Unix Disk Management

Partitions

## Config File

`/proc/partitions`

## Tools

[Partitioning Tools - ArchWiki](https://wiki.archlinux.org/index.php/Partitioning#Partitioning_tools)

```bash
man fdisk # MBR
man gdisk # GPT
man parted # both
```

Use `GParted` if you like GUI.

### `fdisk`

A partition tool, focus on MBR

```bash
fdisk -l # list
fdisk /dev/sda1 # enter interactive interface
```

In the interactive interface

```bash
m # help
n # new partition
p # print partition table
t # change type
w # write to disk, all operations before 'w' are stored in memory only
# fdisk gives detailed explanations
```

ID is use to label the types.

```
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 or 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 ea Rufus alignment
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs
f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT
10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/
11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC b
12 Compaq diagnost 5c Priam Edisk a9 NetBSD f1 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f4 SpeedStor
16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ f2 DOS secondary
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fc VMware VMKCORE
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fd Linux raid auto
1c Hidden W95 FAT3 75 PC/IX bc Acronis FAT32 L fe LANstep
1e Hidden W95 FAT1 80 Old Minix be Solaris boot ff BBT
Command (m for help):
```

Common MBR partition schema:

* 1 primary partition
* 1 extended partition
* some logical partitions
* set the primary partition bootable

## After Partitioning

`partprobe`

seems to be a program to notify the kernel about partition changes.

Also create file systems.

0 comments on commit aeae2ca

Please sign in to comment.