【Linux】分区与格式化

Linux分区主要是使用fdisk,格式化使用mkfs。

 

查看所有磁盘和分区: fdisk -l

 

操作某个磁盘

进入某个磁盘操作模式: fdisk /dev/sdb

输入m会出现命令类表,简洁而强大

Command (m for help): m

 

Command action

   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)

 

输入p查看当前sd卡的分区(partition)信息

Command (m for help): p

 

Disk /dev/sdb: 7948 MB, 7948206080 bytes

245 heads, 62 sectors/track, 1021 cylinders, total 15523840 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 identifier: 0x00000000

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1   *        2048     1048576      523264+   c  W95 FAT32 (LBA)

/dev/sdb2         1048577    15523839     7237631+  83  Linux

其中,需要记住的是他的容量7948206080 bytes之后会用到。

同时也留意他的heads和setcors/track

 

删除分区

输入d删除(delete)所有sd卡分区。因为有2个分区,需要删除2次

 

Command (m for help): d

Partition number (1-4): 1

Command (m for help): d

Selected partition 2

 

建立扇区

如果SD卡不是255 heads, 63 sectors/track,按照以下步骤建立扇区

 

输入x进入扩展命令列表

Command (m for help): x

Expert command (m for help):

输入n显示扩展命令列表

Command action

   b   move beginning of data in a partition

   c   change number of cylinders

   d   print the raw data in the partition table

   e   list extended partitions

   f   fix partition order

   g   create an IRIX (SGI) partition table

   h   change number of heads

   i   change the disk identifier

   m   print this menu

   p   print the partition table

   q   quit without saving changes

   r   return to main menu

   s   change number of sectors/track

   v   verify the partition table

   w   write table to disk and exit

 

输入h设置heads = 255

Expert command (m for help): h

Number of heads (1-256, default 245): 255

 

输入s设置sectors/track = 63

Expert command (m for help): s

Number of sectors (1-63, default 62): 63

 

输入c设置cylinder = 966

Expert command (m for help): c

Number of cylinders (1-1048576, default 1021): 966

 

cylinder计算方法

cylinder = SD卡容量(bytes) / heads / sectors / 512(bytes)

cylinder = 7948206080 / 255 /63 / 512 = 966.3 = 966

 

输入r返回(return)普通命令

Expert command (m for help): r

Command (m for help):

输入p再次查看当前sd卡的分区信息。

此时你会看到heads, sectors/track, cylinder都已经更新了

Command (m for help): p

Disk /dev/sdb: 7948 MB, 7948206080 bytes

255 heads, 63 sectors/track, 966 cylinders, total 15523840 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 identifier: 0x00000000

Device Boot      Start         End      Blocks   Id  System

 

建立分区

输入n新建(new)一个分区

输入p选择新建一个主分区

输入1创建分区1

输入分区1的‘First sector’和‘Last sector’

 

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): 1

First sector (2048-15523839, default 2048): 2048

Last sector, +sectors or +size{K,M,G} (2048-15523839, default 15523839):

Using default value 15523839

 

输入t改变分区系统ID,

一般windows的用,则输入分区类型码cFAT32,
而linux的为默认的分区类型码83EXT3

Command (m for help): t

Selected partition 1

Hex code (type L to list codes): c

Changed system type of partition 1 to c (W95 FAT32 (LBA))

 

输入a激活分区的bootable标志

Command (m for help): a

Partition number (1-4): 1

 

输入w将建立完成对分区表写入sd卡,并退出

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.

Syncing disks.

 

格式化分区

windows的分区格式化命令(其中LABEL为卷标)

sudo mkfs.msdos -F32 /dev/sdb1 -n LABEl1

 

linux的分区格式化命令

sudo mkfs.ext3 /dev/sdb2 -L LABEL2

 

完成

需要注意的是,有时需要在Windows再次格式化第一个引导分区LABEL1才能成功引导Linux。(不要使用快速格式化)

posted on 2017-04-14 11:02  Beatfan  阅读(74)  评论(0)    收藏  举报

导航